mirror of https://github.com/ipxe/ipxe.git
Add missing {register,free}_netdev().
Tie into existing driver API; we'll fix that up soon.pull/1/head
parent
832e86246b
commit
fcf765e42d
|
@ -191,6 +191,7 @@ static void pnic_remove ( struct pci_device *pci ) {
|
||||||
|
|
||||||
unregister_netdev ( netdev );
|
unregister_netdev ( netdev );
|
||||||
pnic_command ( pnic, PNIC_CMD_RESET, NULL, 0, NULL, 0, NULL );
|
pnic_command ( pnic, PNIC_CMD_RESET, NULL, 0, NULL, 0, NULL );
|
||||||
|
free_netdev ( netdev );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
|
@ -233,6 +234,10 @@ static int pnic_probe ( struct pci_device *pci ) {
|
||||||
netdev->poll = pnic_poll;
|
netdev->poll = pnic_poll;
|
||||||
netdev->transmit = pnic_transmit;
|
netdev->transmit = pnic_transmit;
|
||||||
|
|
||||||
|
/* Register network device */
|
||||||
|
if ( ( rc = register_netdev ( netdev ) ) != 0 )
|
||||||
|
goto err;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err:
|
err:
|
||||||
|
@ -256,8 +261,17 @@ static struct pci_driver pnic_driver = {
|
||||||
|
|
||||||
// PCI_DRIVER ( pnic_driver );
|
// PCI_DRIVER ( pnic_driver );
|
||||||
|
|
||||||
|
|
||||||
|
static int pnic_hack_probe ( void *dummy, struct pci_device *pci ) {
|
||||||
|
return ( pnic_probe ( pci ) == 0 );
|
||||||
|
}
|
||||||
|
|
||||||
|
static void pnic_hack_disable ( void *dummy, struct pci_device *pci ) {
|
||||||
|
pnic_remove ( pci );
|
||||||
|
}
|
||||||
|
|
||||||
#include "dev.h"
|
#include "dev.h"
|
||||||
extern struct type_driver test_driver;
|
extern struct type_driver test_driver;
|
||||||
|
|
||||||
DRIVER ( "PNIC", test_driver, pci_driver, pnic_driver,
|
DRIVER ( "PNIC", test_driver, pci_driver, pnic_driver,
|
||||||
pnic_probe, pnic_remove );
|
pnic_hack_probe, pnic_hack_disable );
|
||||||
|
|
Loading…
Reference in New Issue