summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_bus.c
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2000-04-01 06:06:37 +0000
committerimp <imp@FreeBSD.org>2000-04-01 06:06:37 +0000
commit374bcbab25f8bbba4e9f21fc5a4ee26a314dd4b3 (patch)
tree62a14b59ad8bc330cb6522adf7925082d46f257b /sys/kern/subr_bus.c
parentf64f3341e29b7db0ce82d24048194a7a135cb2a5 (diff)
downloadFreeBSD-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.c19
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
/*
OpenPOWER on IntegriCloud