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@xxxxxxxxx> --- drivers/usb/dwc3/dwc3-of-simple.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/usb/dwc3/dwc3-of-simple.c b/drivers/usb/dwc3/dwc3-of-simple.c index 71fd620c5..8d3baa5df 100644 --- 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 platform_device *pdev) 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; -- 2.11.0