diff options
author | Jens Künzer <Jens.Kuenzer@fpga.homeip.net> | 2010-03-06 02:27:22 -0500 |
---|---|---|
committer | Dominik Brodowski <linux@dominikbrodowski.net> | 2010-03-15 09:50:16 -0400 |
commit | 0d3a940de51c47a3d6322537c8dce925db755477 (patch) | |
tree | def17f37fabf348a4de30c99cad065bedc13a726 /drivers/pcmcia/yenta_socket.c | |
parent | ba8819e991ac507fcbfa080eacdff3e7eea4dc03 (diff) |
pcmcia: re-route Cardbus IRQ to ISA on ti1130 bridges if necessary
As the PCI irq pin of the ti1130 pcmcia bridge is not connected (at
least on some old IBM Thinkpad 760ED notebooks), the Cardbus IRQ has
to be routed to an ISA irq.
Part 3 of a series to allow the ISA irq to be used for Cardbus devices
if the socket's PCI irq is unusable.
[linux@dominikbrodowski.net: split up the original patch, commit message,
cleanup]
Signed-off-by: Jens Kuenzer <Jens.Kuenzer@fpga.homeip.net>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'drivers/pcmcia/yenta_socket.c')
-rw-r--r-- | drivers/pcmcia/yenta_socket.c | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/drivers/pcmcia/yenta_socket.c b/drivers/pcmcia/yenta_socket.c index 51ee68dbc613..418988ab6edf 100644 --- a/drivers/pcmcia/yenta_socket.c +++ b/drivers/pcmcia/yenta_socket.c | |||
@@ -42,6 +42,18 @@ module_param_string(o2_speedup, o2_speedup, sizeof(o2_speedup), 0444); | |||
42 | MODULE_PARM_DESC(o2_speedup, "Use prefetch/burst for O2-bridges: 'on', 'off' " | 42 | MODULE_PARM_DESC(o2_speedup, "Use prefetch/burst for O2-bridges: 'on', 'off' " |
43 | "or 'default' (uses recommended behaviour for the detected bridge)"); | 43 | "or 'default' (uses recommended behaviour for the detected bridge)"); |
44 | 44 | ||
45 | /* | ||
46 | * Only probe "regular" interrupts, don't | ||
47 | * touch dangerous spots like the mouse irq, | ||
48 | * because there are mice that apparently | ||
49 | * get really confused if they get fondled | ||
50 | * too intimately. | ||
51 | * | ||
52 | * Default to 11, 10, 9, 7, 6, 5, 4, 3. | ||
53 | */ | ||
54 | static u32 isa_interrupts = 0x0ef8; | ||
55 | |||
56 | |||
45 | #define debug(x, s, args...) dev_dbg(&s->dev->dev, x, ##args) | 57 | #define debug(x, s, args...) dev_dbg(&s->dev->dev, x, ##args) |
46 | 58 | ||
47 | /* Don't ask.. */ | 59 | /* Don't ask.. */ |
@@ -54,6 +66,8 @@ MODULE_PARM_DESC(o2_speedup, "Use prefetch/burst for O2-bridges: 'on', 'off' " | |||
54 | */ | 66 | */ |
55 | #ifdef CONFIG_YENTA_TI | 67 | #ifdef CONFIG_YENTA_TI |
56 | static int yenta_probe_cb_irq(struct yenta_socket *socket); | 68 | static int yenta_probe_cb_irq(struct yenta_socket *socket); |
69 | static unsigned int yenta_probe_irq(struct yenta_socket *socket, | ||
70 | u32 isa_irq_mask); | ||
57 | #endif | 71 | #endif |
58 | 72 | ||
59 | 73 | ||
@@ -898,17 +912,6 @@ static struct cardbus_type cardbus_type[] = { | |||
898 | }; | 912 | }; |
899 | 913 | ||
900 | 914 | ||
901 | /* | ||
902 | * Only probe "regular" interrupts, don't | ||
903 | * touch dangerous spots like the mouse irq, | ||
904 | * because there are mice that apparently | ||
905 | * get really confused if they get fondled | ||
906 | * too intimately. | ||
907 | * | ||
908 | * Default to 11, 10, 9, 7, 6, 5, 4, 3. | ||
909 | */ | ||
910 | static u32 isa_interrupts = 0x0ef8; | ||
911 | |||
912 | static unsigned int yenta_probe_irq(struct yenta_socket *socket, u32 isa_irq_mask) | 915 | static unsigned int yenta_probe_irq(struct yenta_socket *socket, u32 isa_irq_mask) |
913 | { | 916 | { |
914 | int i; | 917 | int i; |