Re: [PATCH 1/1] Add two drivers for USB based DVB-T adapters

From: Greg KH (greg@kroah.com)
Date: Tue Jul 15 2003 - 16:20:05 EST


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/



This archive was generated by hypermail 2b29 : Tue Jul 15 2003 - 22:01:00 EST