if (ret)
goto gpio2_err;
- ret = twl6040_request_irq(twl6040, TWL6040_IRQ_READY,
- twl6040_naudint_handler, 0,
- "twl6040_irq_ready", twl6040);
+ ret = request_threaded_irq(twl6040->irq_base + TWL6040_IRQ_READY,
+ NULL, twl6040_naudint_handler, 0,
+ "twl6040_irq_ready", twl6040);
if (ret) {
dev_err(twl6040->dev, "READY IRQ request failed: %d\n",
ret);
return 0;
mfd_err:
- twl6040_free_irq(twl6040, TWL6040_IRQ_READY, twl6040);
+ free_irq(twl6040->irq_base + TWL6040_IRQ_READY, twl6040);
irq_err:
twl6040_irq_exit(twl6040);
gpio2_err:
if (gpio_is_valid(twl6040->audpwron))
gpio_free(twl6040->audpwron);
- twl6040_free_irq(twl6040, TWL6040_IRQ_READY, twl6040);
+ free_irq(twl6040->irq_base + TWL6040_IRQ_READY, twl6040);
twl6040_irq_exit(twl6040);
mfd_remove_devices(&pdev->dev);
u8 irq_masks_cache;
};
-static inline int twl6040_request_irq(struct twl6040 *twl6040, int irq,
- irq_handler_t handler,
- unsigned long irqflags,
- const char *name,
- void *data)
-{
- if (!twl6040->irq_base)
- return -EINVAL;
-
- return request_threaded_irq(twl6040->irq_base + irq, NULL, handler,
- irqflags, name, data);
-}
-
-static inline void twl6040_free_irq(struct twl6040 *twl6040, int irq,
- void *data)
-{
- if (!twl6040->irq_base)
- return;
-
- free_irq(twl6040->irq_base + irq, data);
-}
-
int twl6040_reg_read(struct twl6040 *twl6040, unsigned int reg);
int twl6040_reg_write(struct twl6040 *twl6040, unsigned int reg,
u8 val);