summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2003-07-02 16:09:02 +0000
committerjhb <jhb@FreeBSD.org>2003-07-02 16:09:02 +0000
commit17958a749f60b50092d0ae5d6171bdc924cbed02 (patch)
tree24843831a3541cd5733aaad746e1a57206e1e21f /sys
parentea0bd1523805444400e26e89587d5f1a933ff7dd (diff)
downloadFreeBSD-src-17958a749f60b50092d0ae5d6171bdc924cbed02.zip
FreeBSD-src-17958a749f60b50092d0ae5d6171bdc924cbed02.tar.gz
- Use the new resource_disabled() helper function to see if devices are
disabled. - Change the apm driver to match the acpi driver's behavior by checking to see if the device is disabled in the identify routine instead of in the probe routine. This way if the device is disabled it is never created. Note that a few places (ips(4), Alpha SMP) used "disable" instead of "disabled" for their hint names, and these hints must be changed to "disabled". If this is a big problem, resource_disabled() can always be changed to honor both names.
Diffstat (limited to 'sys')
-rw-r--r--sys/alpha/alpha/mp_machdep.c4
-rw-r--r--sys/dev/acpica/acpi.c7
-rw-r--r--sys/dev/atkbdc/atkbd.c3
-rw-r--r--sys/dev/atkbdc/atkbdc_isa.c2
-rw-r--r--sys/dev/atkbdc/atkbdc_subr.c2
-rw-r--r--sys/dev/fdc/fdc.c5
-rw-r--r--sys/dev/ips/ips_pci.c5
-rw-r--r--sys/dev/kbd/atkbd.c3
-rw-r--r--sys/dev/sio/sio.c8
-rw-r--r--sys/i386/bios/apm.c15
-rw-r--r--sys/i386/isa/pcvt/pcvt_drv.c4
-rw-r--r--sys/isa/atkbdc_isa.c2
-rw-r--r--sys/isa/fd.c5
-rw-r--r--sys/isa/isahint.c2
-rw-r--r--sys/isa/syscons_isa.c4
-rw-r--r--sys/pc98/cbus/fdc.c5
-rw-r--r--sys/pc98/cbus/pckbd.c3
-rw-r--r--sys/pc98/cbus/sio.c7
-rw-r--r--sys/pc98/cbus/syscons_cbus.c4
-rw-r--r--sys/pc98/pc98/fd.c5
-rw-r--r--sys/pc98/pc98/pc98kbd.c3
-rw-r--r--sys/pc98/pc98/sio.c7
-rw-r--r--sys/pc98/pc98/syscons_pc98.c4
23 files changed, 37 insertions, 72 deletions
diff --git a/sys/alpha/alpha/mp_machdep.c b/sys/alpha/alpha/mp_machdep.c
index b1403dd..4a7f725 100644
--- a/sys/alpha/alpha/mp_machdep.c
+++ b/sys/alpha/alpha/mp_machdep.c
@@ -349,7 +349,6 @@ cpu_mp_start(void)
mtx_init(&ap_boot_mtx, "ap boot", NULL, MTX_SPIN);
for (i = 0; i < hwrpb->rpb_pcs_cnt; i++) {
- int dv;
struct pcs *pcsp;
if (i == boot_cpu_id)
@@ -380,8 +379,7 @@ cpu_mp_start(void)
}
continue;
}
- dv = 0;
- if (resource_int_value("cpu", i, "disable", &dv) == 0 && dv) {
+ if (resource_disabled("cpu", i))
printf("CPU %d disabled by loader.\n", i);
continue;
}
diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c
index c5f920e..4d4b221 100644
--- a/sys/dev/acpica/acpi.c
+++ b/sys/dev/acpica/acpi.c
@@ -215,8 +215,7 @@ acpi_identify(driver_t *driver, device_t parent)
/*
* Check that we haven't been disabled with a hint.
*/
- if (!resource_int_value("acpi", 0, "disabled", &error) &&
- (error != 0))
+ if (resource_disabled("acpi", 0))
return_VOID;
/*
@@ -2175,13 +2174,11 @@ out:
static void
acpi_pm_register(void *arg)
{
- int error;
if (!cold)
return;
- if (!resource_int_value("acpi", 0, "disabled", &error) &&
- (error != 0))
+ if (resource_disabled("acpi", 0))
return;
power_pm_register(POWER_PM_TYPE_ACPI, acpi_pm_func, NULL);
diff --git a/sys/dev/atkbdc/atkbd.c b/sys/dev/atkbdc/atkbd.c
index edf6489..569f14b 100644
--- a/sys/dev/atkbdc/atkbd.c
+++ b/sys/dev/atkbdc/atkbd.c
@@ -277,8 +277,7 @@ atkbd_configure(int flags)
atkbdc_configure();
/* if the driver is disabled, unregister the keyboard if any */
- if ((resource_int_value("atkbd", ATKBD_DEFAULT, "disabled", &i) == 0)
- && i != 0) {
+ if (resource_disabled("atkbd", ATKBD_DEFAULT)) {
i = kbd_find_keyboard(ATKBD_DRIVER_NAME, ATKBD_DEFAULT);
if (i >= 0) {
kbd = kbd_get_keyboard(i);
diff --git a/sys/dev/atkbdc/atkbdc_isa.c b/sys/dev/atkbdc/atkbdc_isa.c
index 7dbe02a..2618adf 100644
--- a/sys/dev/atkbdc/atkbdc_isa.c
+++ b/sys/dev/atkbdc/atkbdc_isa.c
@@ -255,7 +255,7 @@ atkbdc_add_child(device_t bus, int order, char *name, int unit)
if (resource_int_value(name, unit, "flags", &t) == 0)
device_set_flags(child, t);
- if (resource_int_value(name, unit, "disabled", &t) == 0 && t != 0)
+ if (resource_disabled(name, unit))
device_disable(child);
device_set_ivars(child, ivar);
diff --git a/sys/dev/atkbdc/atkbdc_subr.c b/sys/dev/atkbdc/atkbdc_subr.c
index 7dbe02a..2618adf 100644
--- a/sys/dev/atkbdc/atkbdc_subr.c
+++ b/sys/dev/atkbdc/atkbdc_subr.c
@@ -255,7 +255,7 @@ atkbdc_add_child(device_t bus, int order, char *name, int unit)
if (resource_int_value(name, unit, "flags", &t) == 0)
device_set_flags(child, t);
- if (resource_int_value(name, unit, "disabled", &t) == 0 && t != 0)
+ if (resource_disabled(name, unit))
device_disable(child);
device_set_ivars(child, ivar);
diff --git a/sys/dev/fdc/fdc.c b/sys/dev/fdc/fdc.c
index 7d30d8f..5346144 100644
--- a/sys/dev/fdc/fdc.c
+++ b/sys/dev/fdc/fdc.c
@@ -973,7 +973,7 @@ fdc_detach(device_t dev)
static void
fdc_add_child(device_t dev, const char *name, int unit)
{
- int disabled, flags;
+ int flags;
struct fdc_ivars *ivar;
device_t child;
@@ -990,8 +990,7 @@ fdc_add_child(device_t dev, const char *name, int unit)
device_set_ivars(child, ivar);
if (resource_int_value(name, unit, "flags", &flags) == 0)
device_set_flags(child, flags);
- if (resource_int_value(name, unit, "disabled", &disabled) == 0
- && disabled != 0)
+ if (resource_disabled(name, unit))
device_disable(child);
}
diff --git a/sys/dev/ips/ips_pci.c b/sys/dev/ips/ips_pci.c
index 81fa0e6..8cda989 100644
--- a/sys/dev/ips/ips_pci.c
+++ b/sys/dev/ips/ips_pci.c
@@ -50,13 +50,10 @@ static int ips_pci_probe(device_t dev)
static int ips_pci_attach(device_t dev)
{
u_int32_t command;
- int tval;
ips_softc_t *sc;
- tval = 0;
- if (resource_int_value(device_get_name(dev), device_get_unit(dev),
- "disable", &tval) == 0 && tval) {
+ if (resource_disabled(device_get_name(dev), device_get_unit(dev))) {
device_printf(dev, "device is disabled\n");
/* but return 0 so the !$)$)*!$*) unit isn't reused */
return (0);
diff --git a/sys/dev/kbd/atkbd.c b/sys/dev/kbd/atkbd.c
index edf6489..569f14b 100644
--- a/sys/dev/kbd/atkbd.c
+++ b/sys/dev/kbd/atkbd.c
@@ -277,8 +277,7 @@ atkbd_configure(int flags)
atkbdc_configure();
/* if the driver is disabled, unregister the keyboard if any */
- if ((resource_int_value("atkbd", ATKBD_DEFAULT, "disabled", &i) == 0)
- && i != 0) {
+ if (resource_disabled("atkbd", ATKBD_DEFAULT)) {
i = kbd_find_keyboard(ATKBD_DRIVER_NAME, ATKBD_DEFAULT);
if (i >= 0) {
kbd = kbd_get_keyboard(i);
diff --git a/sys/dev/sio/sio.c b/sys/dev/sio/sio.c
index 3304078..898a666 100644
--- a/sys/dev/sio/sio.c
+++ b/sys/dev/sio/sio.c
@@ -2967,11 +2967,9 @@ siocnprobe(cp)
for (unit = 0; unit < 16; unit++) { /* XXX need to know how many */
int flags;
- int disabled;
- if (resource_int_value("sio", unit, "disabled", &disabled) == 0) {
- if (disabled)
- continue;
- }
+
+ if (resource_disabled("sio", unit))
+ continue;
if (resource_int_value("sio", unit, "flags", &flags))
continue;
if (COM_CONSOLE(flags) || COM_DEBUGGER(flags)) {
diff --git a/sys/i386/bios/apm.c b/sys/i386/bios/apm.c
index 016d924..f67bdbe 100644
--- a/sys/i386/bios/apm.c
+++ b/sys/i386/bios/apm.c
@@ -846,6 +846,9 @@ apm_identify(driver_t *driver, device_t parent)
return;
}
+ if (resource_disabled("apm", 0))
+ return;
+
child = BUS_ADD_CHILD(parent, 0, "apm", 0);
if (child == NULL)
panic("apm_identify");
@@ -860,18 +863,12 @@ apm_probe(device_t dev)
#define APM_KERNBASE KERNBASE
struct vm86frame vmf;
struct apm_softc *sc = &apm_softc;
- int disabled, flags;
+ int flags;
#ifdef PC98
int rid;
#endif
device_set_desc(dev, "APM BIOS");
-
- if (resource_int_value("apm", 0, "disabled", &disabled) != 0)
- disabled = 0;
- if (disabled)
- return ENXIO;
-
if (device_get_unit(dev) > 0) {
printf("apm: Only one APM driver supported.\n");
return ENXIO;
@@ -1544,10 +1541,8 @@ out:
static void
apm_pm_register(void *arg)
{
- int disabled = 0;
- resource_int_value("apm", 0, "disabled", &disabled);
- if (disabled == 0)
+ if (!resource_disabled("apm", 0))
power_pm_register(POWER_PM_TYPE_APM, apm_pm_func, NULL);
}
diff --git a/sys/i386/isa/pcvt/pcvt_drv.c b/sys/i386/isa/pcvt/pcvt_drv.c
index b5d0063..b437e0c 100644
--- a/sys/i386/isa/pcvt/pcvt_drv.c
+++ b/sys/i386/isa/pcvt/pcvt_drv.c
@@ -642,8 +642,8 @@ pcvt_cn_probe(struct consdev *cp)
int unit = 0;
int i;
- /* See if this driver is disabled in probe hint. */
- if (resource_int_value("vt", unit, "disabled", &i) == 0 && i)
+ /* See if this driver is disabled in probe hint. */
+ if (resource_disabled("vt", unit))
{
cp->cn_pri = CN_DEAD;
return;
diff --git a/sys/isa/atkbdc_isa.c b/sys/isa/atkbdc_isa.c
index 7dbe02a..2618adf 100644
--- a/sys/isa/atkbdc_isa.c
+++ b/sys/isa/atkbdc_isa.c
@@ -255,7 +255,7 @@ atkbdc_add_child(device_t bus, int order, char *name, int unit)
if (resource_int_value(name, unit, "flags", &t) == 0)
device_set_flags(child, t);
- if (resource_int_value(name, unit, "disabled", &t) == 0 && t != 0)
+ if (resource_disabled(name, unit))
device_disable(child);
device_set_ivars(child, ivar);
diff --git a/sys/isa/fd.c b/sys/isa/fd.c
index 7d30d8f..5346144 100644
--- a/sys/isa/fd.c
+++ b/sys/isa/fd.c
@@ -973,7 +973,7 @@ fdc_detach(device_t dev)
static void
fdc_add_child(device_t dev, const char *name, int unit)
{
- int disabled, flags;
+ int flags;
struct fdc_ivars *ivar;
device_t child;
@@ -990,8 +990,7 @@ fdc_add_child(device_t dev, const char *name, int unit)
device_set_ivars(child, ivar);
if (resource_int_value(name, unit, "flags", &flags) == 0)
device_set_flags(child, flags);
- if (resource_int_value(name, unit, "disabled", &disabled) == 0
- && disabled != 0)
+ if (resource_disabled(name, unit))
device_disable(child);
}
diff --git a/sys/isa/isahint.c b/sys/isa/isahint.c
index aeed432..dd04967 100644
--- a/sys/isa/isahint.c
+++ b/sys/isa/isahint.c
@@ -79,7 +79,7 @@ isahint_add_device(device_t parent, const char *name, int unit)
if (resource_int_value(name, unit, "flags", &t) == 0)
device_set_flags(child, t);
- if (resource_int_value(name, unit, "disabled", &t) == 0 && t != 0)
+ if (resource_disabled(name, unit))
device_disable(child);
}
diff --git a/sys/isa/syscons_isa.c b/sys/isa/syscons_isa.c
index b4a5263..d88da89 100644
--- a/sys/isa/syscons_isa.c
+++ b/sys/isa/syscons_isa.c
@@ -195,14 +195,12 @@ sc_softc_t
int
sc_get_cons_priority(int *unit, int *flags)
{
- int disabled;
const char *at;
int u, f;
*unit = -1;
for (u = 0; u < 16; u++) {
- if ((resource_int_value(SC_DRIVER_NAME, u, "disabled",
- &disabled) == 0) && disabled)
+ if (resource_disabled(SC_DRIVER_NAME, u))
continue;
if (resource_string_value(SC_DRIVER_NAME, u, "at", &at) != 0)
continue;
diff --git a/sys/pc98/cbus/fdc.c b/sys/pc98/cbus/fdc.c
index a940ccb..04c46e0 100644
--- a/sys/pc98/cbus/fdc.c
+++ b/sys/pc98/cbus/fdc.c
@@ -1275,7 +1275,7 @@ fdc_detach(device_t dev)
static void
fdc_add_child(device_t dev, const char *name, int unit)
{
- int disabled, flags;
+ int flags;
struct fdc_ivars *ivar;
device_t child;
@@ -1292,8 +1292,7 @@ fdc_add_child(device_t dev, const char *name, int unit)
device_set_ivars(child, ivar);
if (resource_int_value(name, unit, "flags", &flags) == 0)
device_set_flags(child, flags);
- if (resource_int_value(name, unit, "disabled", &disabled) == 0
- && disabled != 0)
+ if (resource_disabled(name, unit))
device_disable(child);
}
diff --git a/sys/pc98/cbus/pckbd.c b/sys/pc98/cbus/pckbd.c
index 37fe6d2..c7c793a 100644
--- a/sys/pc98/cbus/pckbd.c
+++ b/sys/pc98/cbus/pckbd.c
@@ -370,8 +370,7 @@ pckbd_configure(int flags)
if (resource_int_value(DRIVER_NAME, 0, "flags", &i) == 0) {
flags |= i;
/* if the driver is disabled, unregister the keyboard if any */
- if (resource_int_value(DRIVER_NAME, 0, "disabled", &i) == 0
- && i != 0) {
+ if (resource_disabled(DRIVER_NAME, 0)) {
i = kbd_find_keyboard(DRIVER_NAME, PC98KBD_DEFAULT);
if (i >= 0) {
kbd = kbd_get_keyboard(i);
diff --git a/sys/pc98/cbus/sio.c b/sys/pc98/cbus/sio.c
index 28eb52e..03f5041 100644
--- a/sys/pc98/cbus/sio.c
+++ b/sys/pc98/cbus/sio.c
@@ -4162,11 +4162,8 @@ siocnprobe(cp)
for (unit = 0; unit < 16; unit++) { /* XXX need to know how many */
int flags;
- int disabled;
- if (resource_int_value("sio", unit, "disabled", &disabled) == 0) {
- if (disabled)
- continue;
- }
+ if (resource_disabled("sio", unit))
+ continue;
if (resource_int_value("sio", unit, "flags", &flags))
continue;
if (COM_CONSOLE(flags) || COM_DEBUGGER(flags)) {
diff --git a/sys/pc98/cbus/syscons_cbus.c b/sys/pc98/cbus/syscons_cbus.c
index 14a096a..1c9df05 100644
--- a/sys/pc98/cbus/syscons_cbus.c
+++ b/sys/pc98/cbus/syscons_cbus.c
@@ -180,14 +180,12 @@ sc_softc_t
int
sc_get_cons_priority(int *unit, int *flags)
{
- int disabled;
const char *at;
int u, f;
*unit = -1;
for (u = 0; u < 16; u++) {
- if ((resource_int_value(SC_DRIVER_NAME, u, "disabled",
- &disabled) == 0) && disabled)
+ if (resource_disabled(SC_DRIVER_NAME, u))
continue;
if (resource_string_value(SC_DRIVER_NAME, u, "at", &at) != 0)
continue;
diff --git a/sys/pc98/pc98/fd.c b/sys/pc98/pc98/fd.c
index a940ccb..04c46e0 100644
--- a/sys/pc98/pc98/fd.c
+++ b/sys/pc98/pc98/fd.c
@@ -1275,7 +1275,7 @@ fdc_detach(device_t dev)
static void
fdc_add_child(device_t dev, const char *name, int unit)
{
- int disabled, flags;
+ int flags;
struct fdc_ivars *ivar;
device_t child;
@@ -1292,8 +1292,7 @@ fdc_add_child(device_t dev, const char *name, int unit)
device_set_ivars(child, ivar);
if (resource_int_value(name, unit, "flags", &flags) == 0)
device_set_flags(child, flags);
- if (resource_int_value(name, unit, "disabled", &disabled) == 0
- && disabled != 0)
+ if (resource_disabled(name, unit))
device_disable(child);
}
diff --git a/sys/pc98/pc98/pc98kbd.c b/sys/pc98/pc98/pc98kbd.c
index 37fe6d2..c7c793a 100644
--- a/sys/pc98/pc98/pc98kbd.c
+++ b/sys/pc98/pc98/pc98kbd.c
@@ -370,8 +370,7 @@ pckbd_configure(int flags)
if (resource_int_value(DRIVER_NAME, 0, "flags", &i) == 0) {
flags |= i;
/* if the driver is disabled, unregister the keyboard if any */
- if (resource_int_value(DRIVER_NAME, 0, "disabled", &i) == 0
- && i != 0) {
+ if (resource_disabled(DRIVER_NAME, 0)) {
i = kbd_find_keyboard(DRIVER_NAME, PC98KBD_DEFAULT);
if (i >= 0) {
kbd = kbd_get_keyboard(i);
diff --git a/sys/pc98/pc98/sio.c b/sys/pc98/pc98/sio.c
index 28eb52e..03f5041 100644
--- a/sys/pc98/pc98/sio.c
+++ b/sys/pc98/pc98/sio.c
@@ -4162,11 +4162,8 @@ siocnprobe(cp)
for (unit = 0; unit < 16; unit++) { /* XXX need to know how many */
int flags;
- int disabled;
- if (resource_int_value("sio", unit, "disabled", &disabled) == 0) {
- if (disabled)
- continue;
- }
+ if (resource_disabled("sio", unit))
+ continue;
if (resource_int_value("sio", unit, "flags", &flags))
continue;
if (COM_CONSOLE(flags) || COM_DEBUGGER(flags)) {
diff --git a/sys/pc98/pc98/syscons_pc98.c b/sys/pc98/pc98/syscons_pc98.c
index 14a096a..1c9df05 100644
--- a/sys/pc98/pc98/syscons_pc98.c
+++ b/sys/pc98/pc98/syscons_pc98.c
@@ -180,14 +180,12 @@ sc_softc_t
int
sc_get_cons_priority(int *unit, int *flags)
{
- int disabled;
const char *at;
int u, f;
*unit = -1;
for (u = 0; u < 16; u++) {
- if ((resource_int_value(SC_DRIVER_NAME, u, "disabled",
- &disabled) == 0) && disabled)
+ if (resource_disabled(SC_DRIVER_NAME, u))
continue;
if (resource_string_value(SC_DRIVER_NAME, u, "at", &at) != 0)
continue;
OpenPOWER on IntegriCloud