Commit c402c110 authored by Russell King's avatar Russell King

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: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 6e747b4b
...@@ -445,7 +445,7 @@ static expansioncard_ops_t ecard_default_ops = { ...@@ -445,7 +445,7 @@ static expansioncard_ops_t ecard_default_ops = {
*/ */
static void ecard_irq_unmask(struct irq_data *d) static void ecard_irq_unmask(struct irq_data *d)
{ {
ecard_t *ec = slot_to_ecard(d->irq - 32); ecard_t *ec = irq_data_get_irq_chip_data(d);
if (ec) { if (ec) {
if (!ec->ops) if (!ec->ops)
...@@ -461,7 +461,7 @@ static void ecard_irq_unmask(struct irq_data *d) ...@@ -461,7 +461,7 @@ static void ecard_irq_unmask(struct irq_data *d)
static void ecard_irq_mask(struct irq_data *d) static void ecard_irq_mask(struct irq_data *d)
{ {
ecard_t *ec = slot_to_ecard(d->irq - 32); ecard_t *ec = irq_data_get_irq_chip_data(d);
if (ec) { if (ec) {
if (!ec->ops) if (!ec->ops)
...@@ -1039,6 +1039,7 @@ ecard_probe(int slot, card_type_t type) ...@@ -1039,6 +1039,7 @@ ecard_probe(int slot, card_type_t type)
ec->irq = 32 + slot; ec->irq = 32 + slot;
irq_set_chip_and_handler(ec->irq, &ecard_chip, irq_set_chip_and_handler(ec->irq, &ecard_chip,
handle_level_irq); handle_level_irq);
irq_set_chip_data(ec->irq, ec);
set_irq_flags(ec->irq, IRQF_VALID); set_irq_flags(ec->irq, IRQF_VALID);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment