Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8079384eeb1c490d0ad679cef061205e1b5a1c8a
Commit:     8079384eeb1c490d0ad679cef061205e1b5a1c8a
Parent:     fd5a75fe00ec13311289928c2cb17d8676f8db45
Author:     Mike Isely <[EMAIL PROTECTED]>
AuthorDate: Wed Dec 27 23:12:28 2006 -0300
Committer:  Mauro Carvalho Chehab <[EMAIL PROTECTED]>
CommitDate: Wed Feb 21 13:34:24 2007 -0200

    V4L/DVB (5041): Pvrusb2: Use separate enumeration for get/store of minor 
number
    
    Use separate enum for get/store of minor number; we want pvr2_config
    to go away eventually and since it really means something different,
    don't use it here
    
    Signed-off-by: Mike Isely <[EMAIL PROTECTED]>
    Signed-off-by: Mauro Carvalho Chehab <[EMAIL PROTECTED]>
---
 drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h |    3 ++-
 drivers/media/video/pvrusb2/pvrusb2-hdw.c          |   17 ++++++++++-------
 drivers/media/video/pvrusb2/pvrusb2-hdw.h          |   10 ++++++++--
 drivers/media/video/pvrusb2/pvrusb2-sysfs.c        |    4 ++--
 drivers/media/video/pvrusb2/pvrusb2-v4l2.c         |   12 +++++++++---
 5 files changed, 31 insertions(+), 15 deletions(-)

diff --git a/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h 
b/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h
index e6d546f..746d174 100644
--- a/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h
+++ b/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h
@@ -283,7 +283,8 @@ struct pvr2_hdw {
 
        /* Minor numbers used by v4l logic (yes, this is a hack, as there
           should be no v4l junk here).  Probably a better way to do this. */
-       int v4l_minor_number_mpeg;
+       int v4l_minor_number_video;
+       int v4l_minor_number_vbi;
        int v4l_minor_number_radio;
 
        /* Location of eeprom or a negative number if none */
diff --git a/drivers/media/video/pvrusb2/pvrusb2-hdw.c 
b/drivers/media/video/pvrusb2/pvrusb2-hdw.c
index 6acd73c..39d04d8 100644
--- a/drivers/media/video/pvrusb2/pvrusb2-hdw.c
+++ b/drivers/media/video/pvrusb2/pvrusb2-hdw.c
@@ -1898,7 +1898,8 @@ struct pvr2_hdw *pvr2_hdw_create(struct usb_interface 
*intf,
 
        hdw->eeprom_addr = -1;
        hdw->unit_number = -1;
-       hdw->v4l_minor_number_mpeg = -1;
+       hdw->v4l_minor_number_video = -1;
+       hdw->v4l_minor_number_vbi = -1;
        hdw->v4l_minor_number_radio = -1;
        hdw->ctl_write_buffer = kmalloc(PVR2_CTL_BUFFSIZE,GFP_KERNEL);
        if (!hdw->ctl_write_buffer) goto fail;
@@ -2548,11 +2549,12 @@ int pvr2_hdw_cpufw_get(struct pvr2_hdw *hdw,unsigned 
int offs,
 
 
 int pvr2_hdw_v4l_get_minor_number(struct pvr2_hdw *hdw,
-                                 enum pvr2_config index)
+                                 enum pvr2_v4l_type index)
 {
        switch (index) {
-       case pvr2_config_mpeg: return hdw->v4l_minor_number_mpeg;
-       case pvr2_config_radio: return hdw->v4l_minor_number_radio;
+       case pvr2_v4l_type_video: return hdw->v4l_minor_number_video;
+       case pvr2_v4l_type_vbi: return hdw->v4l_minor_number_vbi;
+       case pvr2_v4l_type_radio: return hdw->v4l_minor_number_radio;
        default: return -1;
        }
 }
@@ -2560,11 +2562,12 @@ int pvr2_hdw_v4l_get_minor_number(struct pvr2_hdw *hdw,
 
 /* Store a v4l minor device number */
 void pvr2_hdw_v4l_store_minor_number(struct pvr2_hdw *hdw,
-                                    enum pvr2_config index,int v)
+                                    enum pvr2_v4l_type index,int v)
 {
        switch (index) {
-       case pvr2_config_mpeg: hdw->v4l_minor_number_mpeg = v;
-       case pvr2_config_radio: hdw->v4l_minor_number_radio = v;
+       case pvr2_v4l_type_video: hdw->v4l_minor_number_video = v;
+       case pvr2_v4l_type_vbi: hdw->v4l_minor_number_vbi = v;
+       case pvr2_v4l_type_radio: hdw->v4l_minor_number_radio = v;
        default: break;
        }
 }
diff --git a/drivers/media/video/pvrusb2/pvrusb2-hdw.h 
b/drivers/media/video/pvrusb2/pvrusb2-hdw.h
index fa3769a..19af4d6 100644
--- a/drivers/media/video/pvrusb2/pvrusb2-hdw.h
+++ b/drivers/media/video/pvrusb2/pvrusb2-hdw.h
@@ -78,6 +78,12 @@ enum pvr2_config {
        pvr2_config_radio,
 };
 
+enum pvr2_v4l_type {
+       pvr2_v4l_type_video,
+       pvr2_v4l_type_vbi,
+       pvr2_v4l_type_radio,
+};
+
 const char *pvr2_config_get_name(enum pvr2_config);
 
 struct pvr2_hdw;
@@ -206,11 +212,11 @@ int pvr2_hdw_cpufw_get(struct pvr2_hdw *,unsigned int 
offs,
                       char *buf,unsigned int cnt);
 
 /* Retrieve a previously stored v4l minor device number */
-int pvr2_hdw_v4l_get_minor_number(struct pvr2_hdw *,enum pvr2_config index);
+int pvr2_hdw_v4l_get_minor_number(struct pvr2_hdw *,enum pvr2_v4l_type index);
 
 /* Store a v4l minor device number */
 void pvr2_hdw_v4l_store_minor_number(struct pvr2_hdw *,
-                                    enum pvr2_config index,int);
+                                    enum pvr2_v4l_type index,int);
 
 /* Direct read/write access to chip's registers:
    chip_id - unique id of chip (e.g. I2C_DRIVERD_xxxx)
diff --git a/drivers/media/video/pvrusb2/pvrusb2-sysfs.c 
b/drivers/media/video/pvrusb2/pvrusb2-sysfs.c
index 0f8021e..a3af243 100644
--- a/drivers/media/video/pvrusb2/pvrusb2-sysfs.c
+++ b/drivers/media/video/pvrusb2/pvrusb2-sysfs.c
@@ -733,7 +733,7 @@ static ssize_t v4l_minor_number_show(struct class_device 
*class_dev,char *buf)
        if (!sfp) return -EINVAL;
        return scnprintf(buf,PAGE_SIZE,"%d\n",
                         pvr2_hdw_v4l_get_minor_number(sfp->channel.hdw,
-                                                      pvr2_config_mpeg));
+                                                      pvr2_v4l_type_video));
 }
 
 
@@ -745,7 +745,7 @@ static ssize_t v4l_radio_minor_number_show(struct 
class_device *class_dev,
        if (!sfp) return -EINVAL;
        return scnprintf(buf,PAGE_SIZE,"%d\n",
                         pvr2_hdw_v4l_get_minor_number(sfp->channel.hdw,
-                                                      pvr2_config_radio));
+                                                      pvr2_v4l_type_radio));
 }
 
 
diff --git a/drivers/media/video/pvrusb2/pvrusb2-v4l2.c 
b/drivers/media/video/pvrusb2/pvrusb2-v4l2.c
index 4acbbc7..3a2a0ca 100644
--- a/drivers/media/video/pvrusb2/pvrusb2-v4l2.c
+++ b/drivers/media/video/pvrusb2/pvrusb2-v4l2.c
@@ -725,9 +725,11 @@ static void pvr2_v4l2_dev_destroy(struct pvr2_v4l2_dev 
*dip)
 static void pvr2_v4l2_destroy_no_lock(struct pvr2_v4l2 *vp)
 {
        pvr2_hdw_v4l_store_minor_number(vp->channel.mc_head->hdw,
-                                       pvr2_config_mpeg,-1);
+                                       pvr2_v4l_type_video,-1);
        pvr2_hdw_v4l_store_minor_number(vp->channel.mc_head->hdw,
-                                       pvr2_config_radio,-1);
+                                       pvr2_v4l_type_vbi,-1);
+       pvr2_hdw_v4l_store_minor_number(vp->channel.mc_head->hdw,
+                                       pvr2_v4l_type_radio,-1);
        pvr2_v4l2_dev_destroy(vp->vdev);
 
        pvr2_trace(PVR2_TRACE_STRUCT,"Destroying pvr2_v4l2 id=%p",vp);
@@ -1072,6 +1074,7 @@ static void pvr2_v4l2_dev_init(struct pvr2_v4l2_dev *dip,
        int mindevnum;
        int unit_number;
        int v4l_type;
+       enum pvr2_v4l_type pvt;
        dip->v4lp = vp;
        dip->config = cfg;
 
@@ -1079,13 +1082,16 @@ static void pvr2_v4l2_dev_init(struct pvr2_v4l2_dev 
*dip,
        switch (cfg) {
        case pvr2_config_mpeg:
                v4l_type = VFL_TYPE_GRABBER;
+               pvt = pvr2_v4l_type_video;
                dip->stream = &vp->channel.mc_head->video_stream;
                break;
        case pvr2_config_vbi:
                v4l_type = VFL_TYPE_VBI;
+               pvt = pvr2_v4l_type_vbi;
                break;
        case pvr2_config_radio:
                v4l_type = VFL_TYPE_RADIO;
+               pvt = pvr2_v4l_type_radio;
                break;
        default:
                /* Bail out (this should be impossible) */
@@ -1133,7 +1139,7 @@ static void pvr2_v4l2_dev_init(struct pvr2_v4l2_dev *dip,
        }
 
        pvr2_hdw_v4l_store_minor_number(vp->channel.mc_head->hdw,
-                                       cfg,dip->devbase.minor);
+                                       pvt,dip->devbase.minor);
 }
 
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to