aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/pvrusb2/pvrusb2-devattr.h
diff options
context:
space:
mode:
authorMike Isely <isely@pobox.com>2007-11-25 23:53:12 -0500
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-01-25 16:03:02 -0500
commit989eb154eafad00c3b5039a3eca03e108dac1df8 (patch)
tree1a2b0638f473c4d5877188f80bce0efbeee0ded9 /drivers/media/video/pvrusb2/pvrusb2-devattr.h
parent681c739944018d80dbcf7f19997eba97676c7116 (diff)
V4L/DVB (6692): pvrusb2: Centralize device specific attributes into a single place
The pvrusb2 driver currently supports two variants of the Hauppauge PVR USB2. However there are other hardware types potentially supportable, but the driver at the moment is not structured to make it easy to describe these minor variations. This changeset is the first set of changes to make such additional device support possible. Device attributes are held in several tables all contained within pvrusb2-devattr.c; all other device-specific driver behavior now derives from these tables. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/pvrusb2/pvrusb2-devattr.h')
-rw-r--r--drivers/media/video/pvrusb2/pvrusb2-devattr.h87
1 files changed, 87 insertions, 0 deletions
diff --git a/drivers/media/video/pvrusb2/pvrusb2-devattr.h b/drivers/media/video/pvrusb2/pvrusb2-devattr.h
new file mode 100644
index 000000000000..6576aefd27c3
--- /dev/null
+++ b/drivers/media/video/pvrusb2/pvrusb2-devattr.h
@@ -0,0 +1,87 @@
1/*
2 *
3 * $Id$
4 *
5 * Copyright (C) 2005 Mike Isely <isely@pobox.com>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 *
20 */
21#ifndef __PVRUSB2_DEVATTR_H
22#define __PVRUSB2_DEVATTR_H
23
24#include <linux/mod_devicetable.h>
25
26/*
27
28 This header defines structures used to describe attributes of a device.
29
30*/
31
32
33struct pvr2_string_table {
34 const char **lst;
35 unsigned int cnt;
36};
37
38
39/* This describes a particular hardware type (except for the USB device ID
40 which must live in a separate structure due to environmental
41 constraints). See the top of pvrusb2-hdw.c for where this is
42 instantiated. */
43struct pvr2_device_desc {
44 /* Single line text description of hardware */
45 const char *description;
46
47 /* Single token identifier for hardware */
48 const char *shortname;
49
50 /* List of additional client modules we need to load */
51 struct pvr2_string_table client_modules;
52
53 /* List of FX2 firmware file names we should search; if empty then
54 FX2 firmware check / load is skipped and we assume the device
55 was initialized from internal ROM. */
56 struct pvr2_string_table fx2_firmware;
57
58 /* If set, we don't bother trying to load cx23416 firmware. */
59 char flag_skip_cx23416_firmware;
60
61 /* Device does not require a powerup command to be issued. */
62 char flag_no_powerup;
63
64 /* Device has a cx25840 - this enables special additional logic to
65 handle it. */
66 char flag_has_cx25840;
67
68 /* Device has a wm8775 - this enables special additional logic to
69 ensure that it is found. */
70 char flag_has_wm8775;
71};
72
73extern const struct pvr2_device_desc pvr2_device_descriptions[];
74extern struct usb_device_id pvr2_device_table[];
75extern const unsigned int pvr2_device_count;
76
77#endif /* __PVRUSB2_HDW_INTERNAL_H */
78
79/*
80 Stuff for Emacs to see, in order to encourage consistent editing style:
81 *** Local Variables: ***
82 *** mode: c ***
83 *** fill-column: 75 ***
84 *** tab-width: 8 ***
85 *** c-basic-offset: 8 ***
86 *** End: ***
87 */