[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <tip-d0e286415dc1f4fea2971d6186b0775c7062575b@git.kernel.org>
Date: Mon, 21 Mar 2016 03:30:35 -0700
From: tip-bot for MaJun <tipbot@...or.com>
To: linux-tip-commits@...r.kernel.org
Cc: tglx@...utronix.de, linux-kernel@...r.kernel.org, mingo@...nel.org,
hpa@...or.com, mark.rutland@....com, majun258@...wei.com
Subject: [tip:irq/urgent] irqchip/mbigen: Adjust DT bindings to handle
multiple devices in a module
Commit-ID: d0e286415dc1f4fea2971d6186b0775c7062575b
Gitweb: http://git.kernel.org/tip/d0e286415dc1f4fea2971d6186b0775c7062575b
Author: MaJun <majun258@...wei.com>
AuthorDate: Thu, 17 Mar 2016 16:34:00 +0800
Committer: Thomas Gleixner <tglx@...utronix.de>
CommitDate: Mon, 21 Mar 2016 11:24:10 +0100
irqchip/mbigen: Adjust DT bindings to handle multiple devices in a module
A mbigen hardware module can contain more than one device node. These device
nodes contain the same register definition.
mbigen_dev1:intc_dev1 {
...
reg = <0x0 0xc0080000 0x0 0x10000>;
...
};
mbigen_dev2:intc_dev2 {
...
reg = <0x0 0xc0080000 0x0 0x10000>;
...
};
In this case both devices try to request the same resource resulting in a
resource conflict.
To address this problem the devices need to be subnodes of the mbigen hardware
module, which then contains the unique register space.
[ tglx: Massaged changelog ]
Suggested-by: Mark Rutland <mark.rutland@....com>
Signed-off-by: Ma Jun <majun258@...wei.com>
Cc: jason@...edaemon.net
Cc: marc.zyngier@....com
Cc: Catalin.Marinas@....com
Cc: guohanjun@...wei.com
Cc: Will.Deacon@....com
Cc: huxinwei@...wei.com
Cc: lizefan@...wei.com
Cc: dingtianhong@...wei.com
Cc: zhaojunhua@...ilicon.com
Cc: liguozhu@...ilicon.com
Cc: linux-arm-kernel@...ts.infradead.org
Link: http://lkml.kernel.org/r/20160203111602.GA1234@leverpostej
Link: http://lkml.kernel.org/r/1458203641-17172-2-git-send-email-majun258@huawei.com
Signed-off-by: Thomas Gleixner <tglx@...utronix.de>
---
.../interrupt-controller/hisilicon,mbigen-v2.txt | 22 +++++++++++++++++-----
1 file changed, 17 insertions(+), 5 deletions(-)
diff --git a/Documentation/devicetree/bindings/interrupt-controller/hisilicon,mbigen-v2.txt b/Documentation/devicetree/bindings/interrupt-controller/hisilicon,mbigen-v2.txt
index 720f7c9..3b2f4c4 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/hisilicon,mbigen-v2.txt
+++ b/Documentation/devicetree/bindings/interrupt-controller/hisilicon,mbigen-v2.txt
@@ -21,6 +21,8 @@ Mbigen main node required properties:
- reg: Specifies the base physical address and size of the Mbigen
registers.
+Mbigen sub node required properties:
+------------------------------------------
- interrupt controller: Identifies the node as an interrupt controller
- msi-parent: Specifies the MSI controller this mbigen use.
@@ -45,13 +47,23 @@ Mbigen main node required properties:
Examples:
- mbigen_device_gmac:intc {
+ mbigen_chip_dsa {
compatible = "hisilicon,mbigen-v2";
reg = <0x0 0xc0080000 0x0 0x10000>;
- interrupt-controller;
- msi-parent = <&its_dsa 0x40b1c>;
- num-pins = <9>;
- #interrupt-cells = <2>;
+
+ mbigen_gmac:intc_gmac {
+ interrupt-controller;
+ msi-parent = <&its_dsa 0x40b1c>;
+ num-pins = <9>;
+ #interrupt-cells = <2>;
+ };
+
+ mbigen_i2c:intc_i2c {
+ interrupt-controller;
+ msi-parent = <&its_dsa 0x40b0e>;
+ num-pins = <2>;
+ #interrupt-cells = <2>;
+ };
};
Devices connect to mbigen required properties:
Powered by blists - more mailing lists