aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/spibus/controller/rockchip/rk_spi.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/spibus/controller/rockchip/rk_spi.c')
-rw-r--r--sys/dev/spibus/controller/rockchip/rk_spi.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/dev/spibus/controller/rockchip/rk_spi.c b/sys/dev/spibus/controller/rockchip/rk_spi.c
index f25ec77ead5b..db650763f6e1 100644
--- a/sys/dev/spibus/controller/rockchip/rk_spi.c
+++ b/sys/dev/spibus/controller/rockchip/rk_spi.c
@@ -332,13 +332,14 @@ rk_spi_attach(device_t dev)
goto fail;
}
- sc->spibus = device_add_child(dev, "spibus", -1);
+ sc->spibus = device_add_child(dev, "spibus", DEVICE_UNIT_ANY);
RK_SPI_WRITE_4(sc, RK_SPI_IMR, 0);
RK_SPI_WRITE_4(sc, RK_SPI_TXFTLR, sc->fifo_size/2 - 1);
RK_SPI_WRITE_4(sc, RK_SPI_RXFTLR, sc->fifo_size/2 - 1);
- return (bus_generic_attach(dev));
+ bus_attach_children(dev);
+ return (0);
fail:
rk_spi_detach(dev);
@@ -353,8 +354,6 @@ rk_spi_detach(device_t dev)
sc = device_get_softc(dev);
bus_generic_detach(sc->dev);
- if (sc->spibus != NULL)
- device_delete_child(dev, sc->spibus);
if (sc->clk_spi != NULL)
clk_release(sc->clk_spi);