diff options
author | Lars-Peter Clausen <lars@metafoo.de> | 2009-10-10 22:38:36 +0200 |
---|---|---|
committer | Lars-Peter Clausen <lars@metafoo.de> | 2009-10-10 22:38:36 +0200 |
commit | e4f3a9b77064267d5f15f0ed3054c61931410cf2 (patch) | |
tree | 43279e29d8d7893c496b17e49fea960e4eae49fc /drivers | |
parent | 65b142d43c184f45f57876cbcb9b3d1c62027875 (diff) |
glamo: Use set_irq_data instead of set_irq_chip_data for the demux handler
Also fixup order in which the irq handler and it's data are initalized.
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mfd/glamo/glamo-core.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/mfd/glamo/glamo-core.c b/drivers/mfd/glamo/glamo-core.c index b15f0fc0974..d70c27f5b64 100644 --- a/drivers/mfd/glamo/glamo-core.c +++ b/drivers/mfd/glamo/glamo-core.c @@ -310,7 +310,7 @@ static struct irq_chip glamo_irq_chip = { static void glamo_irq_demux_handler(unsigned int irq, struct irq_desc *desc) { - struct glamo_core *glamo = get_irq_desc_chip_data(desc); + struct glamo_core *glamo = get_irq_desc_data(desc); desc->status &= ~(IRQ_REPLAY | IRQ_WAITING); if (unlikely(desc->status & IRQ_INPROGRESS)) { @@ -981,15 +981,15 @@ static int __devinit glamo_probe(struct platform_device *pdev) * finally set the mfd interrupts up */ for (irq = irq_base; irq < irq_base + GLAMO_NR_IRQS; ++irq) { - set_irq_chip_and_handler(irq, &glamo_irq_chip, - handle_level_irq); set_irq_flags(irq, IRQF_VALID); set_irq_chip_data(irq, glamo); + set_irq_chip_and_handler(irq, &glamo_irq_chip, + handle_level_irq); } - set_irq_chained_handler(glamo->irq, glamo_irq_demux_handler); set_irq_type(glamo->irq, IRQ_TYPE_EDGE_FALLING); - set_irq_chip_data(glamo->irq, glamo); + set_irq_data(glamo->irq, glamo); + set_irq_chained_handler(glamo->irq, glamo_irq_demux_handler); glamo->irq_works = 1; ret = mfd_add_devices(&pdev->dev, pdev->id, glamo_cells, @@ -1012,8 +1012,8 @@ err_free_irqs: set_irq_chip_data(glamo->irq, NULL); for (irq = irq_base; irq < irq_base + GLAMO_NR_IRQS; ++irq) { - set_irq_flags(irq, 0); set_irq_chip(irq, NULL); + set_irq_flags(irq, 0); set_irq_chip_data(irq, NULL); } err_iounmap: |