diff options
Diffstat (limited to 'nicnatsemi.c')
-rw-r--r-- | nicnatsemi.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/nicnatsemi.c b/nicnatsemi.c index 60d8f87..d62a73f 100644 --- a/nicnatsemi.c +++ b/nicnatsemi.c @@ -52,22 +52,19 @@ static const struct par_programmer par_programmer_nicnatsemi = { .chip_writen = fallback_chip_writen, }; -static int nicnatsemi_shutdown(void *data) -{ - pci_cleanup(pacc); - return 0; -} - int nicnatsemi_init(void) { + struct pci_dev *dev = NULL; + if (rget_io_perms()) return 1; - io_base_addr = pcidev_init(PCI_BASE_ADDRESS_0, nics_natsemi); - - if (register_shutdown(nicnatsemi_shutdown, NULL)) + dev = pcidev_init(nics_natsemi, PCI_BASE_ADDRESS_0); + if (!dev) return 1; + io_base_addr = pcidev_readbar(dev, PCI_BASE_ADDRESS_0); + /* The datasheet shows address lines MA0-MA16 in one place and MA0-MA15 * in another. My NIC has MA16 connected to A16 on the boot ROM socket * so I'm assuming it is accessible. If not then next line wants to be |