diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-03-01 12:54:11 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-03-24 05:37:36 -0400 |
commit | c402c110721ed53916595473aed1013acde95bab (patch) | |
tree | c337a6340b76f800151b378a2c0126f22331cd4e /arch/arm/mach-rpc | |
parent | 6e747b4b83c2290b465aabd1ac006332430e2b2e (diff) |
ARM: riscpc: use irq chip data in ecard.c
Use irq chip data to store the expansion card data pointer, rather
than converting from the interrupt number to a slot number. This
allows the interrupt chip methods to avoid knowing about interrupt
numbering.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-rpc')
-rw-r--r-- | arch/arm/mach-rpc/ecard.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/mach-rpc/ecard.c b/arch/arm/mach-rpc/ecard.c index 4dd0edab6a65..ec84cfde4ad7 100644 --- a/arch/arm/mach-rpc/ecard.c +++ b/arch/arm/mach-rpc/ecard.c | |||
@@ -445,7 +445,7 @@ static expansioncard_ops_t ecard_default_ops = { | |||
445 | */ | 445 | */ |
446 | static void ecard_irq_unmask(struct irq_data *d) | 446 | static void ecard_irq_unmask(struct irq_data *d) |
447 | { | 447 | { |
448 | ecard_t *ec = slot_to_ecard(d->irq - 32); | 448 | ecard_t *ec = irq_data_get_irq_chip_data(d); |
449 | 449 | ||
450 | if (ec) { | 450 | if (ec) { |
451 | if (!ec->ops) | 451 | if (!ec->ops) |
@@ -461,7 +461,7 @@ static void ecard_irq_unmask(struct irq_data *d) | |||
461 | 461 | ||
462 | static void ecard_irq_mask(struct irq_data *d) | 462 | static void ecard_irq_mask(struct irq_data *d) |
463 | { | 463 | { |
464 | ecard_t *ec = slot_to_ecard(d->irq - 32); | 464 | ecard_t *ec = irq_data_get_irq_chip_data(d); |
465 | 465 | ||
466 | if (ec) { | 466 | if (ec) { |
467 | if (!ec->ops) | 467 | if (!ec->ops) |
@@ -1039,6 +1039,7 @@ ecard_probe(int slot, card_type_t type) | |||
1039 | ec->irq = 32 + slot; | 1039 | ec->irq = 32 + slot; |
1040 | irq_set_chip_and_handler(ec->irq, &ecard_chip, | 1040 | irq_set_chip_and_handler(ec->irq, &ecard_chip, |
1041 | handle_level_irq); | 1041 | handle_level_irq); |
1042 | irq_set_chip_data(ec->irq, ec); | ||
1042 | set_irq_flags(ec->irq, IRQF_VALID); | 1043 | set_irq_flags(ec->irq, IRQF_VALID); |
1043 | } | 1044 | } |
1044 | 1045 | ||