diff options
| -rw-r--r-- | arch/arm/plat-omap/dmtimer.c | 14 | 
1 files changed, 4 insertions, 10 deletions
diff --git a/arch/arm/plat-omap/dmtimer.c b/arch/arm/plat-omap/dmtimer.c index b4e6634380e..305faf53946 100644 --- a/arch/arm/plat-omap/dmtimer.c +++ b/arch/arm/plat-omap/dmtimer.c @@ -448,7 +448,7 @@ int omap_dm_timer_set_source(struct omap_dm_timer *timer, int source)  {  	int ret;  	char *parent_name = NULL; -	struct clk *fclk, *parent; +	struct clk *parent;  	struct dmtimer_platform_data *pdata;  	if (unlikely(!timer)) @@ -467,11 +467,8 @@ int omap_dm_timer_set_source(struct omap_dm_timer *timer, int source)  	if (pdata && pdata->set_timer_src)  		return pdata->set_timer_src(timer->pdev, source); -	fclk = clk_get(&timer->pdev->dev, "fck"); -	if (IS_ERR_OR_NULL(fclk)) { -		pr_err("%s: fck not found\n", __func__); +	if (!timer->fclk)  		return -EINVAL; -	}  	switch (source) {  	case OMAP_TIMER_SRC_SYS_CLK: @@ -490,18 +487,15 @@ int omap_dm_timer_set_source(struct omap_dm_timer *timer, int source)  	parent = clk_get(&timer->pdev->dev, parent_name);  	if (IS_ERR_OR_NULL(parent)) {  		pr_err("%s: %s not found\n", __func__, parent_name); -		ret = -EINVAL; -		goto out; +		return -EINVAL;  	} -	ret = clk_set_parent(fclk, parent); +	ret = clk_set_parent(timer->fclk, parent);  	if (IS_ERR_VALUE(ret))  		pr_err("%s: failed to set %s as parent\n", __func__,  			parent_name);  	clk_put(parent); -out: -	clk_put(fclk);  	return ret;  }  |