iwlwifi: fix iwl_mac_add_interface handler
[safe/jmp/linux-2.6] / drivers / net / wireless / orinoco_tmd.c
index 0496663..df49318 100644 (file)
@@ -40,7 +40,6 @@
 #define DRIVER_NAME "orinoco_tmd"
 #define PFX DRIVER_NAME ": "
 
-#include <linux/config.h>
 #include <linux/module.h>
 #include <linux/kernel.h>
 #include <linux/init.h>
@@ -135,19 +134,17 @@ static int orinoco_tmd_init_one(struct pci_dev *pdev,
        priv = netdev_priv(dev);
        card = priv->card;
        card->bridge_io = bridge_io;
-       SET_MODULE_OWNER(dev);
        SET_NETDEV_DEV(dev, &pdev->dev);
 
        hermes_struct_init(&priv->hw, hermes_io, HERMES_16BIT_REGSPACING);
 
-       err = request_irq(pdev->irq, orinoco_interrupt, SA_SHIRQ,
+       err = request_irq(pdev->irq, orinoco_interrupt, IRQF_SHARED,
                          dev->name, dev);
        if (err) {
                printk(KERN_ERR PFX "Cannot allocate IRQ %d\n", pdev->irq);
                err = -EBUSY;
                goto fail_irq;
        }
-       orinoco_pci_setup_netdev(dev, pdev, 2);
 
        err = orinoco_tmd_cor_reset(priv);
        if (err) {
@@ -162,6 +159,8 @@ static int orinoco_tmd_init_one(struct pci_dev *pdev,
        }
 
        pci_set_drvdata(pdev, dev);
+       printk(KERN_DEBUG "%s: " DRIVER_NAME " at %s\n", dev->name,
+              pci_name(pdev));
 
        return 0;
 
@@ -190,11 +189,11 @@ static int orinoco_tmd_init_one(struct pci_dev *pdev,
 static void __devexit orinoco_tmd_remove_one(struct pci_dev *pdev)
 {
        struct net_device *dev = pci_get_drvdata(pdev);
-       struct orinoco_private *priv = dev->priv;
+       struct orinoco_private *priv = netdev_priv(dev);
        struct orinoco_pci_card *card = priv->card;
 
        unregister_netdev(dev);
-       free_irq(dev->irq, dev);
+       free_irq(pdev->irq, dev);
        pci_set_drvdata(pdev, NULL);
        free_orinocodev(dev);
        pci_iounmap(pdev, priv->hw.iobase);
@@ -228,7 +227,7 @@ MODULE_LICENSE("Dual MPL/GPL");
 static int __init orinoco_tmd_init(void)
 {
        printk(KERN_DEBUG "%s\n", version);
-       return pci_module_init(&orinoco_tmd_driver);
+       return pci_register_driver(&orinoco_tmd_driver);
 }
 
 static void __exit orinoco_tmd_exit(void)