Re: [i2c] i2c module aliases

From: Greg KH
Date: Thu Jun 07 2007 - 12:03:10 EST


On Thu, Jun 07, 2007 at 05:53:42PM +0200, Jean Delvare wrote:
> Hi Geert,
>
> On Wed, 6 Jun 2007 23:32:38 +0200 (CEST), Geert Uytterhoeven wrote:
> > >From browsing through file2alias.c, I have the impression there's a
> > missing TO_NATIVE() conversion in the handling of 16-bit (hence,
> > endian-affected) i2c IDs.
> > This will cause the module aliases to be incorrect when cross-compiling
> > for a system with a different endianness. Is that correct?
> > If yes, the patch below adds the missing conversion.
> >
> > Of course, no driver seems to use `MODULE_DEVICE_TABLE(i2c, ...)' yet,
> > hence nobody noticed.
> >
> > Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
> >
> > --- a/scripts/mod/file2alias.c
> > +++ b/scripts/mod/file2alias.c
> > @@ -390,6 +390,7 @@ static int do_vio_entry(const char *file
> >
> > static int do_i2c_entry(const char *filename, struct i2c_device_id *i2c, char *alias)
> > {
> > + i2c->id = TO_NATIVE(i2c->id);
> > strcpy(alias, "i2c:");
> > ADD(alias, "id", 1, i2c->id);
> > return 1;
> >
>
> Looks correct. However I am curious what this "i2c->id" is supposed to
> represent, given that I2C devices do not have any form of ID as PCI or
> USB devices have. No driver uses "MODULE_DEVICE_TABLE(i2c, ...)"
> probably just because it doesn't make sense. So, rather than fixing
> this, shouldn't we simply wipe out struct i2c_device_id? Greg, David?

If no one is using it, then yes, it should be removed.

Sorry, I added it a while ago thinking it was going to be used (I had
test patches using it in my tree, but they never worked out in the end.)

thanks,

greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/