summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/pvrusb2
diff options
context:
space:
mode:
authorMike Isely <isely@pobox.com>2007-12-02 20:51:34 -0600
committerMike Isely <isely@pobox.com>2007-12-02 20:51:34 -0600
commite197760836fc4b0c7ac3411e6edd31dac68e5d82 (patch)
tree4580a1956ddcbcf7cf052cad0f165d9051c9a9fb /linux/drivers/media/video/pvrusb2
parentdedddec7bfa58699731c228f8e7984461217b94c (diff)
downloadmediapointer-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.c3
-rw-r--r--linux/drivers/media/video/pvrusb2/pvrusb2-devattr.h7
-rw-r--r--linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c6
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;
}