On Tue, Apr 10, 2012 at 03:37:28PM +0530, Poddar, Sourav wrote: > Hi Felipe, > > On Tue, Apr 10, 2012 at 2:54 PM, Felipe Balbi <balbi@xxxxxx> wrote: > > On Tue, Apr 03, 2012 at 10:52:26AM +0530, Sourav Poddar wrote: > > +static int kbd_write_irqstatus(struct omap4_keypad *keypad_data, > > + u32 offset, u32 value) > > +{ > > + return __raw_writel(value, keypad_data->base + offset); > > +} > > + > > +static int kbd_write_irqenable(struct omap4_keypad *keypad_data, > > + u32 offset, u32 value) > > +{ > > + return __raw_writel(value, keypad_data->base + offset); > > +} > > if this only writes to irqenable, why do you pass offset as an argument? > likewise for irqstatus. > > > Actually, here the offset is the "irqenable" register addresss offset and > "irqstatus" register > address offset from the base address. > Since, the above two address are different in case of Omap4 and omap5, we are > passing an offset > depending on the particular revision of the keyboard selected during probe. but you already have those in keypad_data->irqenable/irqstatus right ? Meaning you can access them directly here and save on the arguments: static int kbd_write_irqenable(struct omap4_keypad *keypad_data, u32 value) { return __raw_writel(value, keypad_data->base + keypad_data->irqenable); } -- balbi
Attachment:
signature.asc
Description: Digital signature