Commit dbc40a0e authored by Mike Isely's avatar Mike Isely Committed by Mauro Carvalho Chehab

V4L/DVB (7303): pvrusb2: Ensure that default input selection is actually valid

Previously the pvrusb2 driver just started with the default input to
be "television".  But if the device doesn't support an analog tuner
then this default must be different.  New logic here selects a
reasonable default based on the actual valid set of available inputs.
Signed-off-by: default avatarMike Isely <isely@pobox.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent fdf256f3
...@@ -1875,6 +1875,15 @@ struct pvr2_hdw *pvr2_hdw_create(struct usb_interface *intf, ...@@ -1875,6 +1875,15 @@ struct pvr2_hdw *pvr2_hdw_create(struct usb_interface *intf,
cptr = hdw->controls + idx; cptr = hdw->controls + idx;
cptr->info = control_defs+idx; cptr->info = control_defs+idx;
} }
/* Ensure that default input choice is a valid one. */
m = hdw->input_avail_mask;
if (m) for (idx = 0; idx < (sizeof(m) << 3); idx++) {
if (!((1 << idx) & m)) continue;
hdw->input_val = idx;
break;
}
/* Define and configure additional controls from cx2341x module. */ /* Define and configure additional controls from cx2341x module. */
hdw->mpeg_ctrl_info = kzalloc( hdw->mpeg_ctrl_info = kzalloc(
sizeof(*(hdw->mpeg_ctrl_info)) * MPEGDEF_COUNT, GFP_KERNEL); sizeof(*(hdw->mpeg_ctrl_info)) * MPEGDEF_COUNT, GFP_KERNEL);
......
...@@ -41,8 +41,8 @@ ...@@ -41,8 +41,8 @@
/* Legal values for the INPUT state variable */ /* Legal values for the INPUT state variable */
#define PVR2_CVAL_INPUT_TV 0 #define PVR2_CVAL_INPUT_TV 0
#define PVR2_CVAL_INPUT_DTV 1 #define PVR2_CVAL_INPUT_DTV 1
#define PVR2_CVAL_INPUT_SVIDEO 2 #define PVR2_CVAL_INPUT_COMPOSITE 2
#define PVR2_CVAL_INPUT_COMPOSITE 3 #define PVR2_CVAL_INPUT_SVIDEO 3
#define PVR2_CVAL_INPUT_RADIO 4 #define PVR2_CVAL_INPUT_RADIO 4
enum pvr2_config { enum pvr2_config {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment