summaryrefslogtreecommitdiffstats
path: root/atahpt.c
diff options
context:
space:
mode:
Diffstat (limited to 'atahpt.c')
-rw-r--r--atahpt.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/atahpt.c b/atahpt.c
index d19cb75..f8be8c4 100644
--- a/atahpt.c
+++ b/atahpt.c
@@ -58,17 +58,22 @@ static const struct par_programmer par_programmer_atahpt = {
int atahpt_init(void)
{
+ struct pci_dev *dev = NULL;
uint32_t reg32;
if (rget_io_perms())
return 1;
- io_base_addr = pcidev_init(PCI_BASE_ADDRESS_4, ata_hpt);
+ dev = pcidev_init(ata_hpt, PCI_BASE_ADDRESS_4);
+ if (!dev)
+ return 1;
+
+ io_base_addr = pcidev_readbar(dev, PCI_BASE_ADDRESS_4);
/* Enable flash access. */
- reg32 = pci_read_long(pcidev_dev, REG_FLASH_ACCESS);
+ reg32 = pci_read_long(dev, REG_FLASH_ACCESS);
reg32 |= (1 << 24);
- rpci_write_long(pcidev_dev, REG_FLASH_ACCESS, reg32);
+ rpci_write_long(dev, REG_FLASH_ACCESS, reg32);
register_par_programmer(&par_programmer_atahpt, BUS_PARALLEL);
OpenPOWER on IntegriCloud