aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/pvrusb2/pvrusb2-devattr.h
diff options
context:
space:
mode:
authorMike Isely <isely@pobox.com>2009-03-06 21:42:20 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-03-30 11:43:33 -0400
commite9c64a78dbd7c4f6c4a31c4040f340f732bf4ec5 (patch)
treeb8bdf899e92f241d4b7581276b62461a968f3f76 /drivers/media/video/pvrusb2/pvrusb2-devattr.h
parentacd92d40ccaf140d27e6bd5b83573294165ebbdf (diff)
V4L/DVB (11158): pvrusb2: New device attribute mechanism to specify sub-devices
Set up new mechanism for declaring and loading appropriate sub-devices when driver initializes. This is another part of the v4l2-subdev adoption. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/pvrusb2/pvrusb2-devattr.h')
-rw-r--r--drivers/media/video/pvrusb2/pvrusb2-devattr.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/drivers/media/video/pvrusb2/pvrusb2-devattr.h b/drivers/media/video/pvrusb2/pvrusb2-devattr.h
index cb3a33eb0276..f06923986824 100644
--- a/drivers/media/video/pvrusb2/pvrusb2-devattr.h
+++ b/drivers/media/video/pvrusb2/pvrusb2-devattr.h
@@ -33,6 +33,31 @@
33*/ 33*/
34 34
35 35
36#define PVR2_CLIENT_ID_MSP3400 1
37#define PVR2_CLIENT_ID_CX25840 2
38#define PVR2_CLIENT_ID_SAA7115 3
39#define PVR2_CLIENT_ID_TUNER 4
40#define PVR2_CLIENT_ID_CS53132A 5
41
42struct pvr2_device_client_desc {
43 /* One ovr PVR2_CLIENT_ID_xxxx */
44 unsigned char module_id;
45
46 /* Null-terminated array of I2C addresses to try in order
47 initialize the module. It's safe to make this null terminated
48 since we're never going to encounter an i2c device with an
49 address of zero. If this is a null pointer or zero-length,
50 then no I2C addresses have been specified, in which case we'll
51 try some compiled in defaults for now. */
52 unsigned char *i2c_address_list;
53};
54
55struct pvr2_device_client_table {
56 const struct pvr2_device_client_desc *lst;
57 unsigned char cnt;
58};
59
60
36struct pvr2_string_table { 61struct pvr2_string_table {
37 const char **lst; 62 const char **lst;
38 unsigned int cnt; 63 unsigned int cnt;
@@ -66,6 +91,9 @@ struct pvr2_device_desc {
66 /* List of additional client modules we need to load */ 91 /* List of additional client modules we need to load */
67 struct pvr2_string_table client_modules; 92 struct pvr2_string_table client_modules;
68 93
94 /* List of defined client modules we need to load */
95 struct pvr2_device_client_table client_table;
96
69 /* List of FX2 firmware file names we should search; if empty then 97 /* List of FX2 firmware file names we should search; if empty then
70 FX2 firmware check / load is skipped and we assume the device 98 FX2 firmware check / load is skipped and we assume the device
71 was initialized from internal ROM. */ 99 was initialized from internal ROM. */