aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-rpc
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2012-03-01 12:54:11 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2012-03-24 05:37:36 -0400
commitc402c110721ed53916595473aed1013acde95bab (patch)
treec337a6340b76f800151b378a2c0126f22331cd4e /arch/arm/mach-rpc
parent6e747b4b83c2290b465aabd1ac006332430e2b2e (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.c5
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 */
446static void ecard_irq_unmask(struct irq_data *d) 446static 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
462static void ecard_irq_mask(struct irq_data *d) 462static 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