summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/video/pvrusb2/pvrusb2-devattr.c3
-rw-r--r--drivers/media/video/pvrusb2/pvrusb2-devattr.h7
-rw-r--r--drivers/media/video/pvrusb2/pvrusb2-hdw.c6
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 e4a311a81000..eed64571ca0b 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 b9517e1cac08..830f27961e1e 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 a45721f78848..08b513b6014f 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;
}