#include <linux/module.h>
 #include <linux/moduleparam.h>
+#include <linux/stringify.h>
 #include <linux/kernel.h>
 #include <linux/types.h>
 #include <linux/compiler.h>
 #include "tg3.h"
 
 #define DRV_MODULE_NAME                "tg3"
-#define DRV_MODULE_VERSION     "3.111"
+#define TG3_MAJ_NUM                    3
+#define TG3_MIN_NUM                    111
+#define DRV_MODULE_VERSION     \
+       __stringify(TG3_MAJ_NUM) "." __stringify(TG3_MIN_NUM)
 #define DRV_MODULE_RELDATE     "June 5, 2010"
 
 #define TG3_DEF_MAC_MODE       0
                apedata = tg3_ape_read32(tp, TG3_APE_HOST_INIT_COUNT);
                tg3_ape_write32(tp, TG3_APE_HOST_INIT_COUNT, ++apedata);
                tg3_ape_write32(tp, TG3_APE_HOST_DRIVER_ID,
-                               APE_HOST_DRIVER_ID_MAGIC);
+                       APE_HOST_DRIVER_ID_MAGIC(TG3_MAJ_NUM, TG3_MIN_NUM));
                tg3_ape_write32(tp, TG3_APE_HOST_BEHAVIOR,
                                APE_HOST_BEHAV_NO_PHYLOCK);
 
 
 #define  APE_HOST_SEG_LEN_MAGIC                 0x0000001c
 #define TG3_APE_HOST_INIT_COUNT                0x4208
 #define TG3_APE_HOST_DRIVER_ID         0x420c
-#define  APE_HOST_DRIVER_ID_MAGIC       0xf0035100
+#define  APE_HOST_DRIVER_ID_LINUX       0xf0000000
+#define  APE_HOST_DRIVER_ID_MAGIC(maj, min)    \
+       (APE_HOST_DRIVER_ID_LINUX | (maj & 0xff) << 16 | (min & 0xff) << 8)
 #define TG3_APE_HOST_BEHAVIOR          0x4210
 #define  APE_HOST_BEHAV_NO_PHYLOCK      0x00000001
 #define TG3_APE_HOST_HEARTBEAT_INT_MS  0x4214