diff options
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/dev/gpio/gpioiic.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/dev/gpio/gpioiic.c b/sys/dev/gpio/gpioiic.c index fdd226f2414f..cad2e1b5c970 100644 --- a/sys/dev/gpio/gpioiic.c +++ b/sys/dev/gpio/gpioiic.c @@ -143,6 +143,15 @@ gpioiic_attach(device_t dev) return (0); } +static int +gpioiic_detach(device_t dev) +{ + + bus_generic_detach(dev); + device_delete_children(dev); + return (0); +} + /* * Reset bus by setting SDA first and then SCL. * Must always be called with gpio bus locked. @@ -241,7 +250,7 @@ static device_method_t gpioiic_methods[] = { /* Device interface */ DEVMETHOD(device_probe, gpioiic_probe), DEVMETHOD(device_attach, gpioiic_attach), - DEVMETHOD(device_detach, bus_generic_detach), + DEVMETHOD(device_detach, gpioiic_detach), /* iicbb interface */ DEVMETHOD(iicbb_setsda, gpioiic_setsda), |
