aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pcmcia
diff options
context:
space:
mode:
authorDominik Brodowski <linux@dominikbrodowski.net>2008-08-25 18:09:56 -0400
committerDominik Brodowski <linux@dominikbrodowski.net>2008-08-25 18:09:56 -0400
commitc23889ca5afcce60bb01739cd831c3cbcbab2a06 (patch)
tree3c5d78d0a6c1a6f5e1fce0f4644d4eec1b9b1b09 /drivers/pcmcia
parentb60a5ede1e3a6a09a881c3ff014164fbe4d481b4 (diff)
pcmcia: cleanup socket services header file
The header file for use by (in-kernel) PCMCIA sockets deserved a major cleanup. Some stuff only used by the pcmcia core modules was moved to cs_internal.h Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'drivers/pcmcia')
-rw-r--r--drivers/pcmcia/cs_internal.h27
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
53struct 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 */
145extern struct rw_semaphore pcmcia_socket_list_rwsem; 169extern struct rw_semaphore pcmcia_socket_list_rwsem;
146extern struct list_head pcmcia_socket_list; 170extern struct list_head pcmcia_socket_list;
171extern struct class pcmcia_socket_class;
172
147int pcmcia_get_window(struct pcmcia_socket *s, 173int 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);
151int pccard_reset_card(struct pcmcia_socket *skt); 177int pccard_reset_card(struct pcmcia_socket *skt);
152int pccard_register_pcmcia(struct pcmcia_socket *s, struct pcmcia_callback *c); 178int pccard_register_pcmcia(struct pcmcia_socket *s, struct pcmcia_callback *c);
179struct pcmcia_socket *pcmcia_get_socket_by_nr(unsigned int nr);
153 180
154/* cistpl.c */ 181/* cistpl.c */
155int pcmcia_read_cis_mem(struct pcmcia_socket *s, int attr, 182int pcmcia_read_cis_mem(struct pcmcia_socket *s, int attr,