diff options
Diffstat (limited to 'sys/dev/spibus/controller/rockchip/rk_spi.c')
-rw-r--r-- | sys/dev/spibus/controller/rockchip/rk_spi.c | 7 |
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); |