int ztemt_get_hw_id(void)
{
	if(ztemt_hw_id >= 0)
	    return ztemt_hw_id;

#ifdef CONFIG_ZTEMT_HW_VERSION_NX510J
    ztemt_hw_id = ztemt_get_hardware_type_gpio(
                        hardware_id_map,
                        ARRAY_SIZE(hardware_id_map),
                        board_type_gpio_str);
    ztemt_hw_version_debug("hw_id=%d",ztemt_hw_id);

#elif defined CONFIG_ZTEMT_HW_VERSION_NX507J
    ztemt_hw_id = ztemt_get_hardware_type_2(
		                hardware_id_map,
						ARRAY_SIZE(hardware_id_map),
						ztemt_hw_mv,ztemt_hw_mv_2);
	
    ztemt_hw_version_debug("hw_id_mv=%d mv , hw_id_mv_2=%d mv ,hw_id=%d ,hw_ver=%s\n",
         ztemt_hw_mv,ztemt_hw_mv_2,ztemt_hw_id,hardware_id_map[ztemt_hw_id].hw_ver);
#else	    
    ztemt_hw_id = ztemt_get_hardware_type(
		                hardware_id_map,
						ARRAY_SIZE(hardware_id_map),
						ztemt_hw_mv);
	
	//printk("hw_id_mv=%d mv hw_id=%d hw_ver=%s\n",
	    //ztemt_hw_mv,ztemt_hw_id,hardware_id_map[ztemt_hw_id].hw_ver);
    ztemt_hw_version_debug("hw_id_mv=%d mv hw_id=%d hw_ver=%s\n",
		    ztemt_hw_mv,ztemt_hw_id,hardware_id_map[ztemt_hw_id].hw_ver);
#endif

	return ztemt_hw_id;
}
int ztemt_get_hw_id(void)
{
	if(ztemt_hw_id >= 0)
	    return ztemt_hw_id;

    ztemt_hw_id = ztemt_get_hardware_type_gpio(
                        hardware_id_map,
                        ARRAY_SIZE(hardware_id_map),
                        board_type_gpio_str);
    ztemt_hw_version_debug("hw_id=%d",ztemt_hw_id);

	return ztemt_hw_id;
}