forked from luck/tmp_suning_uos_patched
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>
This commit is contained in:
parent
6e747b4b83
commit
c402c11072
@ -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)
|
|||||||
|
|
||||||
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)
|
|||||||
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user