From: 张晴 Date: Tue, 14 Aug 2012 08:11:16 +0000 (+0800) Subject: rk30:Compatib with wm8326¡¢tps65910 and discrete dcdc X-Git-Tag: firefly_0821_release~8922^2~13 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=afaf51341ff50fd0a89ac2e1c37c4409e2679146;p=firefly-linux-kernel-4.4.55.git rk30:Compatib with wm8326¡¢tps65910 and discrete dcdc --- diff --git a/arch/arm/mach-rk30/board-rk30-phonepad.c b/arch/arm/mach-rk30/board-rk30-phonepad.c index 9ec49404edf8..c06b3936f0bc 100755 --- a/arch/arm/mach-rk30/board-rk30-phonepad.c +++ b/arch/arm/mach-rk30/board-rk30-phonepad.c @@ -1653,9 +1653,6 @@ static struct platform_device device_rfkill_rk = { #endif static struct platform_device *devices[] __initdata = { -#ifdef CONFIG_RK30_PWM_REGULATOR - &pwm_regulator_device[0], -#endif #ifdef CONFIG_BACKLIGHT_RK29_BL &rk29_device_backlight, #endif diff --git a/arch/arm/mach-rk30/board-rk30-sdk-tps65910.c b/arch/arm/mach-rk30/board-rk30-sdk-tps65910.c index d1fb1cfd80ed..d61ef3f69c36 100755 --- a/arch/arm/mach-rk30/board-rk30-sdk-tps65910.c +++ b/arch/arm/mach-rk30/board-rk30-sdk-tps65910.c @@ -52,6 +52,7 @@ int tps65910_pre_init(struct tps65910 *tps65910){ printk(KERN_ERR "Unable to write TPS65910_DEVCTRL2 reg\n"); return err; } + #if 1 /* set PSKIP=0 */ val = tps65910_reg_read(tps65910, TPS65910_DCDCCTRL); @@ -238,6 +239,10 @@ int tps65910_post_init(struct tps65910 *tps65910) g_pmic_type = PMIC_TYPE_TPS65910; printk("%s:g_pmic_type=%d\n",__func__,g_pmic_type); + + #ifdef CONFIG_RK30_PWM_REGULATOR + platform_device_register(&pwm_regulator_device[0]); + #endif dcdc = regulator_get(NULL, "vio"); //vcc_io regulator_set_voltage(dcdc, 3000000, 3000000); @@ -315,15 +320,6 @@ int tps65910_post_init(struct tps65910 *tps65910) printk("%s set vmmc vcc28_cif=%dmV end\n", __func__, regulator_get_voltage(ldo)); regulator_put(ldo); udelay(100); - - #ifdef CONFIG_RK30_PWM_REGULATOR - dcdc = regulator_get(NULL, "vdd_core"); // vdd_log - regulator_set_voltage(dcdc, 1100000, 1100000); - regulator_enable(dcdc); - printk("%s set vdd_core=%dmV end\n", __func__, regulator_get_voltage(dcdc)); - regulator_put(dcdc); - udelay(100); - #endif printk("%s,line=%d END\n", __func__,__LINE__); diff --git a/drivers/regulator/rk30-pwm-regulator.c b/drivers/regulator/rk30-pwm-regulator.c index f046b4496c0c..8b914cd565cc 100755 --- a/drivers/regulator/rk30-pwm-regulator.c +++ b/drivers/regulator/rk30-pwm-regulator.c @@ -255,7 +255,7 @@ static int __devinit pwm_regulator_probe(struct platform_device *pdev) int id = pdev->id; int ret ; char gpio_name[20]; - + if (!pdata) return -ENODEV; @@ -451,7 +451,7 @@ static void __exit pwm_regulator_module_exit(void) } -subsys_initcall(pwm_regulator_module_init); +fs_initcall(pwm_regulator_module_init); module_exit(pwm_regulator_module_exit);