SMPS(PM8058_S2,  SMPS2,  "8058_s2",   "8058_s2_pc",  smps, SMPS),
	SMPS(PM8058_S3,  SMPS3,  "8058_s3",   "8058_s3_pc",  smps, SMPS),
	SMPS(PM8058_S4,  SMPS4,  "8058_s4",   "8058_s4_pc",  smps, SMPS),

#ifdef CONFIG_TOUCHSCREEN_CYTTSP_I2C
	LVS(PM8058_LVS0, LVS0,   "8058_lvs0", "8058_lvs0_pc"),
#else
	LVS(PM8058_LVS0, LVS0,   "8058_lvs0", "8058_lvs0_pc"),
#endif
//N1037 20120222 porting
#ifdef CONFIG_SENSORS_MPU3050
	LVS(PM8058_LVS1, LVS1,   "8058_lvs1", "8058_lvs1_pc"),
#else
	LVS(PM8058_LVS1, LVS1,   "8058_lvs1", "8058_lvs1_pc"),
#endif
	NCP(PM8058_NCP,  NCP,    "8058_ncp",  NULL),

	LDO(PM8901_L0,   LDO0B,  "8901_l0",   "8901_l0_pc",  nldo, LDO_300),
#ifdef F_PANTECH_CAMERA_S5K6AAFX13
	LDO(PM8901_L1,   LDO1B,  "8901_l1",   "8901_l1_pc",  pldo, LDO_300),
#else
	LDO(PM8901_L1,   LDO1B,  "8901_l1",   "8901_l1_pc",  pldo, LDO_300),
#endif
#ifdef F_PANTECH_CAMERA_ICP_HD
	LDO(PM8901_L2,   LDO2B,  "8901_l2",   "8901_l2_pc",  pldo, LDO_300),
	LDO(PM8901_L3,   LDO3B,  "8901_l3",   "8901_l3_pc",  pldo, LDO_300),
#else
	LDO(PM8901_L2,   LDO2B,  "8901_l2",   "8901_l2_pc",  pldo, LDO_300),
	LDO(PM8901_L3,   LDO3B,  "8901_l3",   "8901_l3_pc",  pldo, LDO_300),
#endif
	LDO(PM8901_L4,   LDO4B,  "8901_l4",   "8901_l4_pc",  pldo, LDO_300),
示例#2
0
	SMPS("8921_s7", "8921_s7_pc", 0x1F0, 0x1F5, 0x012, 0x1F2, SMPS_1500),
	SMPS("8921_s8", "8921_s8_pc", 0x1F8, 0x1FD, 0x013, 0x1FA, SMPS_1500),

	/* name		       pc_name	       ctrl   test */
	VS("8921_lvs1",        "8921_lvs1_pc", 0x060, 0x061),
	VS300("8921_lvs2",		       0x062, 0x063),
	VS("8921_lvs3",        "8921_lvs3_pc", 0x064, 0x065),
	VS("8921_lvs4",        "8921_lvs4_pc", 0x066, 0x067),
	VS("8921_lvs5",        "8921_lvs5_pc", 0x068, 0x069),
	VS("8921_lvs6",        "8921_lvs6_pc", 0x06A, 0x06B),
	VS("8921_lvs7",        "8921_lvs7_pc", 0x06C, 0x06D),
	VS300("8921_usb_otg",		       0x06E, 0x06F),
	VS300("8921_hdmi_mvs",		       0x070, 0x071),

	/*  name	ctrl */
	NCP("8921_ncp", 0x090),
};

#define MAX_NAME_COMPARISON_LEN 32

static int __devinit match_regulator(
	struct pm8xxx_regulator_core_platform_data *core_data, char *name)
{
	int found = 0;
	int i;

	for (i = 0; i < ARRAY_SIZE(regulator_data); i++) {
		if (regulator_data[i].rdesc.name
		    && strncmp(regulator_data[i].rdesc.name, name,
				MAX_NAME_COMPARISON_LEN) == 0) {
			core_data->is_pin_controlled = false;
	SMPS(S5,  "8921_s5",   NULL,          ftsmps,   SMPS_2000),
	SMPS(S6,  "8921_s6",   NULL,          ftsmps,   SMPS_2000),
	SMPS(S7,  "8921_s7",   "8921_s7_pc",  smps,     SMPS_1500),
	SMPS(S8,  "8921_s8",   "8921_s8_pc",  smps,     SMPS_1500),

	LVS(LVS1, "8921_lvs1", "8921_lvs1_pc"),
	LVS(LVS2, "8921_lvs2", NULL),
	LVS(LVS3, "8921_lvs3", "8921_lvs3_pc"),
	LVS(LVS4, "8921_lvs4", "8921_lvs4_pc"),
	LVS(LVS5, "8921_lvs5", "8921_lvs5_pc"),
	LVS(LVS6, "8921_lvs6", "8921_lvs6_pc"),
	LVS(LVS7, "8921_lvs7", "8921_lvs7_pc"),
	MVS(USB_OTG,  "8921_usb_otg",  NULL, USB_OTG_SWITCH),
	MVS(HDMI_MVS, "8921_hdmi_mvs", NULL, HDMI_SWITCH),

	NCP(NCP,  "8921_ncp",  NULL),
};

static const char *pin_func_label[] = {
	[RPM_VREG_PIN_FN_8960_DONT_CARE]	= "don't care",
	[RPM_VREG_PIN_FN_8960_ENABLE]		= "on/off",
	[RPM_VREG_PIN_FN_8960_MODE]		= "HPM/LPM",
	[RPM_VREG_PIN_FN_8960_SLEEP_B]		= "sleep_b",
	[RPM_VREG_PIN_FN_8960_NONE]		= "none",
};

static const char *force_mode_label[] = {
	[RPM_VREG_FORCE_MODE_8960_NONE]		= "none",
	[RPM_VREG_FORCE_MODE_8960_LPM]		= "LPM",
	[RPM_VREG_FORCE_MODE_8960_AUTO]		= "auto",
	[RPM_VREG_FORCE_MODE_8960_HPM]		= "HPM",