diff --git a/arch/arm/cpu/armv7/omap3/sys_info.c b/arch/arm/cpu/armv7/omap3/sys_info.c
index ab60a03..497dc13 100644
--- a/arch/arm/cpu/armv7/omap3/sys_info.c
+++ b/arch/arm/cpu/armv7/omap3/sys_info.c
@@ -42,17 +42,14 @@
 				"1.2"};
 #endif /* CONFIG_DISPLAY_CPUINFO */
 
-/*****************************************************************
- * get_dieid(u32 *id) - read die ID
- *****************************************************************/
-void get_dieid(u32 *id)
+void omap_die_id(unsigned int *die_id)
 {
 	struct ctrl_id *id_base = (struct ctrl_id *)OMAP34XX_ID_L4_IO_BASE;
 
-	id[3] = readl(&id_base->die_id_0);
-	id[2] = readl(&id_base->die_id_1);
-	id[1] = readl(&id_base->die_id_2);
-	id[0] = readl(&id_base->die_id_3);
+	die_id[0] = readl(&id_base->die_id_0);
+	die_id[1] = readl(&id_base->die_id_1);
+	die_id[2] = readl(&id_base->die_id_2);
+	die_id[3] = readl(&id_base->die_id_3);
 }
 
 /*****************************************************************
@@ -68,7 +65,7 @@
 	uid_s = getenv("dieid#");
 
 	if (uid_s == NULL) {
-		get_dieid(id);
+		omap_die_id(id);
 		sprintf(die_id, "%08x%08x%08x%08x", id[0], id[1], id[2], id[3]);
 		setenv("dieid#", die_id);
 		uid_s = die_id;
diff --git a/arch/arm/include/asm/arch-omap3/sys_proto.h b/arch/arm/include/asm/arch-omap3/sys_proto.h
index 94f29fd..a0809fc 100644
--- a/arch/arm/include/asm/arch-omap3/sys_proto.h
+++ b/arch/arm/include/asm/arch-omap3/sys_proto.h
@@ -70,7 +70,6 @@
 void omap_nand_switch_ecc(uint32_t, uint32_t);
 void power_init_r(void);
 void dieid_num_r(void);
-void get_dieid(u32 *id);
 void do_omap3_emu_romcode_call(u32 service_id, u32 parameters);
 void omap3_set_aux_cr_secure(u32 acr);
 u32 warm_reset(void);
diff --git a/board/lge/sniper/sniper.c b/board/lge/sniper/sniper.c
index a43f640..ae9fe69 100644
--- a/board/lge/sniper/sniper.c
+++ b/board/lge/sniper/sniper.c
@@ -92,9 +92,9 @@
 int misc_init_r(void)
 {
 	unsigned char keypad_matrix[64] = { 0 };
+	unsigned int die_id[4] = { 0 };
 	char serial_string[17] = { 0 };
 	char reboot_mode[2] = { 0 };
-	u32 dieid[4] = { 0 };
 	unsigned char keys[3];
 	unsigned char data = 0;
 
@@ -140,11 +140,11 @@
 
 	/* Serial number */
 
-	get_dieid((u32 *)&dieid);
+	omap_die_id(die_id);
 
 	if (!getenv("serial#")) {
 		snprintf(serial_string, sizeof(serial_string),
-			"%08x%08x", dieid[0], dieid[3]);
+			"%08x%08x", die_id[0], die_id[3]);
 
 		setenv("serial#", serial_string);
 	}
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
index 3b0a9e7..b0d06a5 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
@@ -507,10 +507,10 @@
 #endif
 
 	if (generate_fake_mac) {
-		u32 id[4];
+		unsigned int die_id[4] = { 0 };
 
-		get_dieid(id);
-		usb_fake_mac_from_die_id(id);
+		omap_die_id(die_id);
+		usb_fake_mac_from_die_id(die_id);
 	}
 
 	return 0;
