gpioiic: add the detach method

bus_generic_detach was not enough, we also need to clean up the iicbus
child device.

MFC after:	1 week
This commit is contained in:
Andriy Gapon 2019-10-18 12:34:30 +00:00
parent 47adb0e0e0
commit 44a57bfe3a

View File

@ -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),