|
@@ -324,9 +324,11 @@ static int gsta_alloc_irq_chip(struct gsta_gpio *chip)
|
|
|
{
|
|
|
struct irq_chip_generic *gc;
|
|
|
struct irq_chip_type *ct;
|
|
|
+ int rv;
|
|
|
|
|
|
- gc = irq_alloc_generic_chip(KBUILD_MODNAME, 1, chip->irq_base,
|
|
|
- chip->reg_base, handle_simple_irq);
|
|
|
+ gc = devm_irq_alloc_generic_chip(chip->dev, KBUILD_MODNAME, 1,
|
|
|
+ chip->irq_base,
|
|
|
+ chip->reg_base, handle_simple_irq);
|
|
|
if (!gc)
|
|
|
return -ENOMEM;
|
|
|
|
|
@@ -338,8 +340,11 @@ static int gsta_alloc_irq_chip(struct gsta_gpio *chip)
|
|
|
ct->chip.irq_enable = gsta_irq_enable;
|
|
|
|
|
|
/* FIXME: this makes at most 32 interrupts. Request 0 by now */
|
|
|
- irq_setup_generic_chip(gc, 0 /* IRQ_MSK(GSTA_GPIO_PER_BLOCK) */, 0,
|
|
|
- IRQ_NOREQUEST | IRQ_NOPROBE, 0);
|
|
|
+ rv = devm_irq_setup_generic_chip(chip->dev, gc,
|
|
|
+ 0 /* IRQ_MSK(GSTA_GPIO_PER_BLOCK) */,
|
|
|
+ 0, IRQ_NOREQUEST | IRQ_NOPROBE, 0);
|
|
|
+ if (rv)
|
|
|
+ return rv;
|
|
|
|
|
|
/* Set up all all 128 interrupts: code from setup_generic_chip */
|
|
|
{
|