Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1b7c4725 authored by Peter Ujfalusi's avatar Peter Ujfalusi
Browse files

MFD: twl6040: Remove wrapper for threaded irq request



Remove the twl6040_request_irq/free_irq inline functions,
and use direct calls instead in the core driver to
register the threaded irq.

Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
Reviewed-by: default avatarFelipe Balbi <balbi@ti.com>
Acked-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent d20e1d21
Loading
Loading
Loading
Loading
+5 −5
Original line number Original line Diff line number Diff line
@@ -502,8 +502,8 @@ static int __devinit twl6040_probe(struct platform_device *pdev)
	if (ret)
	if (ret)
		goto gpio2_err;
		goto gpio2_err;


	ret = twl6040_request_irq(twl6040, TWL6040_IRQ_READY,
	ret = request_threaded_irq(twl6040->irq_base + TWL6040_IRQ_READY,
					twl6040_naudint_handler, 0,
				   NULL, twl6040_naudint_handler, 0,
				   "twl6040_irq_ready", twl6040);
				   "twl6040_irq_ready", twl6040);
	if (ret) {
	if (ret) {
		dev_err(twl6040->dev, "READY IRQ request failed: %d\n",
		dev_err(twl6040->dev, "READY IRQ request failed: %d\n",
@@ -557,7 +557,7 @@ static int __devinit twl6040_probe(struct platform_device *pdev)
	return 0;
	return 0;


mfd_err:
mfd_err:
	twl6040_free_irq(twl6040, TWL6040_IRQ_READY, twl6040);
	free_irq(twl6040->irq_base + TWL6040_IRQ_READY, twl6040);
irq_err:
irq_err:
	twl6040_irq_exit(twl6040);
	twl6040_irq_exit(twl6040);
gpio2_err:
gpio2_err:
@@ -580,7 +580,7 @@ static int __devexit twl6040_remove(struct platform_device *pdev)
	if (gpio_is_valid(twl6040->audpwron))
	if (gpio_is_valid(twl6040->audpwron))
		gpio_free(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);
	twl6040_irq_exit(twl6040);


	mfd_remove_devices(&pdev->dev);
	mfd_remove_devices(&pdev->dev);
+0 −22
Original line number Original line Diff line number Diff line
@@ -215,28 +215,6 @@ struct twl6040 {
	u8 irq_masks_cache;
	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_read(struct twl6040 *twl6040, unsigned int reg);
int twl6040_reg_write(struct twl6040 *twl6040, unsigned int reg,
int twl6040_reg_write(struct twl6040 *twl6040, unsigned int reg,
		      u8 val);
		      u8 val);