aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDaniel Ritz <daniel.ritz@gmx.ch>2005-06-23 03:10:12 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-23 12:45:31 -0400
commitfa912bcb06d5dc9525d8912a145db2bf4b7668c5 (patch)
tree5c62d9a1ef416c83d3e149ca94c4e646eb29daf2 /include
parent7007cab53176dc906e67b4efa62f20ff1432805a (diff)
[PATCH] yenta TI: turn off interrupts during card power-on #2
- make boot-up card recognition more reliable (ie. redo interrogation always if there is no valid 'card inserted' state) (and yes, i saw it happening on an o2micro controller that both CB_CBARD and CB_16BITCARD bits were set at the same time) - also redo interrogation before probing the ISA interrupts. it's safer to do the probing with the socket in a clean state. - make card insert detect more reliable. yenta_get_status() now returns SS_PENDING as long as the card is not completley inserted and one of the voltage bits is set. also !CB_CBARD doesn't mean CB_16BITCARD. there is CB_NOTACARD as well, so make an explicit check for CB_16BITCARD. - for TI bridges: disable IRQs during power-on. in all-serial and tied interrupt mode the interrupts are always disabled for single-slot controllers. for two-slot contollers the disabling is only done when the other slot is empty. to force disabling there is a new module parameter now: pwr_irqs_off=Y (which is a regression for working setups. that's why it's an option, only use when required) - modparm to disable ISA interrupt probing (isa_probe, defaults to on) - remove unneeded code/cleanups (ie. merge yenta_events() into yenta_interrupts()) Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include')
-rw-r--r--include/pcmcia/ss.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/pcmcia/ss.h b/include/pcmcia/ss.h
index 6d3413a56708..67b867f31fe4 100644
--- a/include/pcmcia/ss.h
+++ b/include/pcmcia/ss.h
@@ -77,6 +77,11 @@ extern socket_state_t dead_socket;
77/* Use this just for bridge windows */ 77/* Use this just for bridge windows */
78#define MAP_IOSPACE 0x20 78#define MAP_IOSPACE 0x20
79 79
80/* power hook operations */
81#define HOOK_POWER_PRE 0x01
82#define HOOK_POWER_POST 0x02
83
84
80typedef struct pccard_io_map { 85typedef struct pccard_io_map {
81 u_char map; 86 u_char map;
82 u_char flags; 87 u_char flags;
@@ -222,6 +227,9 @@ struct pcmcia_socket {
222 /* Zoom video behaviour is so chip specific its not worth adding 227 /* Zoom video behaviour is so chip specific its not worth adding
223 this to _ops */ 228 this to _ops */
224 void (*zoom_video)(struct pcmcia_socket *, int); 229 void (*zoom_video)(struct pcmcia_socket *, int);
230
231 /* so is power hook */
232 int (*power_hook)(struct pcmcia_socket *sock, int operation);
225 233
226 /* state thread */ 234 /* state thread */
227 struct semaphore skt_sem; /* protects socket h/w state */ 235 struct semaphore skt_sem; /* protects socket h/w state */