summaryrefslogtreecommitdiffstats
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
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. :-)
-rw-r--r--sys/kern/subr_bus.c19
-rw-r--r--sys/sys/bus.h1
2 files changed, 20 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
/*
diff --git a/sys/sys/bus.h b/sys/sys/bus.h
index 84176db..77bd903 100644
--- a/sys/sys/bus.h
+++ b/sys/sys/bus.h
@@ -257,6 +257,7 @@ void device_set_desc_copy(device_t dev, const char* desc);
int device_set_devclass(device_t dev, const char *classname);
int device_set_driver(device_t dev, driver_t *driver);
void device_set_flags(device_t dev, u_int32_t flags);
+int device_set_unit(device_t dev, int unit); /* XXX DONT USE XXX */
int device_shutdown(device_t dev);
void device_unbusy(device_t dev);
void device_verbose(device_t dev);
OpenPOWER on IntegriCloud