Messages in this thread | | | Date | Tue, 15 Jul 2003 14:20:05 -0700 | From | Greg KH <> | Subject | Re: [PATCH 1/1] Add two drivers for USB based DVB-T adapters |
| |
On Tue, Jul 15, 2003 at 07:12:53PM +0200, Michael Hunold wrote: > +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) > +static void *ttusb_probe(struct usb_device *udev, unsigned int ifnum, > + const struct usb_device_id *id) > +{ > + struct ttusb *ttusb; > + int result, channel; > + > + if (ifnum != 0) > + return NULL; > + > + dprintk("%s: TTUSB DVB connected\n", __FUNCTION__); > + > + if (!(ttusb = kmalloc(sizeof(struct ttusb), GFP_KERNEL))) > + return NULL; > + > +#else > +static int ttusb_probe(struct usb_interface *intf, const struct usb_device_id *id) > +{ > + struct usb_device *udev; > + struct ttusb *ttusb; > + int result, channel; > + > + dprintk("%s: TTUSB DVB connected\n", __FUNCTION__); > + > + udev = interface_to_usbdev(intf); > + > + if (!(ttusb = kmalloc(sizeof(struct ttusb), GFP_KERNEL))) > + return -ENOMEM; > + > +#endif
Ick, you don't really want to try to support all of the USB changes in the same driver, now do you? Why not just live with two different drivers.
The ALSA people eventually gave up trying to do this... :)
> +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,69)) > +#undef devfs_remove > +#define devfs_remove(x) devfs_unregister(ttusb->stc_devfs_handle); > +#endif > +#if 0 > + devfs_remove(TTUSB_BUDGET_NAME); > +#endif
You end up with crud like this because of trying to support old kernels. Why do you care about kernels prior to 2.5.69? If so, your USB kernel checks are wrong, as 2.5.0 didn't have those API changes :)
thanks,
greg k-h - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |