Re: [patch 3/9] mfd/jz4740: Consolidate chained IRQ handler install/remove

From: Lee Jones
Date: Tue Jul 28 2015 - 04:05:23 EST


On Mon, 13 Jul 2015, Thomas Gleixner wrote:

> Chained irq handlers usually set up handler data as well. We now have
> a function to set both under irq_desc->lock. Replace the two calls
> with one.
>
> Search and conversion was done with coccinelle:
>
> Reported-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Julia Lawall <Julia.Lawall@xxxxxxx>
> Cc: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx>
> Cc: Lee Jones <lee.jones@xxxxxxxxxx>
> ---
> drivers/mfd/jz4740-adc.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)

Applied, thanks.

> Index: tip/drivers/mfd/jz4740-adc.c
> ===================================================================
> --- tip.orig/drivers/mfd/jz4740-adc.c
> +++ tip/drivers/mfd/jz4740-adc.c
> @@ -277,8 +277,7 @@ static int jz4740_adc_probe(struct platf
>
> adc->gc = gc;
>
> - irq_set_handler_data(adc->irq, gc);
> - irq_set_chained_handler(adc->irq, jz4740_adc_irq_demux);
> + irq_set_chained_handler_and_data(adc->irq, jz4740_adc_irq_demux, gc);
>
> writeb(0x00, adc->base + JZ_REG_ADC_ENABLE);
> writeb(0xff, adc->base + JZ_REG_ADC_CTRL);
> @@ -308,8 +307,7 @@ static int jz4740_adc_remove(struct plat
>
> irq_remove_generic_chip(adc->gc, IRQ_MSK(5), IRQ_NOPROBE | IRQ_LEVEL, 0);
> kfree(adc->gc);
> - irq_set_handler_data(adc->irq, NULL);
> - irq_set_chained_handler(adc->irq, NULL);
> + irq_set_chained_handler_and_data(adc->irq, NULL, NULL);
>
> iounmap(adc->base);
> release_mem_region(adc->mem->start, resource_size(adc->mem));
>
>

--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org â Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/