diff options
author | Mike Isely <isely@pobox.com> | 2007-12-02 23:51:34 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-01-25 19:03:06 -0200 |
commit | 6a540254966f8a01de0f7c78a27db17458c2d8f5 (patch) | |
tree | a18a62aa65b78b8fcbdfdbb3c3ce94a3a8bfa794 | |
parent | ea2562d94fade3d6ee9b22ed5addbbdba697d22a (diff) |
V4L/DVB (6705): pvrusb2: Implement default standard selection based on device type
This adds a default video standard setting to the pvr2_device_desc
structure for describing device types. With this change it is
possible to set a reasonable default standard based on device type.
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-devattr.c | 3 | ||||
-rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-devattr.h | 7 | ||||
-rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-hdw.c | 6 |
3 files changed, 13 insertions, 3 deletions
diff --git a/drivers/media/video/pvrusb2/pvrusb2-devattr.c b/drivers/media/video/pvrusb2/pvrusb2-devattr.c index e4a311a8100..eed64571ca0 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-devattr.c +++ b/drivers/media/video/pvrusb2/pvrusb2-devattr.c @@ -29,9 +29,8 @@ pvr2_device_desc structures. #include "pvrusb2-devattr.h" #include <linux/usb.h> -/* All this is needed in order to pull in tuner type ids... */ +/* This is needed in order to pull in tuner type ids... */ #include <linux/i2c.h> -#include <linux/videodev2.h> #include <media/tuner.h> /* Known major hardware variants, keyed from device ID */ diff --git a/drivers/media/video/pvrusb2/pvrusb2-devattr.h b/drivers/media/video/pvrusb2/pvrusb2-devattr.h index b9517e1cac0..830f27961e1 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-devattr.h +++ b/drivers/media/video/pvrusb2/pvrusb2-devattr.h @@ -22,6 +22,7 @@ #define __PVRUSB2_DEVATTR_H #include <linux/mod_devicetable.h> +#include <linux/videodev2.h> /* @@ -69,6 +70,12 @@ struct pvr2_device_desc { driver could not discover the type any other way). */ int default_tuner_type; + /* Initial standard bits to use for this device, if not zero. + Anything set here is also implied as an available standard. + Note: This is ignored if overridden on the module load line via + the video_std module option. */ + v4l2_std_id default_std_mask; + /* If set, we don't bother trying to load cx23416 firmware. */ char flag_skip_cx23416_firmware; diff --git a/drivers/media/video/pvrusb2/pvrusb2-hdw.c b/drivers/media/video/pvrusb2/pvrusb2-hdw.c index a45721f7884..08b513b6014 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-hdw.c +++ b/drivers/media/video/pvrusb2/pvrusb2-hdw.c @@ -1439,8 +1439,12 @@ static v4l2_std_id get_default_standard(struct pvr2_hdw *hdw) int tp = 0; if ((unit_number >= 0) && (unit_number < PVR_NUM)) { tp = video_std[unit_number]; + if (tp) return tp; } - return tp; + if (hdw->hdw_desc->default_std_mask) { + return hdw->hdw_desc->default_std_mask; + } + return 0; } |