This isn't functionally identical. In some cases a hint to disable

unit 0 would in fact disable all units.

This reverts r241856

Approved by: cperciva (implicit)
This commit is contained in:
Eitan Adler 2012-10-22 13:06:09 +00:00
parent 7994d24f0c
commit a8de37b024
30 changed files with 91 additions and 0 deletions

View File

@ -82,6 +82,9 @@ static int
pxa_smi_probe(device_t dev)
{
if (resource_disabled("smi", device_get_unit(dev)))
return (ENXIO);
device_set_desc(dev, "Static Memory Interface");
return (0);
}

View File

@ -377,6 +377,10 @@ acpi_identify(void)
if (!cold)
return (ENXIO);
/* Check that we haven't been disabled with a hint. */
if (resource_disabled("acpi", 0))
return (ENXIO);
/* Check for other PM systems. */
if (power_pm_get_type() != POWER_PM_TYPE_NONE &&
power_pm_get_type() != POWER_PM_TYPE_ACPI) {

View File

@ -175,6 +175,9 @@ acpi_perf_probe(device_t dev)
ACPI_BUFFER buf;
int error, rid, type;
if (resource_disabled("acpi_perf", 0))
return (ENXIO);
/*
* Check the performance state registers. If they are of type
* "functional fixed hardware", we attach quietly since we will

View File

@ -167,6 +167,9 @@ static int
acpi_throttle_probe(device_t dev)
{
if (resource_disabled("acpi_throttle", 0))
return (ENXIO);
/*
* On i386 platforms at least, ACPI throttling is accomplished by
* the chipset modulating the STPCLK# pin based on the duty cycle.

View File

@ -81,6 +81,8 @@ agp_ali_probe(device_t dev)
{
const char *desc;
if (resource_disabled("agp", device_get_unit(dev)))
return (ENXIO);
desc = agp_ali_match(dev);
if (desc) {
device_set_desc(dev, desc);

View File

@ -203,6 +203,8 @@ agp_amd_probe(device_t dev)
{
const char *desc;
if (resource_disabled("agp", device_get_unit(dev)))
return (ENXIO);
desc = agp_amd_match(dev);
if (desc) {
device_set_desc(dev, desc);

View File

@ -152,6 +152,8 @@ agp_amd64_probe(device_t dev)
{
const char *desc;
if (resource_disabled("agp", device_get_unit(dev)))
return (ENXIO);
if ((desc = agp_amd64_match(dev))) {
device_set_desc(dev, desc);
return (BUS_PROBE_DEFAULT);

View File

@ -71,6 +71,9 @@ static int
agp_apple_probe(device_t dev)
{
if (resource_disabled("agp", device_get_unit(dev)))
return (ENXIO);
if (pci_get_class(dev) != PCIC_BRIDGE
|| pci_get_subclass(dev) != PCIS_BRIDGE_HOST)
return (ENXIO);

View File

@ -860,6 +860,8 @@ agp_i810_probe(device_t dev)
const struct agp_i810_match *match;
int err;
if (resource_disabled("agp", device_get_unit(dev)))
return (ENXIO);
match = agp_i810_match(dev);
if (match == NULL)
return (ENXIO);

View File

@ -117,6 +117,8 @@ agp_intel_probe(device_t dev)
{
const char *desc;
if (resource_disabled("agp", device_get_unit(dev)))
return (ENXIO);
desc = agp_intel_match(dev);
if (desc) {
device_set_desc(dev, desc);

View File

@ -117,6 +117,8 @@ agp_nvidia_probe (device_t dev)
{
const char *desc;
if (resource_disabled("agp", device_get_unit(dev)))
return (ENXIO);
desc = agp_nvidia_match(dev);
if (desc) {
device_set_desc(dev, desc);

View File

@ -113,6 +113,8 @@ agp_sis_probe(device_t dev)
{
const char *desc;
if (resource_disabled("agp", device_get_unit(dev)))
return (ENXIO);
desc = agp_sis_match(dev);
if (desc) {
device_set_desc(dev, desc);

View File

@ -147,6 +147,8 @@ agp_via_probe(device_t dev)
{
const char *desc;
if (resource_disabled("agp", device_get_unit(dev)))
return (ENXIO);
desc = agp_via_match(dev);
if (desc) {
device_set_desc(dev, desc);

View File

@ -267,6 +267,8 @@ amdsbwd_identify(driver_t *driver, device_t parent)
device_t child;
device_t smb_dev;
if (resource_disabled("amdsbwd", 0))
return;
if (device_find_child(parent, "amdsbwd", -1) != NULL)
return;

View File

@ -185,6 +185,9 @@ amdtemp_probe(device_t dev)
{
uint32_t family, model;
if (resource_disabled("amdtemp", 0))
return (ENXIO);
family = CPUID_TO_FAMILY(cpu_id);
model = CPUID_TO_MODEL(cpu_id);

View File

@ -291,6 +291,8 @@ asmc_probe(device_t dev)
{
struct asmc_model *model;
if (resource_disabled("asmc", 0))
return (ENXIO);
if (ACPI_ID_PROBE(device_get_parent(dev), dev, asmc_ids) == NULL)
return (ENXIO);

View File

@ -138,6 +138,8 @@ coretemp_identify(driver_t *driver, device_t parent)
static int
coretemp_probe(device_t dev)
{
if (resource_disabled("coretemp", 0))
return (ENXIO);
device_set_desc(dev, "CPU On-Die Thermal Sensors");

View File

@ -472,6 +472,11 @@ em_attach(device_t dev)
INIT_DEBUGOUT("em_attach: begin");
if (resource_disabled("em", device_get_unit(dev))) {
device_printf(dev, "Disabled by device hint\n");
return (ENXIO);
}
adapter = device_get_softc(dev);
adapter->dev = adapter->osdep.dev = dev;
hw = &adapter->hw;

View File

@ -460,6 +460,11 @@ igb_attach(device_t dev)
INIT_DEBUGOUT("igb_attach: begin");
if (resource_disabled("igb", device_get_unit(dev))) {
device_printf(dev, "Disabled by device hint\n");
return (ENXIO);
}
adapter = device_get_softc(dev);
adapter->dev = adapter->osdep.dev = dev;
IGB_CORE_LOCK_INIT(adapter, device_get_nameunit(dev));

View File

@ -390,6 +390,11 @@ lem_attach(device_t dev)
INIT_DEBUGOUT("lem_attach: begin");
if (resource_disabled("lem", device_get_unit(dev))) {
device_printf(dev, "Disabled by device hint\n");
return (ENXIO);
}
adapter = device_get_softc(dev);
adapter->dev = adapter->osdep.dev = dev;
EM_CORE_LOCK_INIT(adapter, device_get_nameunit(dev));

View File

@ -298,6 +298,9 @@ static int
glxiic_probe(device_t dev)
{
if (resource_disabled("glxiic", device_get_unit(dev)))
return (ENXIO);
device_set_desc(dev, "AMD Geode CS5536 SMBus controller");
return (BUS_PROBE_DEFAULT);

View File

@ -401,6 +401,11 @@ ixgbe_attach(device_t dev)
INIT_DEBUGOUT("ixgbe_attach: begin");
if (resource_disabled("ixgbe", device_get_unit(dev))) {
device_printf(dev, "Disabled by device hint\n");
return (ENXIO);
}
/* Allocate, clear, and link in our adapter structure */
adapter = device_get_softc(dev);
adapter->dev = adapter->osdep.dev = dev;

View File

@ -299,6 +299,11 @@ ixv_attach(device_t dev)
INIT_DEBUGOUT("ixv_attach: begin");
if (resource_disabled("ixgbe", device_get_unit(dev))) {
device_printf(dev, "Disabled by device hint\n");
return (ENXIO);
}
/* Allocate, clear, and link in our adapter structure */
adapter = device_get_softc(dev);
adapter->dev = adapter->osdep.dev = dev;

View File

@ -378,6 +378,8 @@ kbdmux_configure(int flags)
static int
kbdmux_probe(int unit, void *arg, int flags)
{
if (resource_disabled(KEYBOARD_NAME, unit))
return (ENXIO);
return (0);
}

View File

@ -3050,6 +3050,11 @@ emu_pci_attach(device_t dev)
sc = device_get_softc(dev);
unit = device_get_unit(dev);
if (resource_disabled("emu10kx", unit)) {
device_printf(dev, "disabled by kernel hints\n");
return (ENXIO); /* XXX to avoid unit reuse */
}
/* Get configuration */
sc->ctx = device_get_sysctl_ctx(dev);

View File

@ -268,6 +268,9 @@ acpi_find_table(const char *sig)
vm_paddr_t addr;
int i, count;
if (resource_disabled("acpi", 0))
return (0);
/*
* Map in the RSDP. Since ACPI uses AcpiOsMapMemory() which in turn
* calls pmap_mapbios() to find the RSDP, we assume that we can use

View File

@ -878,6 +878,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");

View File

@ -991,6 +991,9 @@ est_probe(device_t dev)
uint64_t msr;
int error, type;
if (resource_disabled("est", 0))
return (ENXIO);
/*
* If the ACPI perf driver has attached and is not just offering
* info, let it manage things.

View File

@ -139,6 +139,10 @@ p4tcc_identify(driver_t *driver, device_t parent)
static int
p4tcc_probe(device_t dev)
{
if (resource_disabled("p4tcc", 0))
return (ENXIO);
device_set_desc(dev, "CPU Frequency Thermal Control");
return (0);
}

View File

@ -84,6 +84,8 @@ elcr_probe(void)
printf(" E");
printf("\n");
}
if (resource_disabled("elcr", 0))
return (ENXIO);
elcr_found = 1;
return (0);
}