aboutsummaryrefslogtreecommitdiffstats
path: root/include/pcmcia/ds.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/pcmcia/ds.h')
-rw-r--r--include/pcmcia/ds.h29
1 files changed, 17 insertions, 12 deletions
diff --git a/include/pcmcia/ds.h b/include/pcmcia/ds.h
index aab3c13dc310..c180165fbd3e 100644
--- a/include/pcmcia/ds.h
+++ b/include/pcmcia/ds.h
@@ -62,15 +62,6 @@ struct pcmcia_driver {
62int pcmcia_register_driver(struct pcmcia_driver *driver); 62int pcmcia_register_driver(struct pcmcia_driver *driver);
63void pcmcia_unregister_driver(struct pcmcia_driver *driver); 63void pcmcia_unregister_driver(struct pcmcia_driver *driver);
64 64
65/* Some drivers use dev_node_t to store char or block device information.
66 * Don't use this in new drivers, though.
67 */
68typedef struct dev_node_t {
69 char dev_name[DEV_NAME_LEN];
70 u_short major, minor;
71 struct dev_node_t *next;
72} dev_node_t;
73
74struct pcmcia_device { 65struct pcmcia_device {
75 /* the socket and the device_no [for multifunction devices] 66 /* the socket and the device_no [for multifunction devices]
76 uniquely define a pcmcia_device */ 67 uniquely define a pcmcia_device */
@@ -88,13 +79,14 @@ struct pcmcia_device {
88 struct list_head socket_device_list; 79 struct list_head socket_device_list;
89 80
90 /* deprecated, will be cleaned up soon */ 81 /* deprecated, will be cleaned up soon */
91 dev_node_t *dev_node;
92 u_int open; 82 u_int open;
93 io_req_t io; 83 io_req_t io;
94 irq_req_t irq;
95 config_req_t conf; 84 config_req_t conf;
96 window_handle_t win; 85 window_handle_t win;
97 86
87 /* device setup */
88 unsigned int irq;
89
98 /* Is the device suspended? */ 90 /* Is the device suspended? */
99 u16 suspended:1; 91 u16 suspended:1;
100 92
@@ -191,7 +183,20 @@ int pcmcia_access_configuration_register(struct pcmcia_device *p_dev,
191 183
192/* device configuration */ 184/* device configuration */
193int pcmcia_request_io(struct pcmcia_device *p_dev, io_req_t *req); 185int pcmcia_request_io(struct pcmcia_device *p_dev, io_req_t *req);
194int pcmcia_request_irq(struct pcmcia_device *p_dev, irq_req_t *req); 186
187int __must_check
188__pcmcia_request_exclusive_irq(struct pcmcia_device *p_dev,
189 irq_handler_t handler);
190static inline __must_check __deprecated int
191pcmcia_request_exclusive_irq(struct pcmcia_device *p_dev,
192 irq_handler_t handler)
193{
194 return __pcmcia_request_exclusive_irq(p_dev, handler);
195}
196
197int __must_check pcmcia_request_irq(struct pcmcia_device *p_dev,
198 irq_handler_t handler);
199
195int pcmcia_request_configuration(struct pcmcia_device *p_dev, 200int pcmcia_request_configuration(struct pcmcia_device *p_dev,
196 config_req_t *req); 201 config_req_t *req);
197 202