*/
 
 #define DRV_NAME       "3c509"
-#define DRV_VERSION    "1.20"
-#define DRV_RELDATE    "04Feb2008"
 
 /* A few values that may be tweaked. */
 
 #include <linux/device.h>
 #include <linux/eisa.h>
 #include <linux/bitops.h>
+#include <linux/vermagic.h>
 
 #include <linux/uaccess.h>
 #include <asm/io.h>
 #include <asm/irq.h>
 
-static char version[] = DRV_NAME ".c:" DRV_VERSION " " DRV_RELDATE " becker@scyld.com\n";
-
 #ifdef EL3_DEBUG
 static int el3_debug = EL3_DEBUG;
 #else
               dev->name, dev->base_addr, if_names[(dev->if_port & 0x03)],
               dev->dev_addr, dev->irq);
 
-       if (el3_debug > 0)
-               pr_info("%s", version);
        return 0;
 
 }
 static void el3_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info)
 {
        strlcpy(info->driver, DRV_NAME, sizeof(info->driver));
-       strlcpy(info->version, DRV_VERSION, sizeof(info->version));
 }
 
 static int el3_get_link_ksettings(struct net_device *dev,
 
 
 */
 
+#include <linux/vermagic.h>
 #define DRV_NAME               "3c515"
-#define DRV_VERSION            "0.99t-ac"
-#define DRV_RELDATE            "28-Oct-2002"
-
-static char *version =
-DRV_NAME ".c:v" DRV_VERSION " " DRV_RELDATE " becker@scyld.com and others\n";
 
 #define CORKSCREW 1
 
 MODULE_AUTHOR("Donald Becker <becker@scyld.com>");
 MODULE_DESCRIPTION("3Com 3c515 Corkscrew driver");
 MODULE_LICENSE("GPL");
-MODULE_VERSION(DRV_VERSION);
 
 /* "Knobs" for adjusting internal parameters. */
 /* Put out somewhat more debugging messages. (0 - no msg, 1 minimal msgs). */
        int found = 0;
        if (debug >= 0)
                corkscrew_debug = debug;
-       if (corkscrew_debug)
-               pr_debug("%s", version);
        while (corkscrew_scan(-1))
                found++;
        return found ? 0 : -ENODEV;
 struct net_device *tc515_probe(int unit)
 {
        struct net_device *dev = corkscrew_scan(unit);
-       static int printed;
 
        if (!dev)
                return ERR_PTR(-ENODEV);
 
-       if (corkscrew_debug > 0 && !printed) {
-               printed = 1;
-               pr_debug("%s", version);
-       }
-
        return dev;
 }
 #endif                         /* not MODULE */
                               struct ethtool_drvinfo *info)
 {
        strlcpy(info->driver, DRV_NAME, sizeof(info->driver));
-       strlcpy(info->version, DRV_VERSION, sizeof(info->version));
        snprintf(info->bus_info, sizeof(info->bus_info), "ISA 0x%lx",
                 dev->base_addr);
 }
 
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
 
 #define DRV_NAME       "3c589_cs"
-#define DRV_VERSION    "1.162-ac"
 
 #include <linux/module.h>
 #include <linux/kernel.h>
                               struct ethtool_drvinfo *info)
 {
        strlcpy(info->driver, DRV_NAME, sizeof(info->driver));
-       strlcpy(info->version, DRV_VERSION, sizeof(info->version));
        snprintf(info->bus_info, sizeof(info->bus_info),
                "PCMCIA 0x%lx", dev->base_addr);
 }
 
 #include "typhoon.h"
 
 MODULE_AUTHOR("David Dillow <dave@thedillows.org>");
-MODULE_VERSION("1.0");
 MODULE_LICENSE("GPL");
 MODULE_FIRMWARE(FIRMWARE_NAME);
 MODULE_DESCRIPTION("3Com Typhoon Family (3C990, 3CR990, and variants)");