V4L/DVB (13557): v4l: Remove unneeded video_device::minor usage in drivers
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Fri, 27 Nov 2009 16:57:55 +0000 (13:57 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 16 Dec 2009 02:17:58 +0000 (00:17 -0200)
The video_device::minor field is used where it shouldn't, either to

- test for error conditions that can't happen anymore with the current
  v4l-dvb core,
- store the value in a driver private field that isn't used anymore,
- check the video device type where video_device::vfl_type should be
  used, or
- create the name of a kernel thread that should get a stable name.

Remove or fix those use cases.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/common/saa7146_fops.c
drivers/media/radio/radio-tea5764.c
drivers/media/video/bt8xx/bttv-driver.c
drivers/media/video/gspca/sn9c20x.c
drivers/media/video/omap24xxcam.c
include/media/saa7146_vv.h

index 3c11cff00475fa2f0df8caac2ae504b2a7039361..7364b9642d005c0579838c4efdf7c61888767f98 100644 (file)
@@ -1,7 +1,5 @@
 #include <media/saa7146_vv.h>
 
-#define BOARD_CAN_DO_VBI(dev)   (dev->revision != 0 && dev->vv_data->vbi_minor != -1)
-
 /****************************************************************************/
 /* resource management functions, shamelessly stolen from saa7134 driver */
 
@@ -455,9 +453,6 @@ int saa7146_vv_init(struct saa7146_dev* dev, struct saa7146_ext_vv *ext_vv)
           configuration data) */
        dev->ext_vv_data = ext_vv;
 
-       vv->video_minor = -1;
-       vv->vbi_minor = -1;
-
        vv->d_clipping.cpu_addr = pci_alloc_consistent(dev->pci, SAA7146_CLIPPING_MEM, &vv->d_clipping.dma_handle);
        if( NULL == vv->d_clipping.cpu_addr ) {
                ERR(("out of memory. aborting.\n"));
@@ -496,7 +491,6 @@ EXPORT_SYMBOL_GPL(saa7146_vv_release);
 int saa7146_register_device(struct video_device **vid, struct saa7146_dev* dev,
                            char *name, int type)
 {
-       struct saa7146_vv *vv = dev->vv_data;
        struct video_device *vfd;
        int err;
        int i;
@@ -524,11 +518,6 @@ int saa7146_register_device(struct video_device **vid, struct saa7146_dev* dev,
                return err;
        }
 
-       if (VFL_TYPE_GRABBER == type)
-               vv->video_minor = vfd->minor;
-       else
-               vv->vbi_minor = vfd->minor;
-
        INFO(("%s: registered device %s [v4l2]\n",
                dev->name, video_device_node_name(vfd)));
 
@@ -539,16 +528,8 @@ EXPORT_SYMBOL_GPL(saa7146_register_device);
 
 int saa7146_unregister_device(struct video_device **vid, struct saa7146_dev* dev)
 {
-       struct saa7146_vv *vv = dev->vv_data;
-
        DEB_EE(("dev:%p\n",dev));
 
-       if ((*vid)->vfl_type == VFL_TYPE_GRABBER) {
-               vv->video_minor = -1;
-       } else {
-               vv->vbi_minor = -1;
-       }
-
        video_unregister_device(*vid);
        *vid = NULL;
 
index 730ffd9cdd3e633f444d4a31d06887ef9fd3a1f4..1d357b79b2fd2a4057be56204f8ee037c3b8063c 100644 (file)
@@ -460,12 +460,8 @@ static int vidioc_s_audio(struct file *file, void *priv,
 static int tea5764_open(struct file *file)
 {
        /* Currently we support only one device */
-       int minor = video_devdata(file)->minor;
        struct tea5764_device *radio = video_drvdata(file);
 
-       if (radio->videodev->minor != minor)
-               return -ENODEV;
-
        mutex_lock(&radio->mutex);
        /* Only exclusive access */
        if (radio->users) {
index 410260a1c364ed9d441b07c7fea5877f9568c5d1..3182a406bdd1ad11ae7f3ba41bd44fa543dd764a 100644 (file)
@@ -3206,7 +3206,6 @@ err:
 
 static int bttv_open(struct file *file)
 {
-       int minor = video_devdata(file)->minor;
        struct video_device *vdev = video_devdata(file);
        struct bttv *btv = video_drvdata(file);
        struct bttv_fh *fh;
@@ -3214,17 +3213,17 @@ static int bttv_open(struct file *file)
 
        dprintk(KERN_DEBUG "bttv: open dev=%s\n", video_device_node_name(vdev));
 
-       lock_kernel();
-       if (btv->video_dev->minor == minor) {
+       if (vdev->vfl_type == VFL_TYPE_GRABBER) {
                type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
-       } else if (btv->vbi_dev->minor == minor) {
+       } else if (vdev->vfl_type == VFL_TYPE_VBI) {
                type = V4L2_BUF_TYPE_VBI_CAPTURE;
        } else {
                WARN_ON(1);
-               unlock_kernel();
                return -ENODEV;
        }
 
+       lock_kernel();
+
        dprintk(KERN_DEBUG "bttv%d: open called (type=%s)\n",
                btv->c.nr,v4l2_type_names[type]);
 
@@ -3408,7 +3407,6 @@ static struct video_device bttv_video_template = {
 
 static int radio_open(struct file *file)
 {
-       int minor = video_devdata(file)->minor;
        struct video_device *vdev = video_devdata(file);
        struct bttv *btv = video_drvdata(file);
        struct bttv_fh *fh;
@@ -3416,11 +3414,6 @@ static int radio_open(struct file *file)
        dprintk("bttv: open dev=%s\n", video_device_node_name(vdev));
 
        lock_kernel();
-       WARN_ON(btv->radio_dev && btv->radio_dev->minor != minor);
-       if (!btv->radio_dev || btv->radio_dev->minor != minor) {
-               unlock_kernel();
-               return -ENODEV;
-       }
 
        dprintk("bttv%d: open called (radio)\n",btv->c.nr);
 
index b1944a7cbb0f31f3629628df27f2bf2bac6dc698..a3d8f4675c04f47d5b52f6e9340ebc2da301094c 100644 (file)
@@ -1476,8 +1476,9 @@ static int sn9c20x_input_init(struct gspca_dev *gspca_dev)
        if (input_register_device(sd->input_dev))
                return -EINVAL;
 
-       sd->input_task = kthread_run(input_kthread, gspca_dev, "sn9c20x/%d",
-                                    gspca_dev->vdev.minor);
+       sd->input_task = kthread_run(input_kthread, gspca_dev, "sn9c20x/%s-%s",
+                                    gspca_dev->dev->bus->bus_name,
+                                    gspca_dev->dev->devpath);
 
        if (IS_ERR(sd->input_task))
                return -EINVAL;
index 71e08be7960cffe91c0b16e0bc278c333b53cff2..7400eacb4d64bf48cb4c475fcd3a83d519734abf 100644 (file)
@@ -1450,12 +1450,11 @@ static int omap24xxcam_mmap(struct file *file, struct vm_area_struct *vma)
 
 static int omap24xxcam_open(struct file *file)
 {
-       int minor = video_devdata(file)->minor;
        struct omap24xxcam_device *cam = omap24xxcam.priv;
        struct omap24xxcam_fh *fh;
        struct v4l2_format format;
 
-       if (!cam || !cam->vfd || (cam->vfd->minor != minor))
+       if (!cam || !cam->vfd)
                return -ENODEV;
 
        fh = kzalloc(sizeof(*fh), GFP_KERNEL);
index eed5fccc83f3c242e2ff95766ab2bbbd0fd669b4..4aeff96ff7d8105f7bfe5e97b69ec94e1db6d4e8 100644 (file)
@@ -108,8 +108,6 @@ struct saa7146_fh {
 
 struct saa7146_vv
 {
-       int vbi_minor;
-
        /* vbi capture */
        struct saa7146_dmaqueue         vbi_q;
        /* vbi workaround interrupt queue */
@@ -117,8 +115,6 @@ struct saa7146_vv
        int                             vbi_fieldcount;
        struct saa7146_fh               *vbi_streaming;
 
-       int video_minor;
-
        int                             video_status;
        struct saa7146_fh               *video_fh;