From a6d902c5aaa2f625b69b3cec80af2df49065cef9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E9=BB=84=E6=B6=9B?= Date: Tue, 18 Jan 2011 16:20:43 +0800 Subject: [PATCH] regulator: rk29-pwm: enable pwm clock on probe --- drivers/regulator/rk29-pwm-regulator.c | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/drivers/regulator/rk29-pwm-regulator.c b/drivers/regulator/rk29-pwm-regulator.c index 7f5b10ee9722..8b998eb5e9b6 100644 --- a/drivers/regulator/rk29-pwm-regulator.c +++ b/drivers/regulator/rk29-pwm-regulator.c @@ -60,12 +60,13 @@ const static int pwm_voltage_map[] = { 950, 975, 1000, 1025, 1050, 1075, 1100, 1125, 1150, 1175, 1200, 1225, 1250, 1275, 1300, 1325, 1350, 1375, 1400 }; +static struct clk *pwm_clk; + static int pwm_set_rate(struct pwm_platform_data *pdata,int nHz,u32 rate) { u32 divh,divTotal; int id = pdata->pwm_id; unsigned long clkrate; - struct clk *pwm_clk = clk_get(NULL, "pwm"); clkrate = clk_get_rate(pwm_clk); @@ -112,21 +113,6 @@ static int pwm_set_rate(struct pwm_platform_data *pdata,int nHz,u32 rate) return (0); } -static int pwm_init(struct pwm_platform_data *pdata, int nHz, int rate) -{ - - struct clk *pwm_clk = clk_get(NULL, "pwm"); - - // pwm2 clk enable - clk_enable(pwm_clk); - - if(pwm_set_rate(pdata,nHz,rate)!=0) - return -1; - - - return 0; -} - static int pwm_regulator_list_voltage(struct regulator_dev *dev,unsigned int index) { DBG("Enter %s, index =%d\n",__FUNCTION__,index); @@ -237,8 +223,9 @@ static int __devinit pwm_regulator_probe(struct platform_device *pdev) goto err_gpio; } - //pwm_init(pdata,1000*1000,PWM_VCORE_130); - + pwm_clk = clk_get(NULL, "pwm"); + clk_enable(pwm_clk); + platform_set_drvdata(pdev, rdev); printk(KERN_INFO "pwm_regulator: driver initialized\n"); -- 2.34.1