diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/prom.c b/target/linux/ar71xx/files/arch/mips/ar71xx/prom.c
index bfc38c010fb8e4029258c3575c8976f82c2d5f0d..6907be8ee9d79b49c59ca4c3bddecdb57e847783 100644
--- a/target/linux/ar71xx/files/arch/mips/ar71xx/prom.c
+++ b/target/linux/ar71xx/files/arch/mips/ar71xx/prom.c
@@ -23,8 +23,8 @@
 #include "devices.h"
 
 struct board_rec {
-	char		*name;
-	unsigned long	mach_type;
+	char			*name;
+	enum ar71xx_mach_type	mach_type;
 };
 
 static int ar71xx_prom_argc __initdata;
@@ -174,7 +174,7 @@ static int ar71xx_prom_init_myloader(void)
 
 	switch (mylo->did) {
 	case DEVID_COMPEX_WP543:
-		ar71xx_mach_type = AR71XX_MACH_WP543;
+		ar71xx_mach = AR71XX_MACH_WP543;
 		break;
 	default:
 		printk(KERN_WARNING "prom: unknown device id: %x\n",
@@ -197,7 +197,7 @@ static void ar71xx_prom_init_generic(void)
 	if (!p)
 		p = ar71xx_prom_getenv("board");
 	if (p)
-		ar71xx_mach_type = find_board_byname(p);
+		ar71xx_mach = find_board_byname(p);
 
 	p = ar71xx_prom_getenv("ethaddr");
 	if (!p)
@@ -213,7 +213,7 @@ void __init prom_init(void)
 			(unsigned int)fw_arg0, (unsigned int)fw_arg1,
 			(unsigned int)fw_arg2, (unsigned int)fw_arg3);
 
-	ar71xx_mach_type = AR71XX_MACH_GENERIC;
+	ar71xx_mach = AR71XX_MACH_GENERIC;
 
 	if (ar71xx_prom_init_myloader())
 		return;
diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/setup.c b/target/linux/ar71xx/files/arch/mips/ar71xx/setup.c
index 6c6cde82b31e7895174a65acb00ea5d2c5819d79..2e1a7f6a56104e471fc1dea4690130858bcf0b47 100644
--- a/target/linux/ar71xx/files/arch/mips/ar71xx/setup.c
+++ b/target/linux/ar71xx/files/arch/mips/ar71xx/setup.c
@@ -34,7 +34,7 @@
 #define AR71XX_BASE_FREQ	40000000
 #define AR91XX_BASE_FREQ	5000000
 
-unsigned long ar71xx_mach_type;
+enum ar71xx_mach_type ar71xx_mach;
 
 u32 ar71xx_cpu_freq;
 EXPORT_SYMBOL_GPL(ar71xx_cpu_freq);
@@ -284,7 +284,7 @@ static int __init ar71xx_machine_setup(void)
 	ar71xx_add_device_uart();
 	ar71xx_add_device_wdt();
 
-	mips_machine_setup(ar71xx_mach_type);
+	mips_machine_setup(ar71xx_mach);
 	return 0;
 }
 
diff --git a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h
index 04ea33f916301c57a7f4d3178f5944124cac243e..19033fc4958e32c5c98b3025e9830a6dd267a5ba 100644
--- a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h
+++ b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h
@@ -109,30 +109,32 @@ enum ar71xx_soc_type {
 
 extern enum ar71xx_soc_type ar71xx_soc;
 
-extern unsigned long ar71xx_mach_type;
-
-#define AR71XX_MACH_GENERIC	0
-#define AR71XX_MACH_WP543	1	/* Compex WP543 */
-#define AR71XX_MACH_RB_411	2	/* MikroTik RouterBOARD 411/411A/411AH */
-#define AR71XX_MACH_RB_433	3	/* MikroTik RouterBOARD 433/433AH */
-#define AR71XX_MACH_RB_450	4	/* MikroTik RouterBOARD 450 */
-#define AR71XX_MACH_RB_493	5	/* Mikrotik RouterBOARD 493/493AH */
-#define AR71XX_MACH_AW_NR580	6	/* AzureWave AW-NR580 */
-#define AR71XX_MACH_AP83	7	/* Atheros AP83 */
-#define AR71XX_MACH_TEW_632BRP	8	/* TRENDnet TEW-632BRP */
-#define AR71XX_MACH_UBNT_RS	9	/* Ubiquiti RouterStation */
-#define AR71XX_MACH_UBNT_LSX	10	/* Ubiquiti LSX */
-#define AR71XX_MACH_WNR2000	11	/* NETGEAR WNR2000 */
-#define AR71XX_MACH_PB42	12	/* Atheros PB42 */
-#define AR71XX_MACH_MZK_W300NH	13	/* Planex MZK-W300NH */
-#define AR71XX_MACH_MZK_W04NU	14	/* Planex MZK-W04NU */
-#define AR71XX_MACH_UBNT_LSSR71	15	/* Ubiquiti LS-SR71 */
-#define AR71XX_MACH_TL_WR941ND	16	/* TP-LINK TL-WR941ND */
-#define AR71XX_MACH_UBNT_RSPRO	17	/* Ubiquiti RouterStation Pro */
-#define AR71XX_MACH_AP81	18	/* Atheros AP81 */
-#define AR71XX_MACH_WRT400N	19	/* Linksys WRT400N */
-#define AR71XX_MACH_PB44	20	/* Atheros PB44 */
-#define AR71XX_MACH_WRT160NL	21	/* Linksys WRT160NL */
+enum ar71xx_mach_type {
+	AR71XX_MACH_GENERIC = 0,
+	AR71XX_MACH_AP81,	/* Atheros AP81 */
+	AR71XX_MACH_AP83,	/* Atheros AP83 */
+	AR71XX_MACH_AW_NR580,	/* AzureWave AW-NR580 */
+	AR71XX_MACH_RB_411,	/* MikroTik RouterBOARD 411/411A/411AH */
+	AR71XX_MACH_RB_433,	/* MikroTik RouterBOARD 433/433AH */
+	AR71XX_MACH_RB_450,	/* MikroTik RouterBOARD 450 */
+	AR71XX_MACH_RB_493,	/* Mikrotik RouterBOARD 493/493AH */
+	AR71XX_MACH_PB42,	/* Atheros PB42 */
+	AR71XX_MACH_PB44,	/* Atheros PB44 */
+	AR71XX_MACH_MZK_W04NU,	/* Planex MZK-W04NU */
+	AR71XX_MACH_MZK_W300NH,	/* Planex MZK-W300NH */
+	AR71XX_MACH_TEW_632BRP,	/* TRENDnet TEW-632BRP */
+	AR71XX_MACH_TL_WR941ND,	/* TP-LINK TL-WR941ND */
+	AR71XX_MACH_UBNT_LSSR71, /* Ubiquiti LS-SR71 */
+	AR71XX_MACH_UBNT_LSX,	/* Ubiquiti LSX */
+	AR71XX_MACH_UBNT_RS,	/* Ubiquiti RouterStation */
+	AR71XX_MACH_UBNT_RSPRO,	/* Ubiquiti RouterStation Pro */
+	AR71XX_MACH_WNR2000,	/* NETGEAR WNR2000 */
+	AR71XX_MACH_WP543,	/* Compex WP543 */
+	AR71XX_MACH_WRT160NL,	/* Linksys WRT160NL */
+	AR71XX_MACH_WRT400N,	/* Linksys WRT400N */
+};
+
+extern enum ar71xx_mach_type ar71xx_mach;
 
 /*
  * PLL block