This is an old revision of the document!
<code c> static struct net_device_operations a3c90x_operations = { .open = a3c90x_open, .close = a3c90x_close, .poll = a3c90x_poll, .transmit = a3c90x_transmit, .irq = a3c90x_irq, }; struct pci_driver a3c90x_driver __pci_driver = { .ids = a3c90x_nics, .id_count = (sizeof(a3c90x_nics) / sizeof(a3c90x_nics[0])), .probe = a3c90x_probe, .remove = a3c90x_remove, }; a3c90x_probe alloc_etherdev netdev_init pci_set_drvdata netdev_priv memset adjust_pci_device a3c90x_reset a3c90x_internal_SetWindow a3c90x_internal_IssueCommand a3c90x_internal_IssueCommand netdev_link_up (netdev_put) } a3c90x_open netdev_priv a3c90x_hw_start netdev_priv a3c90x_internal_SetWindow a3c90x_internal_IssueCommand a3c90x_internal_IssueCommand a3c90x_setup_tx_ring malloc_dma memset a3c90x_setup_rx_ring<------------No memset? malloc_dma virt_to_bus a3c90x_refill_rx_ring alloc_iob a3c90x_prepare_rx_desc a3c90x_internal_IssueCommand virt_to_bus virt_to_bus a3c90x_internal_IssueCommand (a3c90x_free_resources) (a3c90x_reset) } a3c90x_poll netdev_priv a3c90x_process_tx_packets netdev_priv virt_to_bus netdev_tx_complete a3c90x_process_rx_packets netdev_priv (netdev_rx_err) iob_put netdev_rx a3c90x_refill_rx_ring alloc_iob a3c90x_prepare_rx_desc a3c90x_internal_IssueCommand } a3c90x_transmit netdev_priv iob_len a3c90x_internal_IssueCommand virt_to_bus } a3c90x_irq netdev_priv a3c90x_internal_IssueCommand } a3c90x_remove pci_get_drvdata netdev_priv unregister_netdev a3c90x_reset a3c90x_internal_SetWindow a3c90x_internal_IssueCommand a3c90x_internal_IssueCommand netdev_nullify netdev_put } </code>