diff options
author | Mike Isely <isely@pobox.com> | 2009-03-06 21:42:20 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-03-30 11:43:33 -0400 |
commit | e9c64a78dbd7c4f6c4a31c4040f340f732bf4ec5 (patch) | |
tree | b8bdf899e92f241d4b7581276b62461a968f3f76 /drivers/media/video/pvrusb2/pvrusb2-devattr.h | |
parent | acd92d40ccaf140d27e6bd5b83573294165ebbdf (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.h | 28 |
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 | |||
42 | struct 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 | |||
55 | struct pvr2_device_client_table { | ||
56 | const struct pvr2_device_client_desc *lst; | ||
57 | unsigned char cnt; | ||
58 | }; | ||
59 | |||
60 | |||
36 | struct pvr2_string_table { | 61 | struct 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. */ |