From: Brad H. <bh...@bi...> - 2002-07-07 07:01:37
Attachments:
iforce-compile.patch
|
The iforce code in 2.5.25 won't compile unless both USB and RS232 versions are built into the kernel. This patch fixes the two issues: 1. IFORCE_232 and IFORCE_USB are used in iforce-packet.c without testing if they exist. 2. IFORCE_232 needs to be defined when the Config.in option is set as a module or when built into the kernel. Same for IFORCE_USB. Brad -- http://conf.linux.org.au. 22-25Jan2003. Perth, Australia. Birds in Black. |
From: Johann D. <jo...@do...> - 2002-07-07 09:15:30
|
On Sun, 7 Jul 2002, Brad Hards wrote: > The iforce code in 2.5.25 won't compile unless both USB and RS232 versions are > built into the kernel. Indeed. A user reported that bug this week, and I fixed it in the version for 2.4.18. I have yet to include the fix in linuxconsole CVS. > > This patch fixes the two issues: > 1. IFORCE_232 and IFORCE_USB are used in iforce-packet.c without testing if > they exist. Those symbols were both used as "enums" for bus types and as configuration options. Now IFORCE_{232,USB} is used for the bus type only, and CONFIG_JOYSTICK_IFORCE_{232,USB}. > 2. IFORCE_232 needs to be defined when the Config.in option is set as a module > or when built into the kernel. Same for IFORCE_USB. The Config.in option can only be set to "y" or "n". iforce.o is a multi-part driver, and the choice for RS232 in Config.in just tells if iforce-serio.o should be included in iforce.o. Another option decides whether iforce.o should be a module or not. > > Brad > > -- Johann Deneux |
From: Brad H. <bh...@bi...> - 2002-07-07 09:20:06
|
On Sun, 7 Jul 2002 19:15, Johann Deneux wrote: > On Sun, 7 Jul 2002, Brad Hards wrote: > > The iforce code in 2.5.25 won't compile unless both USB and RS232 > > versions are built into the kernel. > > Indeed. A user reported that bug this week, and I fixed it in the version > for 2.4.18. I have yet to include the fix in linuxconsole CVS. Can you send to Linus for 2.5.25? > > This patch fixes the two issues: > > 1. IFORCE_232 and IFORCE_USB are used in iforce-packet.c without testing > > if they exist. > > Those symbols were both used as "enums" for bus types and as configuration > options. Now IFORCE_{232,USB} is used for the bus type only, and > CONFIG_JOYSTICK_IFORCE_{232,USB}. This sentence looks incomplete - I'm not following it. > > 2. IFORCE_232 needs to be defined when the Config.in option is set as a > > module or when built into the kernel. Same for IFORCE_USB. > > The Config.in option can only be set to "y" or "n". iforce.o is a > multi-part driver, and the choice for RS232 in Config.in just tells if > iforce-serio.o should be included in iforce.o. Another option decides > whether iforce.o should be a module or not. That is _not_ how the Config.in looks in 2.5.25. dep_tristate ' I-Force USB joysticks and wheels' CONFIG_JOYSTICK_IFORCE_USB $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_USB dep_tristate ' I-Force Serial joysticks and wheels' CONFIG_JOYSTICK_IFORCE_232 $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_SERIO Brad BTW: Your email address is bouncing me, again. -- http://conf.linux.org.au. 22-25Jan2003. Perth, Australia. Birds in Black. |
From: Johann D. <joh...@la...> - 2002-07-07 10:03:35
|
Brad Hards wrote: > On Sun, 7 Jul 2002 19:15, Johann Deneux wrote: > >>On Sun, 7 Jul 2002, Brad Hards wrote: >> >>>The iforce code in 2.5.25 won't compile unless both USB and RS232 >>>versions are built into the kernel. >>> >>Indeed. A user reported that bug this week, and I fixed it in the version >>for 2.4.18. I have yet to include the fix in linuxconsole CVS. >> > Can you send to Linus for 2.5.25? > Ok, I will. > >>>This patch fixes the two issues: >>>1. IFORCE_232 and IFORCE_USB are used in iforce-packet.c without testing >>>if they exist. >>> >>Those symbols were both used as "enums" for bus types and as configuration >>options. Now IFORCE_{232,USB} is used for the bus type only, and >>CONFIG_JOYSTICK_IFORCE_{232,USB}. >> > This sentence looks incomplete - I'm not following it. > It is indeed incomplete. The missing part is "for configuration-dependent code". > >>>2. IFORCE_232 needs to be defined when the Config.in option is set as a >>>module or when built into the kernel. Same for IFORCE_USB. >>> >>The Config.in option can only be set to "y" or "n". iforce.o is a >>multi-part driver, and the choice for RS232 in Config.in just tells if >>iforce-serio.o should be included in iforce.o. Another option decides >>whether iforce.o should be a module or not. >> > That is _not_ how the Config.in looks in 2.5.25. > Indeed. I obviously forgot to update the CVS. Working on it. > dep_tristate ' I-Force USB joysticks and wheels' CONFIG_JOYSTICK_IFORCE_USB > $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_USB > dep_tristate ' I-Force Serial joysticks and wheels' > CONFIG_JOYSTICK_IFORCE_232 $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_SERIO > > Brad > > BTW: Your email address is bouncing me, again. > Again ??? Well you can use joh...@it... (this address does not have the somewhat strict spam filter). I will tell my sysadmins anyway. > -- Johann Deneux |
From: Johann D. <joh...@la...> - 2002-07-07 10:29:40
|
Johann Deneux wrote: > Brad Hards wrote: > >> On Sun, 7 Jul 2002 19:15, Johann Deneux wrote: >> >>> On Sun, 7 Jul 2002, Brad Hards wrote: >>> >>>> The iforce code in 2.5.25 won't compile unless both USB and RS232 >>>> versions are built into the kernel. >>>> >>> Indeed. A user reported that bug this week, and I fixed it in the >>> version >>> for 2.4.18. I have yet to include the fix in linuxconsole CVS. >>> >> Can you send to Linus for 2.5.25? >> > > Ok, I will. > >> >>>> This patch fixes the two issues: >>>> 1. IFORCE_232 and IFORCE_USB are used in iforce-packet.c without >>>> testing >>>> if they exist. >>>> >>> Those symbols were both used as "enums" for bus types and as >>> configuration >>> options. Now IFORCE_{232,USB} is used for the bus type only, and >>> CONFIG_JOYSTICK_IFORCE_{232,USB}. >>> >> This sentence looks incomplete - I'm not following it. > > > It is indeed incomplete. The missing part is "for > configuration-dependent code". > >> >>>> 2. IFORCE_232 needs to be defined when the Config.in option is set as a >>>> module or when built into the kernel. Same for IFORCE_USB. >>>> >>> The Config.in option can only be set to "y" or "n". iforce.o is a >>> multi-part driver, and the choice for RS232 in Config.in just tells if >>> iforce-serio.o should be included in iforce.o. Another option decides >>> whether iforce.o should be a module or not. >>> >> That is _not_ how the Config.in looks in 2.5.25. >> > > Indeed. I obviously forgot to update the CVS. Working on it. > No, I did not. drivers/input/joystick/Config.in differs in 2.5.25 and linuxconsole CVS. These lines should be replaced by include iforce/config.in Is that intentional ? >> dep_tristate ' I-Force USB joysticks and wheels' >> CONFIG_JOYSTICK_IFORCE_USB $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK >> $CONFIG_USB >> dep_tristate ' I-Force Serial joysticks and wheels' >> CONFIG_JOYSTICK_IFORCE_232 $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK >> $CONFIG_SERIO >> >> Brad >> -- Johann Deneux |
From: Brad H. <bh...@bi...> - 2002-07-07 11:35:21
|
On Sun, 7 Jul 2002 19:10, Johann Deneux wrote: > >>Those symbols were both used as "enums" for bus types and as > >> configuration options. Now IFORCE_{232,USB} is used for the bus type > >> only, and CONFIG_JOYSTICK_IFORCE_{232,USB}. > > > > This sentence looks incomplete - I'm not following it. > > It is indeed incomplete. The missing part is "for > configuration-dependent code". So you used a construct like: case IFORCE_USB: #ifdef CONFIG_JOYSTICK_IFORCE_USB iforce->cr.bRequest = packet[0]; <random snippage> #else printk(KERN_ERR "iforce_get_id_packet: iforce->bus = USB!\n"); #endif break; -- http://conf.linux.org.au. 22-25Jan2003. Perth, Australia. Birds in Black. |
From: Johann D. <joh...@la...> - 2002-07-07 18:01:34
|
Brad Hards wrote: > On Sun, 7 Jul 2002 19:10, Johann Deneux wrote: > >>>>Those symbols were both used as "enums" for bus types and as >>>>configuration options. Now IFORCE_{232,USB} is used for the bus type >>>>only, and CONFIG_JOYSTICK_IFORCE_{232,USB}. >>>> >>>This sentence looks incomplete - I'm not following it. >>> >>It is indeed incomplete. The missing part is "for >>configuration-dependent code". >> > So you used a construct like: > > case IFORCE_USB: > > #ifdef CONFIG_JOYSTICK_IFORCE_USB > iforce->cr.bRequest = packet[0]; > <random snippage> > #else > printk(KERN_ERR "iforce_get_id_packet: iforce->bus = USB!\n"); > #endif > break; > > > Yep -- Johann |