diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-08-09 14:02:09 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-09-21 10:29:38 +0200 |
commit | bb80d9df8bac71eedee1a6787ca63aef972a7e48 (patch) | |
tree | 1b5cb9443c5ead5706c35afb618abbbd1592315e /freebsd/sys/kern/subr_bus.c | |
parent | Update to FreeBSD head 2017-10-01 (diff) | |
download | rtems-libbsd-bb80d9df8bac71eedee1a6787ca63aef972a7e48.tar.bz2 |
Update to FreeBSD head 2017-12-01
Git mirror commit e724f51f811a4b2bd29447f8b85ab5c2f9b88266.
Update #3472.
Diffstat (limited to 'freebsd/sys/kern/subr_bus.c')
-rw-r--r-- | freebsd/sys/kern/subr_bus.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/freebsd/sys/kern/subr_bus.c b/freebsd/sys/kern/subr_bus.c index fdc47ab5..09a459aa 100644 --- a/freebsd/sys/kern/subr_bus.c +++ b/freebsd/sys/kern/subr_bus.c @@ -1,6 +1,8 @@ #include <machine/rtems-bsd-kernel-space.h> /*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * * Copyright (c) 1997,1998,2003 Doug Rabson * All rights reserved. * @@ -2977,6 +2979,9 @@ device_attach(device_t dev) else dev->state = DS_ATTACHED; dev->flags &= ~DF_DONENOMATCH; +#ifndef __rtems__ + EVENTHANDLER_INVOKE(device_attach, dev); +#endif /* __rtems__ */ devadded(dev); return (0); } @@ -3010,8 +3015,19 @@ device_detach(device_t dev) if (dev->state != DS_ATTACHED) return (0); - if ((error = DEVICE_DETACH(dev)) != 0) +#ifndef __rtems__ + EVENTHANDLER_INVOKE(device_detach, dev, EVHDEV_DETACH_BEGIN); +#endif /* __rtems__ */ + if ((error = DEVICE_DETACH(dev)) != 0) { +#ifndef __rtems__ + EVENTHANDLER_INVOKE(device_detach, dev, EVHDEV_DETACH_FAILED); +#endif /* __rtems__ */ return (error); + } else { +#ifndef __rtems__ + EVENTHANDLER_INVOKE(device_detach, dev, EVHDEV_DETACH_COMPLETE); +#endif /* __rtems__ */ + } devremoved(dev); if (!device_is_quiet(dev)) device_printf(dev, "detached\n"); |