summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorriastradh <riastradh@NetBSD.org>2023-05-10 00:09:31 +0000
committerriastradh <riastradh@NetBSD.org>2023-05-10 00:09:31 +0000
commitd3055d152ddad882ff19852125de9ef70e83c67c (patch)
tree9e77d785dfc97f10d5b75d60d07426d47cc856c2 /sys/dev
parentcae9a0928693c6dba7bd76cf8931d1f78a407552 (diff)
gpioow(4): Use config_detach_children.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/gpio/gpioow.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/sys/dev/gpio/gpioow.c b/sys/dev/gpio/gpioow.c
index 54895989cb2..30900065e52 100644
--- a/sys/dev/gpio/gpioow.c
+++ b/sys/dev/gpio/gpioow.c
@@ -1,4 +1,4 @@
-/* $NetBSD: gpioow.c,v 1.19 2021/08/07 16:19:10 thorpej Exp $ */
+/* $NetBSD: gpioow.c,v 1.20 2023/05/10 00:09:31 riastradh Exp $ */
/* $OpenBSD: gpioow.c,v 1.1 2006/03/04 16:27:03 grange Exp $ */
/*
@@ -18,7 +18,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: gpioow.c,v 1.19 2021/08/07 16:19:10 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: gpioow.c,v 1.20 2023/05/10 00:09:31 riastradh Exp $");
/*
* 1-Wire bus bit-banging through GPIO pin.
@@ -162,16 +162,15 @@ static int
gpioow_detach(device_t self, int flags)
{
struct gpioow_softc *sc = device_private(self);
- int rv = 0;
+ int error;
- if (sc->sc_ow_dev != NULL)
- rv = config_detach(sc->sc_ow_dev, flags);
+ error = config_detach_children(self, flags);
+ if (error)
+ return error;
- if (!rv) {
- gpio_pin_unmap(sc->sc_gpio, &sc->sc_map);
- pmf_device_deregister(self);
- }
- return rv;
+ gpio_pin_unmap(sc->sc_gpio, &sc->sc_map);
+ pmf_device_deregister(self);
+ return 0;
}
static int