Question about shared interrupts in devicetree
Stefan Wahren
stefan.wahren at i2se.com
Sat Apr 4 17:40:13 EDT 2015
Hi,
i'm currently working on drivers (regulator and power switch) for a power
subsystem of a ARM9 processor (Freescale i.MX28). There are interrupts for the
power subsystem which share the same interrupt line. This interrupt line is
needed by both drivers (regulator and power switch).
Now the question what is the right way (tm) to specify the interrupt in the
devicetree and fetch the irq number during driver probe?
Option A (define interrupt in parent node):
power: power at 80044000 {
compatible = "fsl,imx28-power", "syscon";
reg = <0x80044000 0x2000>;
interrupts = <6>;
reg_vddd: regulator at 1 {
compatible = "fsl,imx28-vddd";
};
pswitch: pswitch at 5 {
compatible = "fsl,mxs-pswitch";
linux,code = <116>;
};
}
int irq = irq_of_parse_and_map(parent, 0);
Option B (define interrupt for each child node):
power: power at 80044000 {
compatible = "fsl,imx28-power", "syscon";
reg = <0x80044000 0x2000>;
reg_vddd: regulator at 1 {
compatible = "fsl,imx28-vddd";
interrupts = <6>;
};
pswitch: pswitch at 5 {
compatible = "fsl,mxs-pswitch";
linux,code = <116>;
interrupts = <6>;
};
}
int irq = platform_get_irq(pdev, 0);
Best regards
Stefan
More information about the Kernelnewbies
mailing list