0x0000
 };
 
-static char *ibmlana_adapter_names[] __devinitdata = {
+static char *ibmlana_adapter_names[] = {
        "IBM LAN Adapter/A",
        NULL
 };
        .ndo_validate_addr      = eth_validate_addr,
 };
 
-static int __devinit ibmlana_init_one(struct device *kdev)
+static int ibmlana_init_one(struct device *kdev)
 {
        struct mca_device *mdev = to_mca_device(kdev);
        struct net_device *dev;
 
        .ndo_set_mac_address    = eth_mac_addr,
 };
 
-static int __devinit sonic_probe1(struct net_device *dev)
+static int sonic_probe1(struct net_device *dev)
 {
        static unsigned version_printed;
        unsigned int silicon_revision;
  * Probe for a SONIC ethernet controller on a Mips Jazz board.
  * Actually probing is superfluous but we're paranoid.
  */
-static int __devinit jazz_sonic_probe(struct platform_device *pdev)
+static int jazz_sonic_probe(struct platform_device *pdev)
 {
        struct net_device *dev;
        struct sonic_local *lp;
 
 #include "sonic.c"
 
-static int __devexit jazz_sonic_device_remove (struct platform_device *pdev)
+static int jazz_sonic_device_remove(struct platform_device *pdev)
 {
        struct net_device *dev = platform_get_drvdata(pdev);
        struct sonic_local* lp = netdev_priv(dev);
 
 static struct platform_driver jazz_sonic_driver = {
        .probe  = jazz_sonic_probe,
-       .remove = __devexit_p(jazz_sonic_device_remove),
+       .remove = jazz_sonic_device_remove,
        .driver = {
                .name   = jazz_sonic_string,
                .owner  = THIS_MODULE,
 
        .ndo_set_mac_address    = eth_mac_addr,
 };
 
-static int __devinit macsonic_init(struct net_device *dev)
+static int macsonic_init(struct net_device *dev)
 {
        struct sonic_local* lp = netdev_priv(dev);
 
                           memcmp(mac, "\x00\x80\x19", 3) && \
                           memcmp(mac, "\x00\x05\x02", 3))
 
-static void __devinit mac_onboard_sonic_ethernet_addr(struct net_device *dev)
+static void mac_onboard_sonic_ethernet_addr(struct net_device *dev)
 {
        struct sonic_local *lp = netdev_priv(dev);
        const int prom_addr = ONBOARD_SONIC_PROM_BASE;
        eth_hw_addr_random(dev);
 }
 
-static int __devinit mac_onboard_sonic_probe(struct net_device *dev)
+static int mac_onboard_sonic_probe(struct net_device *dev)
 {
        struct sonic_local* lp = netdev_priv(dev);
        int sr;
        return macsonic_init(dev);
 }
 
-static int __devinit mac_nubus_sonic_ethernet_addr(struct net_device *dev,
+static int mac_nubus_sonic_ethernet_addr(struct net_device *dev,
                                                unsigned long prom_addr,
                                                int id)
 {
        return 0;
 }
 
-static int __devinit macsonic_ident(struct nubus_dev *ndev)
+static int macsonic_ident(struct nubus_dev *ndev)
 {
        if (ndev->dr_hw == NUBUS_DRHW_ASANTE_LC &&
            ndev->dr_sw == NUBUS_DRSW_SONIC_LC)
        return -1;
 }
 
-static int __devinit mac_nubus_sonic_probe(struct net_device *dev)
+static int mac_nubus_sonic_probe(struct net_device *dev)
 {
        static int slots;
        struct nubus_dev* ndev = NULL;
        return macsonic_init(dev);
 }
 
-static int __devinit mac_sonic_probe(struct platform_device *pdev)
+static int mac_sonic_probe(struct platform_device *pdev)
 {
        struct net_device *dev;
        struct sonic_local *lp;
 
 #include "sonic.c"
 
-static int __devexit mac_sonic_device_remove (struct platform_device *pdev)
+static int mac_sonic_device_remove(struct platform_device *pdev)
 {
        struct net_device *dev = platform_get_drvdata(pdev);
        struct sonic_local* lp = netdev_priv(dev);
 
 static struct platform_driver mac_sonic_driver = {
        .probe  = mac_sonic_probe,
-       .remove = __devexit_p(mac_sonic_device_remove),
+       .remove = mac_sonic_device_remove,
        .driver = {
                .name   = mac_sonic_string,
                .owner  = THIS_MODULE,
 
 #define NATSEMI_RX_LIMIT       2046    /* maximum supported by hardware */
 
 /* These identify the driver base version and may not be removed. */
-static const char version[] __devinitconst =
+static const char version[] =
   KERN_INFO DRV_NAME " dp8381x driver, version "
       DRV_VERSION ", " DRV_RELDATE "\n"
   "  originally by Donald Becker <becker@scyld.com>\n"
        const char *name;
        unsigned long flags;
        unsigned int eeprom_size;
-} natsemi_pci_info[] __devinitdata = {
+} natsemi_pci_info[] = {
        { "Aculab E1/T1 PMXc cPCI carrier card", NATSEMI_FLAG_IGNORE_PHY, 128 },
        { "NatSemi DP8381[56]", 0, 24 },
 };
        udelay(1);
 }
 
-static void __devinit natsemi_init_media (struct net_device *dev)
+static void natsemi_init_media(struct net_device *dev)
 {
        struct netdev_private *np = netdev_priv(dev);
        u32 tmp;
 #endif
 };
 
-static int __devinit natsemi_probe1 (struct pci_dev *pdev,
-       const struct pci_device_id *ent)
+static int natsemi_probe1(struct pci_dev *pdev,
+                         const struct pci_device_id *ent)
 {
        struct net_device *dev;
        struct netdev_private *np;
 }
 
 
-static void __devexit natsemi_remove1 (struct pci_dev *pdev)
+static void natsemi_remove1(struct pci_dev *pdev)
 {
        struct net_device *dev = pci_get_drvdata(pdev);
        void __iomem * ioaddr = ns_ioaddr(dev);
        .name           = DRV_NAME,
        .id_table       = natsemi_pci_tbl,
        .probe          = natsemi_probe1,
-       .remove         = __devexit_p(natsemi_remove1),
+       .remove         = natsemi_remove1,
 #ifdef CONFIG_PM
        .suspend        = natsemi_suspend,
        .resume         = natsemi_resume,
 
        .ndo_tx_timeout         = ns83820_tx_timeout,
 };
 
-static int __devinit ns83820_init_one(struct pci_dev *pci_dev,
+static int ns83820_init_one(struct pci_dev *pci_dev,
                                      const struct pci_device_id *id)
 {
        struct net_device *ndev;
        return err;
 }
 
-static void __devexit ns83820_remove_one(struct pci_dev *pci_dev)
+static void ns83820_remove_one(struct pci_dev *pci_dev)
 {
        struct net_device *ndev = pci_get_drvdata(pci_dev);
        struct ns83820 *dev = PRIV(ndev); /* ok even if NULL */
        .name           = "ns83820",
        .id_table       = ns83820_pci_tbl,
        .probe          = ns83820_init_one,
-       .remove         = __devexit_p(ns83820_remove_one),
+       .remove         = ns83820_remove_one,
 #if 0  /* FIXME: implement */
        .suspend        = ,
        .resume         = ,
 
  * Actually probing is superfluous but we're paranoid.
  */
 
-int __devinit xtsonic_probe(struct platform_device *pdev)
+int xtsonic_probe(struct platform_device *pdev)
 {
        struct net_device *dev;
        struct sonic_local *lp;
 
 #include "sonic.c"
 
-static int __devexit xtsonic_device_remove (struct platform_device *pdev)
+static int xtsonic_device_remove(struct platform_device *pdev)
 {
        struct net_device *dev = platform_get_drvdata(pdev);
        struct sonic_local *lp = netdev_priv(dev);
 
 static struct platform_driver xtsonic_driver = {
        .probe = xtsonic_probe,
-       .remove = __devexit_p(xtsonic_device_remove),
+       .remove = xtsonic_device_remove,
        .driver = {
                .name = xtsonic_string,
        },