diff options
author | dfr <dfr@FreeBSD.org> | 2000-06-09 16:00:29 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 2000-06-09 16:00:29 +0000 |
commit | fe0cef0780df985c05e3db3351ed16ef482b7c6a (patch) | |
tree | ffd5328bbf73a7e6c1bff8dde772299bdc0d0439 /sys/pci | |
parent | 5aa82faf24530911fb7c49b3e8d2d962c9c8ffdd (diff) | |
download | FreeBSD-src-fe0cef0780df985c05e3db3351ed16ef482b7c6a.zip FreeBSD-src-fe0cef0780df985c05e3db3351ed16ef482b7c6a.tar.gz |
Nuke the useless chip driver. It gets in the way when you want to load
a functional driver for the device.
Diffstat (limited to 'sys/pci')
-rw-r--r-- | sys/pci/pci.c | 1 | ||||
-rw-r--r-- | sys/pci/pcisupport.c | 52 | ||||
-rw-r--r-- | sys/pci/pcivar.h | 1 |
3 files changed, 4 insertions, 50 deletions
diff --git a/sys/pci/pci.c b/sys/pci/pci.c index 1d47e84..cfda6c7 100644 --- a/sys/pci/pci.c +++ b/sys/pci/pci.c @@ -1147,6 +1147,7 @@ pci_probe_nomatch(device_t dev, device_t child) desc = pci_ata_match(child); if (!desc) desc = pci_usb_match(child); if (!desc) desc = pci_vga_match(child); + if (!desc) desc = pci_chip_match(child); if (!desc) { desc = "unknown card"; unknown++; diff --git a/sys/pci/pcisupport.c b/sys/pci/pcisupport.c index e4d7ed9..1763896 100644 --- a/sys/pci/pcisupport.c +++ b/sys/pci/pcisupport.c @@ -1101,9 +1101,8 @@ pci_ata_match(device_t dev) return NULL; } - -static const char* -chip_match(device_t dev) +const char* +pci_chip_match(device_t dev) { unsigned rev; @@ -1313,53 +1312,6 @@ chip_match(device_t dev) return NULL; } -static int chip_probe(device_t dev) -{ - const char *desc; - - desc = chip_match(dev); - if (desc) { - if (pci_get_class(dev) == PCIC_BRIDGE - && pci_get_subclass(dev) == PCIS_BRIDGE_HOST) { - /* - * Suppress printing this device since the nexus - * has already described it. - */ - device_quiet(dev); - } - - device_set_desc_copy(dev, desc); - return -10000; /* Low match priority */ - } - - return ENXIO; -} - -static int chip_attach(device_t dev) -{ - chipset_attach(dev, device_get_unit(dev)); - - return 0; -} - -static device_method_t chip_methods[] = { - /* Device interface */ - DEVMETHOD(device_probe, chip_probe), - DEVMETHOD(device_attach, chip_attach), - - { 0, 0 } -}; - -static driver_t chip_driver = { - "chip", - chip_methods, - 1, -}; - -static devclass_t chip_devclass; - -DRIVER_MODULE(chip, pci, chip_driver, chip_devclass, 0, 0); - /*--------------------------------------------------------- ** ** Catchall driver for VGA devices diff --git a/sys/pci/pcivar.h b/sys/pci/pcivar.h index 725d38f..b767616 100644 --- a/sys/pci/pcivar.h +++ b/sys/pci/pcivar.h @@ -150,6 +150,7 @@ struct pci_devinfo { const char *pci_ata_match(struct device *dev); const char *pci_usb_match(struct device *dev); const char *pci_vga_match(struct device *dev); +const char *pci_chip_match(struct device *dev); /* low level PCI config register functions provided by pcibus.c */ |