diff options
Diffstat (limited to 'sys/pci/if_pcn.c')
-rw-r--r-- | sys/pci/if_pcn.c | 21 |
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, |