Question about shared interrupts in devicetree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@80044000 {
	compatible = "fsl,imx28-power", "syscon";
	reg = <0x80044000 0x2000>;
	interrupts = <6>;

	reg_vddd: regulator@1 {
		compatible = "fsl,imx28-vddd";
	};

	pswitch: pswitch@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@80044000 {
	compatible = "fsl,imx28-power", "syscon";
	reg = <0x80044000 0x2000>;

	reg_vddd: regulator@1 {
		compatible = "fsl,imx28-vddd";
		interrupts = <6>;
	};

	pswitch: pswitch@5 {
		compatible = "fsl,mxs-pswitch";
		linux,code = <116>;
		interrupts = <6>;
	};
  }

  int irq = platform_get_irq(pdev, 0);

Best regards
Stefan

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies




[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux