Module Name: src
Committed By: jmcneill
Date: Tue May 18 11:13:31 UTC 2021
Modified Files:
src/sys/dev/fdt: dwc3_fdt.c
Log Message:
Unbreak previous; we have to look for a child node iff our node isn't
compatible with snps,dwc3.
To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/sys/dev/fdt/dwc3_fdt.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/fdt/dwc3_fdt.c
diff -u src/sys/dev/fdt/dwc3_fdt.c:1.14 src/sys/dev/fdt/dwc3_fdt.c:1.15
--- src/sys/dev/fdt/dwc3_fdt.c:1.14 Sat Apr 24 23:36:53 2021
+++ src/sys/dev/fdt/dwc3_fdt.c Tue May 18 11:13:31 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: dwc3_fdt.c,v 1.14 2021/04/24 23:36:53 thorpej Exp $ */
+/* $NetBSD: dwc3_fdt.c,v 1.15 2021/05/18 11:13:31 jmcneill Exp $ */
/*-
* Copyright (c) 2018 Jared McNeill <[email protected]>
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dwc3_fdt.c,v 1.14 2021/04/24 23:36:53 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dwc3_fdt.c,v 1.15 2021/05/18 11:13:31 jmcneill Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -203,14 +203,18 @@ dwc3_fdt_set_mode(struct xhci_softc *sc,
}
static const struct device_compatible_entry compat_data[] = {
- /* 1 = parent of dwc3 subnode */
- { .compat = "allwinner,sun50i-h6-dwc3", .value = 1 },
- { .compat = "amlogic,meson-gxl-dwc3", .value = 1 },
- { .compat = "fsl,imx8mq-dwc3", .value = 1 },
- { .compat = "rockchip,rk3328-dwc3", .value = 1 },
- { .compat = "rockchip,rk3399-dwc3", .value = 1 },
- { .compat = "samsung,exynos5250-dwusb3", .value = 1 },
- { .compat = "snps,dwc3", .value = 0 },
+ { .compat = "allwinner,sun50i-h6-dwc3" },
+ { .compat = "amlogic,meson-gxl-dwc3" },
+ { .compat = "fsl,imx8mq-dwc3" },
+ { .compat = "rockchip,rk3328-dwc3" },
+ { .compat = "rockchip,rk3399-dwc3" },
+ { .compat = "samsung,exynos5250-dwusb3" },
+ { .compat = "snps,dwc3" },
+ DEVICE_COMPAT_EOL
+};
+
+static const struct device_compatible_entry compat_data_dwc3[] = {
+ { .compat = "snps,dwc3" },
DEVICE_COMPAT_EOL
};
@@ -228,7 +232,6 @@ dwc3_fdt_attach(device_t parent, device_
struct xhci_softc * const sc = device_private(self);
struct fdt_attach_args * const faa = aux;
const int phandle = faa->faa_phandle;
- const struct device_compatible_entry *dce;
struct fdtbus_reset *rst;
struct fdtbus_phy *phy;
struct clk *clk;
@@ -239,11 +242,8 @@ dwc3_fdt_attach(device_t parent, device_
void *ih;
u_int n;
- dce = of_compatible_lookup(phandle, compat_data);
- KASSERT(dce != NULL);
-
/* Find dwc3 sub-node */
- if (dce->value != 0) {
+ if (of_compatible_lookup(phandle, compat_data_dwc3) == NULL) {
dwc3_phandle = of_find_firstchild_byname(phandle, "dwc3");
} else {
dwc3_phandle = phandle;