On Mon, 25 Nov 2002, Josh Myer wrote:
| This is probably a stupid question. Any hints on how to elegantly deal
| with 2.4 vs 2.5 usb_submit_urb arguments? For the moment (hack hack hack)
| i've got[1]:
|
| #ifdef EV_SYN
| if(usb_submit_urb(kbtab->irq, GFP_KERNEL))
| return -EIO;
| #else
| if(usb_submit_urb(kbtab->irq))
| return -EIO;
| #endif
|
| But i'm guessing there's some official way to tell between the two? Or
| should i just give up hope and do two .c's, one for 2.4 and the other for
| 2.5?
Official way, huh? Guess we'll see if any officials reply.
Option 1. separate source files, as you mentioned, although
for this one instance I don't think that's needed or worth it.
Option 2. another obvious solution/workaround:
use local u_submit_urb() function with the KERNEL_VERSION() macro
#include <linux/version.h>
#ifdef LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
static inline int u_submit_urb(struct urb *urb, int gfp_type) {
return usb_submit_urb(urb);
}
#else
static inline int u_submit_urb(struct urb *urb, int gfp_type) {
return usb_submit_urb(urb, gfp_type);
}
#endif
and use u_submit_urb() throughout the driver.
However, a solution that retains usage of usb_submit_urb()
throughout the driver would be more palatable.
Not compiled, not tested...
| Thanks in advance,
|
| [1] the following was tempting but excessively clever and evil:
| if(usb_submit_urb(kbtab->irq
| #ifdef EV_SYN
| , GFP_KERNEL
| #endif
| ))
| return -EIO;
I agree, at least partly. :)
--
~Randy
-------------------------------------------------------
This SF.net email is sponsored by: Get the new Palm Tungsten T
handheld. Power & Color in a compact size!
http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0002en
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel