Re: [PATCH 2/2] regmap: irq: do not write mask register if it isnot supported

From: Laxman Dewangan
Date: Thu Feb 14 2013 - 06:57:20 EST

On Thursday 14 February 2013 05:05 PM, Mark Brown wrote:
* PGP Signed by an unknown key

On Thu, Feb 14, 2013 at 04:36:08PM +0530, Laxman Dewangan wrote:
On Wednesday 13 February 2013 07:50 PM, Mark Brown wrote:
for (i = 0; i < d->chip->num_regs; i++) {
+ if (!d->chip->mask_base)
+ goto skip_mask_reg_update;
Why is this inside the loop?
You appear to have ignored this question.

I have accepted this to put out of loop.
Originally thought that Inside loop, there is two register update one is mask and other is wakup. If I ignore the loop for mask_base= 0 then probably wake_ register will not get updated and hence it is inside the loop to update the wake register. If there is wake_base is 0 then this register update will be ignored anyhow.

I'd also expect us to return an error if a caller tries to enable or
disable an interrupt, or possibly to give different ops to the IRQ
subsystem, rather than just silently claim we did what we were asked.
if I remove the mask_buf at all then how do we tell the int_sts
register is corresponding to which gpio handler?
This doesn't sound like something that should be open coded in
individual interrupt controller drivers, obviously it's a bit rubbish
that there's no way to enable or disable the interrupt but presumably
other hardware has the same "feature" and the IRQ subsystem ought to
understand it.

To support such case, can we assume that mask is always enabled (interrupt enabled) so that it can be use in irq_thread to mask the interrupt status. So during initialization, if there is no mask_base register then all mask_buf is such that it enabled interrupt.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at