linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* i2c module aliases
@ 2007-06-06 21:32 Geert Uytterhoeven
  2007-06-07 15:53 ` [i2c] " Jean Delvare
  0 siblings, 1 reply; 8+ messages in thread
From: Geert Uytterhoeven @ 2007-06-06 21:32 UTC (permalink / raw)
  To: i2c; +Cc: Linux Kernel Development

>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@linux-m68k.org>

--- 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;

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [i2c] i2c module aliases
  2007-06-06 21:32 i2c module aliases Geert Uytterhoeven
@ 2007-06-07 15:53 ` Jean Delvare
  2007-06-07 16:02   ` Greg KH
  0 siblings, 1 reply; 8+ messages in thread
From: Jean Delvare @ 2007-06-07 15:53 UTC (permalink / raw)
  To: Geert Uytterhoeven; +Cc: i2c, Linux Kernel Development, Greg KH, David Brownell

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@linux-m68k.org>
> 
> --- 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?

-- 
Jean Delvare

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [i2c] i2c module aliases
  2007-06-07 15:53 ` [i2c] " Jean Delvare
@ 2007-06-07 16:02   ` Greg KH
  2007-06-08 13:35     ` Jean Delvare
  0 siblings, 1 reply; 8+ messages in thread
From: Greg KH @ 2007-06-07 16:02 UTC (permalink / raw)
  To: Jean Delvare
  Cc: Geert Uytterhoeven, i2c, Linux Kernel Development, David Brownell

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@linux-m68k.org>
> > 
> > --- 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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [i2c] i2c module aliases
  2007-06-07 16:02   ` Greg KH
@ 2007-06-08 13:35     ` Jean Delvare
  2007-06-08 14:48       ` Geert Uytterhoeven
  0 siblings, 1 reply; 8+ messages in thread
From: Jean Delvare @ 2007-06-08 13:35 UTC (permalink / raw)
  To: Greg KH, Geert Uytterhoeven; +Cc: i2c, Linux Kernel Development, David Brownell

On Thu, 7 Jun 2007 09:02:14 -0700, Greg KH wrote:
> On Thu, Jun 07, 2007 at 05:53:42PM +0200, Jean Delvare wrote:
> > 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.)

OK. Geert, care to submit a new patch removing struct i2c_device_id
altogether?

Thanks,
-- 
Jean Delvare

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [i2c] i2c module aliases
  2007-06-08 13:35     ` Jean Delvare
@ 2007-06-08 14:48       ` Geert Uytterhoeven
  2007-06-09 10:52         ` Jean Delvare
  0 siblings, 1 reply; 8+ messages in thread
From: Geert Uytterhoeven @ 2007-06-08 14:48 UTC (permalink / raw)
  To: Jean Delvare; +Cc: Greg KH, i2c, Linux Kernel Development, David Brownell

On Fri, 8 Jun 2007, Jean Delvare wrote:
> On Thu, 7 Jun 2007 09:02:14 -0700, Greg KH wrote:
> > On Thu, Jun 07, 2007 at 05:53:42PM +0200, Jean Delvare wrote:
> > > 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.)
> 
> OK. Geert, care to submit a new patch removing struct i2c_device_id
> altogether?

Sorry, probably not...

I just thought I found a grave bug while looking into adding zorro
support to scripts/mod/file2alias.c, so that's why I reported it.

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [i2c] i2c module aliases
  2007-06-08 14:48       ` Geert Uytterhoeven
@ 2007-06-09 10:52         ` Jean Delvare
  2007-06-14 19:14           ` Greg KH
  0 siblings, 1 reply; 8+ messages in thread
From: Jean Delvare @ 2007-06-09 10:52 UTC (permalink / raw)
  To: Geert Uytterhoeven; +Cc: Greg KH, i2c, Linux Kernel Development, David Brownell

On Fri, 8 Jun 2007 16:48:45 +0200 (CEST), Geert Uytterhoeven wrote:
> On Fri, 8 Jun 2007, Jean Delvare wrote:
> > OK. Geert, care to submit a new patch removing struct i2c_device_id
> > altogether?
> 
> Sorry, probably not...
> 
> I just thought I found a grave bug while looking into adding zorro
> support to scripts/mod/file2alias.c, so that's why I reported it.

OK, no problem. I gave it a try myself. Greg, is it OK or did I miss
other parts which can be removed?

* * * * *

Subject: i2c: Kill struct i2c_device_id

I2C devices do not have any form of ID as PCI or USB devices have.
No driver uses "MODULE_DEVICE_TABLE(i2c, ...)" because it doesn't
make sense. So we can get rid of struct i2c_device_id and the
associated support code.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Greg KH <greg@kroah.com>
---
 include/linux/mod_devicetable.h |    5 -----
 scripts/mod/file2alias.c        |   11 -----------
 2 files changed, 16 deletions(-)

--- linux-2.6.22-rc4.orig/include/linux/mod_devicetable.h	2007-05-13 10:01:23.000000000 +0200
+++ linux-2.6.22-rc4/include/linux/mod_devicetable.h	2007-06-08 19:08:29.000000000 +0200
@@ -255,11 +255,6 @@ struct pcmcia_device_id {
 #define PCMCIA_DEV_ID_MATCH_FAKE_CIS	0x0200
 #define PCMCIA_DEV_ID_MATCH_ANONYMOUS	0x0400
 
-/* I2C */
-struct i2c_device_id {
-	__u16 id;
-};
-
 /* Input */
 #define INPUT_DEVICE_ID_EV_MAX		0x1f
 #define INPUT_DEVICE_ID_KEY_MIN_INTERESTING	0x71
--- linux-2.6.22-rc4.orig/scripts/mod/file2alias.c	2007-06-08 18:56:36.000000000 +0200
+++ linux-2.6.22-rc4/scripts/mod/file2alias.c	2007-06-08 19:14:18.000000000 +0200
@@ -388,13 +388,6 @@ static int do_vio_entry(const char *file
 	return 1;
 }
 
-static int do_i2c_entry(const char *filename, struct i2c_device_id *i2c, char *alias)
-{
-	strcpy(alias, "i2c:");
-	ADD(alias, "id", 1, i2c->id);
-	return 1;
-}
-
 #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
 
 static void do_input(char *alias,
@@ -571,10 +564,6 @@ void handle_moddevtable(struct module *m
 		do_table(symval, sym->st_size,
 			 sizeof(struct vio_device_id), "vio",
 			 do_vio_entry, mod);
-	else if (sym_is(symname, "__mod_i2c_device_table"))
-		do_table(symval, sym->st_size,
-			 sizeof(struct i2c_device_id), "i2c",
-			 do_i2c_entry, mod);
 	else if (sym_is(symname, "__mod_input_device_table"))
 		do_table(symval, sym->st_size,
 			 sizeof(struct input_device_id), "input",



-- 
Jean Delvare

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [i2c] i2c module aliases
  2007-06-09 10:52         ` Jean Delvare
@ 2007-06-14 19:14           ` Greg KH
  2007-06-15 17:52             ` Jean Delvare
  0 siblings, 1 reply; 8+ messages in thread
From: Greg KH @ 2007-06-14 19:14 UTC (permalink / raw)
  To: Jean Delvare
  Cc: Geert Uytterhoeven, i2c, Linux Kernel Development, David Brownell

On Sat, Jun 09, 2007 at 12:52:21PM +0200, Jean Delvare wrote:
> On Fri, 8 Jun 2007 16:48:45 +0200 (CEST), Geert Uytterhoeven wrote:
> > On Fri, 8 Jun 2007, Jean Delvare wrote:
> > > OK. Geert, care to submit a new patch removing struct i2c_device_id
> > > altogether?
> > 
> > Sorry, probably not...
> > 
> > I just thought I found a grave bug while looking into adding zorro
> > support to scripts/mod/file2alias.c, so that's why I reported it.
> 
> OK, no problem. I gave it a try myself. Greg, is it OK or did I miss
> other parts which can be removed?

Looks good to me.  Want me to take this through my tree or through
yours?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [i2c] i2c module aliases
  2007-06-14 19:14           ` Greg KH
@ 2007-06-15 17:52             ` Jean Delvare
  0 siblings, 0 replies; 8+ messages in thread
From: Jean Delvare @ 2007-06-15 17:52 UTC (permalink / raw)
  To: Greg KH; +Cc: Geert Uytterhoeven, i2c, Linux Kernel Development, David Brownell

On Thu, 14 Jun 2007 12:14:24 -0700, Greg KH wrote:
> On Sat, Jun 09, 2007 at 12:52:21PM +0200, Jean Delvare wrote:
> > OK, no problem. I gave it a try myself. Greg, is it OK or did I miss
> > other parts which can be removed?
> 
> Looks good to me.  Want me to take this through my tree or through
> yours?

It's already in my i2c tree.

Thanks,
-- 
Jean Delvare

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2007-06-15 17:52 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-06-06 21:32 i2c module aliases Geert Uytterhoeven
2007-06-07 15:53 ` [i2c] " Jean Delvare
2007-06-07 16:02   ` Greg KH
2007-06-08 13:35     ` Jean Delvare
2007-06-08 14:48       ` Geert Uytterhoeven
2007-06-09 10:52         ` Jean Delvare
2007-06-14 19:14           ` Greg KH
2007-06-15 17:52             ` Jean Delvare

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).