-static void __devexit happy_meal_pci_remove(struct pci_dev *pdev)
-{
- struct happy_meal *hp = dev_get_drvdata(&pdev->dev);
- struct net_device *net_dev = hp->dev;
-
- unregister_netdev(net_dev);
-
- pci_free_consistent(hp->happy_dev,
- PAGE_SIZE,
- hp->happy_block,
- hp->hblock_dvma);
- iounmap(hp->gregs);
- pci_release_regions(hp->happy_dev);
-
- free_netdev(net_dev);
-
- dev_set_drvdata(&pdev->dev, NULL);
-}
-
-static struct pci_device_id happymeal_pci_ids[] = {
- { PCI_DEVICE(PCI_VENDOR_ID_SUN, PCI_DEVICE_ID_SUN_HAPPYMEAL) },
- { } /* Terminating entry */
-};
-
-MODULE_DEVICE_TABLE(pci, happymeal_pci_ids);
-
-static struct pci_driver hme_pci_driver = {
- .name = "hme",
- .id_table = happymeal_pci_ids,
- .probe = happy_meal_pci_probe,
- .remove = __devexit_p(happy_meal_pci_remove),
-};
-
-static int __init happy_meal_pci_init(void)
-{
- return pci_register_driver(&hme_pci_driver);
-}
-
-static void happy_meal_pci_exit(void)