lkml.org 
[lkml]   [2010]   [Dec]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] mfd: Convert jz4740-adc to new irq_ methods
On 12/12/2010 12:46 PM, Mark Brown wrote:
> Convert the jz4740-adc driver to use the recently introduced IRQ API
> variants which are passed struct irq_data rather than an IRQ number.
>
> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
> ---
> drivers/mfd/jz4740-adc.c | 24 ++++++++++++------------
> 1 files changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/mfd/jz4740-adc.c b/drivers/mfd/jz4740-adc.c
> index 9dd1b33..7188c06 100644
> --- a/drivers/mfd/jz4740-adc.c
> +++ b/drivers/mfd/jz4740-adc.c
> @@ -84,31 +84,31 @@ static inline void jz4740_adc_irq_set_masked(struct jz4740_adc *adc, int irq,
> spin_unlock_irqrestore(&adc->lock, flags);
> }
>
> -static void jz4740_adc_irq_mask(unsigned int irq)
> +static void jz4740_adc_irq_mask(struct irq_data *data)
> {
> - struct jz4740_adc *adc = get_irq_chip_data(irq);
> - jz4740_adc_irq_set_masked(adc, irq, true);
> + struct jz4740_adc *adc = irq_data_get_irq_chip_data(data);
> + jz4740_adc_irq_set_masked(adc, data->irq, true);
> }
>
> -static void jz4740_adc_irq_unmask(unsigned int irq)
> +static void jz4740_adc_irq_unmask(struct irq_data *data)
> {
> - struct jz4740_adc *adc = get_irq_chip_data(irq);
> - jz4740_adc_irq_set_masked(adc, irq, false);
> + struct jz4740_adc *adc = irq_data_get_irq_chip_data(data);
> + jz4740_adc_irq_set_masked(adc, data->irq, false);
> }
>
> -static void jz4740_adc_irq_ack(unsigned int irq)
> +static void jz4740_adc_irq_ack(struct irq_data *data)
> {
> - struct jz4740_adc *adc = get_irq_chip_data(irq);
> + struct jz4740_adc *adc = irq_data_get_irq_chip_data(data);
>
> - irq -= adc->irq_base;
> + data->irq -= adc->irq_base;
data->irq is decremented now each time an irq is acked
> writeb(BIT(irq), adc->base + JZ_REG_ADC_STATUS);
And 'irq' is undefined.

I'll send a patch as reply which is compile and runtime tested.
> }
>
> static struct irq_chip jz4740_adc_irq_chip = {
> .name = "jz4740-adc",
> - .mask = jz4740_adc_irq_mask,
> - .unmask = jz4740_adc_irq_unmask,
> - .ack = jz4740_adc_irq_ack,
> + .irq_mask = jz4740_adc_irq_mask,
> + .irq_unmask = jz4740_adc_irq_unmask,
> + .irq_ack = jz4740_adc_irq_ack,
> };
>
> static void jz4740_adc_irq_demux(unsigned int irq, struct irq_desc *desc)



\
 
 \ /
  Last update: 2010-12-12 17:39    [W:0.602 / U:0.064 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site