diff options
author | imp <imp@FreeBSD.org> | 2000-04-01 06:06:37 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2000-04-01 06:06:37 +0000 |
commit | 374bcbab25f8bbba4e9f21fc5a4ee26a314dd4b3 (patch) | |
tree | 62a14b59ad8bc330cb6522adf7925082d46f257b /sys/kern/subr_bus.c | |
parent | f64f3341e29b7db0ce82d24048194a7a135cb2a5 (diff) | |
download | FreeBSD-src-374bcbab25f8bbba4e9f21fc5a4ee26a314dd4b3.zip FreeBSD-src-374bcbab25f8bbba4e9f21fc5a4ee26a314dd4b3.tar.gz |
device_set_unit() DO NOT USE THIS. This was approved before 4.0
release for inclusion into the release, but bde talked me out of
committing the module that needs this until after the release. It is
after the release now. :-)
Diffstat (limited to 'sys/kern/subr_bus.c')
-rw-r--r-- | sys/kern/subr_bus.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index b8131fe..7492a4b 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -1199,6 +1199,25 @@ device_shutdown(device_t dev) return DEVICE_SHUTDOWN(dev); } +int +device_set_unit(device_t dev, int unit) +{ + devclass_t dc; + int err; + + dc = device_get_devclass(dev); + if (unit < dc->maxunit && dc->devices[unit]) + return EBUSY; + err = devclass_delete_device(dc, dev); + if (err) + return err; + dev->unit = unit; + err = devclass_add_device(dc, dev); + if (err) + return err; + return 0; +} + #ifdef DEVICE_SYSCTLS /* |