immortalwrt/target/linux/rockchip/patches-5.10/107-usb-dwc3-of-simple-bail-probe-if-no-dwc3-child-node.patch
2021-04-05 15:16:42 +08:00

37 lines
1.3 KiB
Diff

From: Johan Jonker <jbx6244@gmail.com>
To: heiko@sntech.de
Cc: devicetree@vger.kernel.org, balbi@kernel.org,
gregkh@linuxfoundation.org, linux-usb@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org,
robh+dt@kernel.org, linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 2/8] usb: dwc3: of-simple: bail probe if no dwc3 child node
Date: Tue, 9 Feb 2021 20:23:44 +0100
Message-ID: <20210209192350.7130-2-jbx6244@gmail.com> (raw)
In-Reply-To: <20210209192350.7130-1-jbx6244@gmail.com>
For some of the dwc3-of-simple compatible SoCs we
don't want to bind this driver to a dwc3 node,
but bind that node to the 'snps,dwc3' driver instead.
The kernel has no logic to decide which driver to bind
to if there are 2 matching drivers, so bail probe if no
dwc3 child node.
Signed-off-by: Johan Jonker <jbx6244@gmail.com>
---
drivers/usb/dwc3/dwc3-of-simple.c | 4 ++++
1 file changed, 4 insertions(+)
--- a/drivers/usb/dwc3/dwc3-of-simple.c
+++ b/drivers/usb/dwc3/dwc3-of-simple.c
@@ -38,6 +38,10 @@ static int dwc3_of_simple_probe(struct p
int ret;
+ /* Bail probe if no dwc3 child node. */
+ if (!of_get_compatible_child(dev->of_node, "snps,dwc3"))
+ return -ENODEV;
+
simple = devm_kzalloc(dev, sizeof(*simple), GFP_KERNEL);
if (!simple)
return -ENOMEM;