summaryrefslogtreecommitdiffstats
path: root/sys/pci/if_pcn.c
diff options
context:
space:
mode:
authormdodd <mdodd@FreeBSD.org>2003-04-16 03:16:57 +0000
committermdodd <mdodd@FreeBSD.org>2003-04-16 03:16:57 +0000
commit74c95b7f29ae970fc99cad21e8ea772eb2557bd1 (patch)
tree43770c3696a3adbe67787f9d9f8ff9d3bb30a425 /sys/pci/if_pcn.c
parentac7452631f13ef6bbb59e825e8e3ebb14d8e9a46 (diff)
downloadFreeBSD-src-74c95b7f29ae970fc99cad21e8ea772eb2557bd1.zip
FreeBSD-src-74c95b7f29ae970fc99cad21e8ea772eb2557bd1.tar.gz
- Don't call pci_enable_io() in drivers (unless needed for resume).
- Don't test memory/port status and emit an error message; the PCI bus code will do this now.
Diffstat (limited to 'sys/pci/if_pcn.c')
-rw-r--r--sys/pci/if_pcn.c21
1 files changed, 5 insertions, 16 deletions
diff --git a/sys/pci/if_pcn.c b/sys/pci/if_pcn.c
index 3c60e0f..eb92207 100644
--- a/sys/pci/if_pcn.c
+++ b/sys/pci/if_pcn.c
@@ -543,23 +543,12 @@ pcn_attach(dev)
* Map control/status registers.
*/
pci_enable_busmaster(dev);
- pci_enable_io(dev, SYS_RES_IOPORT);
- pci_enable_io(dev, SYS_RES_MEMORY);
- command = pci_read_config(dev, PCIR_COMMAND, 4);
-#ifdef PCN_USEIOSPACE
- if (!(command & PCIM_CMD_PORTEN)) {
- printf("pcn%d: failed to enable I/O ports!\n", unit);
- error = ENXIO;
- goto fail;
- }
-#else
- if (!(command & PCIM_CMD_MEMEN)) {
- printf("pcn%d: failed to enable memory mapping!\n", unit);
- error = ENXIO;
- goto fail;
- }
-#endif
+ /* Retreive the chip ID */
+ command = pcn_chip_id(dev);
+ sc->pcn_type = (command >>= 12) & PART_MASK;
+ device_printf(dev, "Chip ID %04x (%s)\n",
+ sc->pcn_type, pcn_chipid_name(sc->pcn_type));
rid = PCN_RID;
sc->pcn_res = bus_alloc_resource(dev, PCN_RES, &rid,
OpenPOWER on IntegriCloud