diff options
Diffstat (limited to 'drivers/pcmcia/cs_internal.h')
-rw-r--r-- | drivers/pcmcia/cs_internal.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/drivers/pcmcia/cs_internal.h b/drivers/pcmcia/cs_internal.h index 8e43c4d563d1..2df8d8be1ff9 100644 --- a/drivers/pcmcia/cs_internal.h +++ b/drivers/pcmcia/cs_internal.h | |||
@@ -50,6 +50,30 @@ struct cis_cache_entry { | |||
50 | unsigned char cache[0]; | 50 | unsigned char cache[0]; |
51 | }; | 51 | }; |
52 | 52 | ||
53 | struct pccard_resource_ops { | ||
54 | int (*validate_mem) (struct pcmcia_socket *s); | ||
55 | int (*adjust_io_region) (struct resource *res, | ||
56 | unsigned long r_start, | ||
57 | unsigned long r_end, | ||
58 | struct pcmcia_socket *s); | ||
59 | struct resource* (*find_io) (unsigned long base, int num, | ||
60 | unsigned long align, | ||
61 | struct pcmcia_socket *s); | ||
62 | struct resource* (*find_mem) (unsigned long base, unsigned long num, | ||
63 | unsigned long align, int low, | ||
64 | struct pcmcia_socket *s); | ||
65 | int (*add_io) (struct pcmcia_socket *s, | ||
66 | unsigned int action, | ||
67 | unsigned long r_start, | ||
68 | unsigned long r_end); | ||
69 | int (*add_mem) (struct pcmcia_socket *s, | ||
70 | unsigned int action, | ||
71 | unsigned long r_start, | ||
72 | unsigned long r_end); | ||
73 | int (*init) (struct pcmcia_socket *s); | ||
74 | void (*exit) (struct pcmcia_socket *s); | ||
75 | }; | ||
76 | |||
53 | /* Flags in config state */ | 77 | /* Flags in config state */ |
54 | #define CONFIG_LOCKED 0x01 | 78 | #define CONFIG_LOCKED 0x01 |
55 | #define CONFIG_IRQ_REQ 0x02 | 79 | #define CONFIG_IRQ_REQ 0x02 |
@@ -144,12 +168,15 @@ struct pcmcia_callback{ | |||
144 | /* cs.c */ | 168 | /* cs.c */ |
145 | extern struct rw_semaphore pcmcia_socket_list_rwsem; | 169 | extern struct rw_semaphore pcmcia_socket_list_rwsem; |
146 | extern struct list_head pcmcia_socket_list; | 170 | extern struct list_head pcmcia_socket_list; |
171 | extern struct class pcmcia_socket_class; | ||
172 | |||
147 | int pcmcia_get_window(struct pcmcia_socket *s, | 173 | int pcmcia_get_window(struct pcmcia_socket *s, |
148 | window_handle_t *handle, | 174 | window_handle_t *handle, |
149 | int idx, | 175 | int idx, |
150 | win_req_t *req); | 176 | win_req_t *req); |
151 | int pccard_reset_card(struct pcmcia_socket *skt); | 177 | int pccard_reset_card(struct pcmcia_socket *skt); |
152 | int pccard_register_pcmcia(struct pcmcia_socket *s, struct pcmcia_callback *c); | 178 | int pccard_register_pcmcia(struct pcmcia_socket *s, struct pcmcia_callback *c); |
179 | struct pcmcia_socket *pcmcia_get_socket_by_nr(unsigned int nr); | ||
153 | 180 | ||
154 | /* cistpl.c */ | 181 | /* cistpl.c */ |
155 | int pcmcia_read_cis_mem(struct pcmcia_socket *s, int attr, | 182 | int pcmcia_read_cis_mem(struct pcmcia_socket *s, int attr, |