Messages in this thread | | | Date | Sun, 12 Dec 2010 17:36:51 +0100 | From | Lars-Peter Clausen <> | Subject | Re: [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)
| |