diff options
author | Dominik Brodowski <linux@dominikbrodowski.net> | 2010-01-17 13:30:53 -0500 |
---|---|---|
committer | Dominik Brodowski <linux@dominikbrodowski.net> | 2010-02-17 11:48:26 -0500 |
commit | af461fc1875b6ec18e23b5f670af36c4ed35c84e (patch) | |
tree | fa09a446c94d533c169b9e28e97c0e8c03d36912 /drivers/pcmcia/cs_internal.h | |
parent | f971dbd5da4e2fbf756d07b938a9c65a9c75178b (diff) |
pcmcia: delay re-scanning and re-querying of PCMCIA bus
After a CIS update -- or the finalization of the resource database --,
proceed with the re-scanning or re-querying of PCMCIA cards only in
a separate thread to avoid deadlocks.
Tested-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'drivers/pcmcia/cs_internal.h')
-rw-r--r-- | drivers/pcmcia/cs_internal.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/pcmcia/cs_internal.h b/drivers/pcmcia/cs_internal.h index 127c97acf849..f95864c2191e 100644 --- a/drivers/pcmcia/cs_internal.h +++ b/drivers/pcmcia/cs_internal.h | |||
@@ -110,7 +110,7 @@ struct pcmcia_callback{ | |||
110 | struct module *owner; | 110 | struct module *owner; |
111 | int (*event) (struct pcmcia_socket *s, | 111 | int (*event) (struct pcmcia_socket *s, |
112 | event_t event, int priority); | 112 | event_t event, int priority); |
113 | void (*requery) (struct pcmcia_socket *s, int new_cis); | 113 | void (*requery) (struct pcmcia_socket *s); |
114 | int (*validate) (struct pcmcia_socket *s, unsigned int *i); | 114 | int (*validate) (struct pcmcia_socket *s, unsigned int *i); |
115 | int (*suspend) (struct pcmcia_socket *s); | 115 | int (*suspend) (struct pcmcia_socket *s); |
116 | int (*resume) (struct pcmcia_socket *s); | 116 | int (*resume) (struct pcmcia_socket *s); |
@@ -129,6 +129,7 @@ void pcmcia_parse_uevents(struct pcmcia_socket *socket, unsigned int events); | |||
129 | #define PCMCIA_UEVENT_INSERT 0x0002 | 129 | #define PCMCIA_UEVENT_INSERT 0x0002 |
130 | #define PCMCIA_UEVENT_SUSPEND 0x0004 | 130 | #define PCMCIA_UEVENT_SUSPEND 0x0004 |
131 | #define PCMCIA_UEVENT_RESUME 0x0008 | 131 | #define PCMCIA_UEVENT_RESUME 0x0008 |
132 | #define PCMCIA_UEVENT_REQUERY 0x0010 | ||
132 | 133 | ||
133 | struct pcmcia_socket *pcmcia_get_socket(struct pcmcia_socket *skt); | 134 | struct pcmcia_socket *pcmcia_get_socket(struct pcmcia_socket *skt); |
134 | void pcmcia_put_socket(struct pcmcia_socket *skt); | 135 | void pcmcia_put_socket(struct pcmcia_socket *skt); |