From 44a57bfe3abf43e7953813eef3a3b651dbfdd677 Mon Sep 17 00:00:00 2001 From: Andriy Gapon Date: Fri, 18 Oct 2019 12:34:30 +0000 Subject: [PATCH] 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 --- sys/dev/gpio/gpioiic.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/sys/dev/gpio/gpioiic.c b/sys/dev/gpio/gpioiic.c index fdd226f2414..cad2e1b5c97 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),