On Mon, May 14, 2012 at 07:06:50PM +0900, Chanwoo Choi wrote: > On 05/14/2012 06:57 PM, Mark Brown wrote: > > On Mon, May 14, 2012 at 02:20:35PM +0900, Chanwoo Choi wrote: > >> + if (!max77693->irq) { > >> + dev_warn(max77693->dev, "No interrupt specified.\n"); > >> + return 0; > >> + } > > I'd suggest just setting up the IRQ domain anyway - it makes life > > simpler in the other drivers for the chip as they don't need to worry if > > interrupts are registered unless it's very important to them that they > > go off which is often not the case. Just skip actually claiming the > > IRQ. > This patch add support irq domain for MAX77693 in the > max77693_irq_init() function. > You can check on patchset. Then, The 'max77693->irq' is gpio pin for > IRQ. max77693->irq > is meant to indicate to the application processor that the status of > MAX77693 has changed. Sure. What I'm saying is that it's probably going to be easier all round if you run through all the init except actually calling request_threaded_irq() (and unmasking the external interrupt if you have control of that) - that way the interrupt numbers for the interrupts on the PMIC can always be requested, even if they can't actually occur. Only child drivers that *really* need the interrupts to happen will need to have conditional code.