V4L/DVB (9980): em28xx: simplify analog logic
authorMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 29 Dec 2008 01:26:36 +0000 (22:26 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Tue, 30 Dec 2008 11:39:38 +0000 (09:39 -0200)
Now, just two routines are enough for analog: the first one configs the analog
part and register V4L2 devices, and the second one release analog devices.

After this patch, it will be easier to transform em28xx-video into an em28xx
extension, loaded only on analog devices.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/em28xx/em28xx-cards.c
drivers/media/video/em28xx/em28xx-video.c
drivers/media/video/em28xx/em28xx.h

index 42978f9592b77ef57bc4ef053f0e65849ddc09f7..3759f3a56cb79565c9f98ab5dc94bd4b2c76ae67 100644 (file)
@@ -1948,12 +1948,6 @@ int em28xx_init_dev(struct em28xx **devhandle, struct usb_device *udev,
 
        em28xx_add_into_devlist(dev);
 
-       errCode = em28xx_analog_config(dev);
-       if (errCode) {
-               em28xx_errdev("error configuring device\n");
-               return -ENOMEM;
-       }
-
        retval = em28xx_register_analog_devices(dev);
        if (retval < 0) {
                em28xx_release_resources(dev);
index 4c0986920970b05a49068cbf832f9f46e35407f9..4a548fbd79d39528a075e97f32bee51cfd9bdf5c 100644 (file)
@@ -1950,8 +1950,10 @@ static struct video_device *em28xx_vdev_init(struct em28xx *dev,
        return vfd;
 }
 
-int em28xx_analog_config(struct em28xx *dev)
+int em28xx_register_analog_devices(struct em28xx *dev)
 {
+       int ret;
+
        printk(KERN_INFO "%s: v4l2 driver version %d.%d.%d\n",
                dev->name,
                (EM28XX_VERSION_CODE >> 16) & 0xff,
@@ -1985,13 +1987,6 @@ int em28xx_analog_config(struct em28xx *dev)
        /* FIXME: This is a very bad hack! Not all devices have TV on input 2 */
        dev->ctl_input = 2;
 
-       return 0;
-}
-
-int em28xx_register_analog_devices(struct em28xx *dev)
-{
-       int ret;
-
        /* allocate and fill video video_device struct */
        dev->vdev = em28xx_vdev_init(dev, &em28xx_video_template, "video");
        if (!dev->vdev) {
index c8e71edbfea7bf9fdd34114e11ef7f894c55fb5f..58a3675abb62305238cc7fc9925d2573f1e36f72 100644 (file)
@@ -593,7 +593,6 @@ void em28xx_init_extension(struct em28xx *dev);
 void em28xx_close_extension(struct em28xx *dev);
 
 /* Provided by em28xx-video.c */
-int em28xx_analog_config(struct em28xx *dev);
 int em28xx_register_analog_devices(struct em28xx *dev);
 void em28xx_release_analog_resources(struct em28xx *dev);