diff options
author | dim <dim@FreeBSD.org> | 2015-01-31 20:49:30 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2015-01-31 20:49:30 +0000 |
commit | de7d9ba1a12bd2fffbea1f10e14038dfdbf7e5bb (patch) | |
tree | b819b6880c6321c816607340c0c038316ef603c1 /sys/dev/gpio/gpiobus.c | |
parent | df65628757d0e5e83d144c151eccd7cc129d160a (diff) | |
download | FreeBSD-src-de7d9ba1a12bd2fffbea1f10e14038dfdbf7e5bb.zip FreeBSD-src-de7d9ba1a12bd2fffbea1f10e14038dfdbf7e5bb.tar.gz |
Merge ^/head r277975 through r277998.
Diffstat (limited to 'sys/dev/gpio/gpiobus.c')
-rw-r--r-- | sys/dev/gpio/gpiobus.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/sys/dev/gpio/gpiobus.c b/sys/dev/gpio/gpiobus.c index efff2c0..9579fe2 100644 --- a/sys/dev/gpio/gpiobus.c +++ b/sys/dev/gpio/gpiobus.c @@ -131,6 +131,30 @@ gpiobus_print_pins(struct gpiobus_ivar *devi, char *buf, size_t buflen) strlcat(buf, tmp, buflen); } +device_t +gpiobus_attach_bus(device_t dev) +{ + device_t busdev; + + busdev = device_add_child(dev, "gpiobus", -1); + if (busdev == NULL) + return (NULL); + if (device_add_child(dev, "gpioc", -1) == NULL) { + device_delete_child(dev, busdev); + return (NULL); + } + bus_generic_attach(dev); + + return (busdev); +} + +int +gpiobus_detach_bus(device_t dev) +{ + + return (bus_generic_detach(dev)); +} + int gpiobus_init_softc(device_t dev) { |