On Sun, Nov 11, 2012 at 08:42:00PM +0530, Laxman Dewangan wrote:

> +#define TPS80031_RGEMAP_IRQ(_reg, _mask)                     \

Why RGEMAP_IRQ?

> +static struct regmap_irq_chip tps80031_irq_chip = {
> +     .name = "tps80031",
> +     .irqs = tps80031_main_irqs,
> +     .num_irqs = ARRAY_SIZE(tps80031_main_irqs),
> +     .num_regs = 3,
> +     .status_base = TPS80031_INT_STS_A,
> +     .mask_base = TPS80031_INT_MSK_LINE_A,
> +     .wake_base = 1,

I'm not sure your wake_base setting is sane here - this is expected to
be a register.  If it is a register why is it not a #define?

> +static int __devinit tps80031_irq_init(struct tps80031 *tps80031, int irq,
> +                             int irq_base)
> +{
> +     struct device *dev = tps80031->dev;
> +     int i, ret;
> +
> +     for (i = 0; i < 3; i++)
> +             tps80031_write(dev, SLAVE_ID2,
> +                             TPS80031_INT_MSK_STS_A + i, 0x00);

regmap ought to be masking everything for you on init.

Attachment: signature.asc
Description: Digital signature

Reply via email to