diff options
author | Mike Isely <isely@pobox.com> | 2007-12-02 20:51:34 -0600 |
---|---|---|
committer | Mike Isely <isely@pobox.com> | 2007-12-02 20:51:34 -0600 |
commit | e197760836fc4b0c7ac3411e6edd31dac68e5d82 (patch) | |
tree | 4580a1956ddcbcf7cf052cad0f165d9051c9a9fb /linux/drivers/media/video/pvrusb2 | |
parent | dedddec7bfa58699731c228f8e7984461217b94c (diff) | |
download | mediapointer-dvb-s2-e197760836fc4b0c7ac3411e6edd31dac68e5d82.tar.gz mediapointer-dvb-s2-e197760836fc4b0c7ac3411e6edd31dac68e5d82.tar.bz2 |
pvrusb2: Implement default standard selection based on device type
From: Mike Isely <isely@pobox.com>
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>
Diffstat (limited to 'linux/drivers/media/video/pvrusb2')
-rw-r--r-- | linux/drivers/media/video/pvrusb2/pvrusb2-devattr.c | 3 | ||||
-rw-r--r-- | linux/drivers/media/video/pvrusb2/pvrusb2-devattr.h | 7 | ||||
-rw-r--r-- | linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c | 6 |
3 files changed, 13 insertions, 3 deletions
diff --git a/linux/drivers/media/video/pvrusb2/pvrusb2-devattr.c b/linux/drivers/media/video/pvrusb2/pvrusb2-devattr.c index e4a311a81..eed64571c 100644 --- a/linux/drivers/media/video/pvrusb2/pvrusb2-devattr.c +++ b/linux/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/linux/drivers/media/video/pvrusb2/pvrusb2-devattr.h b/linux/drivers/media/video/pvrusb2/pvrusb2-devattr.h index b9517e1ca..830f27961 100644 --- a/linux/drivers/media/video/pvrusb2/pvrusb2-devattr.h +++ b/linux/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/linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c b/linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c index b0e32a20c..8a27129b1 100644 --- a/linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c +++ b/linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c @@ -1449,8 +1449,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; } |