Commit 3b54912f authored by Matthew Whitehead's avatar Matthew Whitehead Committed by David S. Miller

3c509.c: call SET_NETDEV_DEV for all device types (ISA/ISAPnP/EISA)

The venerable 3c509 driver only sets its device parent in one case, the ISAPnP one.
It does this with the SET_NETDEV_DEV function. It should register with the device
hierarchy in two additional cases: standard (non-PnP) ISA and EISA.

- Currently they appear here:
/sys/devices/virtual/net/eth0 (standard ISA)
/sys/devices/virtual/net/eth1 (EISA)

- Rather, they should instead be here:
/sys/devices/isa/3c509.0/net/eth0 (standard ISA)
/sys/devices/pci0000:00/0000:00:07.0/00:04/net/eth1 (EISA)

Tested on ISA and EISA boards.
Signed-off-by: default avatarMatthew Whitehead <tedheadster@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 32e19272
...@@ -306,6 +306,7 @@ static int el3_isa_match(struct device *pdev, unsigned int ndev) ...@@ -306,6 +306,7 @@ static int el3_isa_match(struct device *pdev, unsigned int ndev)
if (!dev) if (!dev)
return -ENOMEM; return -ENOMEM;
SET_NETDEV_DEV(dev, pdev);
netdev_boot_setup_check(dev); netdev_boot_setup_check(dev);
if (!request_region(ioaddr, EL3_IO_EXTENT, "3c509-isa")) { if (!request_region(ioaddr, EL3_IO_EXTENT, "3c509-isa")) {
...@@ -595,6 +596,7 @@ static int __init el3_eisa_probe (struct device *device) ...@@ -595,6 +596,7 @@ static int __init el3_eisa_probe (struct device *device)
return -ENOMEM; return -ENOMEM;
} }
SET_NETDEV_DEV(dev, device);
netdev_boot_setup_check(dev); netdev_boot_setup_check(dev);
el3_dev_fill(dev, phys_addr, ioaddr, irq, if_port, EL3_EISA); el3_dev_fill(dev, phys_addr, ioaddr, irq, if_port, EL3_EISA);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment