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

V4L/DVB (7296): pvrusb2: Define device attributes for all input modes

Different devices support different input types.  Up until now we've
really been assuming that everyone has an analog tuner, an FM radio,
composite, and s-video inputs.  But as we add other devices, these
assumptions are no longer true.  The way to deal with this is to
define the available inputs as additional device attributes, so that
the driver can adjust its internal behavior accordingly.
Signed-off-by: default avatarMike Isely <isely@pobox.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent d068c6ee
...@@ -56,7 +56,10 @@ static const struct pvr2_device_desc pvr2_device_29xxx = { ...@@ -56,7 +56,10 @@ static const struct pvr2_device_desc pvr2_device_29xxx = {
.fx2_firmware.lst = pvr2_fw1_names_29xxx, .fx2_firmware.lst = pvr2_fw1_names_29xxx,
.fx2_firmware.cnt = ARRAY_SIZE(pvr2_fw1_names_29xxx), .fx2_firmware.cnt = ARRAY_SIZE(pvr2_fw1_names_29xxx),
.flag_has_hauppauge_rom = !0, .flag_has_hauppauge_rom = !0,
.flag_has_analogtuner = !0,
.flag_has_fmradio = !0, .flag_has_fmradio = !0,
.flag_has_composite = !0,
.flag_has_svideo = !0,
.signal_routing_scheme = PVR2_ROUTING_SCHEME_HAUPPAUGE, .signal_routing_scheme = PVR2_ROUTING_SCHEME_HAUPPAUGE,
}; };
...@@ -86,7 +89,10 @@ static const struct pvr2_device_desc pvr2_device_24xxx = { ...@@ -86,7 +89,10 @@ static const struct pvr2_device_desc pvr2_device_24xxx = {
.flag_has_wm8775 = !0, .flag_has_wm8775 = !0,
.flag_has_hauppauge_rom = !0, .flag_has_hauppauge_rom = !0,
.flag_has_hauppauge_custom_ir = !0, .flag_has_hauppauge_custom_ir = !0,
.flag_has_analogtuner = !0,
.flag_has_fmradio = !0, .flag_has_fmradio = !0,
.flag_has_composite = !0,
.flag_has_svideo = !0,
.signal_routing_scheme = PVR2_ROUTING_SCHEME_HAUPPAUGE, .signal_routing_scheme = PVR2_ROUTING_SCHEME_HAUPPAUGE,
}; };
...@@ -107,6 +113,9 @@ static const struct pvr2_device_desc pvr2_device_gotview_2 = { ...@@ -107,6 +113,9 @@ static const struct pvr2_device_desc pvr2_device_gotview_2 = {
.client_modules.cnt = ARRAY_SIZE(pvr2_client_gotview_2), .client_modules.cnt = ARRAY_SIZE(pvr2_client_gotview_2),
.flag_has_cx25840 = !0, .flag_has_cx25840 = !0,
.default_tuner_type = TUNER_PHILIPS_FM1216ME_MK3, .default_tuner_type = TUNER_PHILIPS_FM1216ME_MK3,
.flag_has_analogtuner = !0,
.flag_has_composite = !0,
.flag_has_svideo = !0,
.signal_routing_scheme = PVR2_ROUTING_SCHEME_GOTVIEW, .signal_routing_scheme = PVR2_ROUTING_SCHEME_GOTVIEW,
}; };
...@@ -129,6 +138,9 @@ static const struct pvr2_device_desc pvr2_device_onair_creator = { ...@@ -129,6 +138,9 @@ static const struct pvr2_device_desc pvr2_device_onair_creator = {
.client_modules.cnt = ARRAY_SIZE(pvr2_client_onair_creator), .client_modules.cnt = ARRAY_SIZE(pvr2_client_onair_creator),
.default_tuner_type = TUNER_LG_TDVS_H06XF, .default_tuner_type = TUNER_LG_TDVS_H06XF,
.flag_has_digitaltuner = !0, .flag_has_digitaltuner = !0,
.flag_has_analogtuner = !0,
.flag_has_composite = !0,
.flag_has_svideo = !0,
.signal_routing_scheme = PVR2_ROUTING_SCHEME_HAUPPAUGE, .signal_routing_scheme = PVR2_ROUTING_SCHEME_HAUPPAUGE,
}; };
#endif #endif
...@@ -152,6 +164,9 @@ static const struct pvr2_device_desc pvr2_device_onair_usb2 = { ...@@ -152,6 +164,9 @@ static const struct pvr2_device_desc pvr2_device_onair_usb2 = {
.client_modules.cnt = ARRAY_SIZE(pvr2_client_onair_usb2), .client_modules.cnt = ARRAY_SIZE(pvr2_client_onair_usb2),
.default_tuner_type = TUNER_PHILIPS_ATSC, .default_tuner_type = TUNER_PHILIPS_ATSC,
.flag_has_digitaltuner = !0, .flag_has_digitaltuner = !0,
.flag_has_analogtuner = !0,
.flag_has_composite = !0,
.flag_has_svideo = !0,
.signal_routing_scheme = PVR2_ROUTING_SCHEME_HAUPPAUGE, .signal_routing_scheme = PVR2_ROUTING_SCHEME_HAUPPAUGE,
}; };
#endif #endif
...@@ -215,6 +230,9 @@ static const struct pvr2_device_desc pvr2_device_75xxx = { ...@@ -215,6 +230,9 @@ static const struct pvr2_device_desc pvr2_device_75xxx = {
.flag_has_cx25840 = !0, .flag_has_cx25840 = !0,
.flag_has_hauppauge_rom = !0, .flag_has_hauppauge_rom = !0,
.flag_has_digitaltuner = !0, .flag_has_digitaltuner = !0,
.flag_has_analogtuner = !0,
.flag_has_composite = !0,
.flag_has_svideo = !0,
.signal_routing_scheme = PVR2_ROUTING_SCHEME_HAUPPAUGE, .signal_routing_scheme = PVR2_ROUTING_SCHEME_HAUPPAUGE,
.default_std_mask = V4L2_STD_NTSC_M, .default_std_mask = V4L2_STD_NTSC_M,
}; };
......
...@@ -103,12 +103,12 @@ struct pvr2_device_desc { ...@@ -103,12 +103,12 @@ struct pvr2_device_desc {
commands. */ commands. */
char flag_has_hauppauge_custom_ir; char flag_has_hauppauge_custom_ir;
/* Device has FM radio capability. */ /* These bits define which kinds of sources the device can handle. */
char flag_has_fmradio; char flag_has_fmradio; /* Has FM radio receiver */
char flag_has_analogtuner; /* Has analog tuner */
/* Device has a digital tuner; if this is set then we enable extra char flag_has_digitaltuner; /* Has digital tuner */
functionality to switch between analog and digital modes. */ char flag_has_composite; /* Has composite input */
char flag_has_digitaltuner; char flag_has_svideo; /* Has s-video input */
}; };
extern struct usb_device_id pvr2_device_table[]; extern struct usb_device_id pvr2_device_table[];
......
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