aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorPeter Jeremy <peterj@FreeBSD.org>2019-10-25 19:38:02 +0000
committerPeter Jeremy <peterj@FreeBSD.org>2019-10-25 19:38:02 +0000
commit5dae8927356d6ce48a54d9fc608f31fa7ddf1b03 (patch)
tree073b262a9068f213825846f73a07d07553455907 /sys
parent6e6b5143f57d139c282c180ff00609e90c79d471 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/arm64/rockchip/rk805.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/arm64/rockchip/rk805.c b/sys/arm64/rockchip/rk805.c
index a68a1dd668807..11a69a6976fe5 100644
--- a/sys/arm64/rockchip/rk805.c
+++ b/sys/arm64/rockchip/rk805.c
@@ -467,9 +467,6 @@ rk805_attach(device_t dev)
if (config_intrhook_establish(&sc->intr_hook) != 0)
return (ENOMEM);
- sc->regs = malloc(sizeof(struct rk805_reg_sc *) * sc->nregs,
- M_RK805_REG, M_WAITOK | M_ZERO);
-
sc->type = ofw_bus_search_compatible(dev, compat_data)->ocd_data;
switch (sc->type) {
case RK805:
@@ -480,8 +477,14 @@ rk805_attach(device_t dev)
regdefs = rk808_regdefs;
sc->nregs = nitems(rk808_regdefs);
break;
+ default:
+ device_printf(dev, "Unknown type %d\n", sc->type);
+ return (ENXIO);
}
+ sc->regs = malloc(sizeof(struct rk805_reg_sc *) * sc->nregs,
+ M_RK805_REG, M_WAITOK | M_ZERO);
+
rnode = ofw_bus_find_child(ofw_bus_get_node(dev), "regulators");
if (rnode > 0) {
for (i = 0; i < sc->nregs; i++) {