diff options
Diffstat (limited to 'arch/arm/plat-omap')
-rw-r--r-- | arch/arm/plat-omap/dmtimer.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/arch/arm/plat-omap/dmtimer.c b/arch/arm/plat-omap/dmtimer.c index e3e22b3dc5c2..6510e5e7b7e3 100644 --- a/arch/arm/plat-omap/dmtimer.c +++ b/arch/arm/plat-omap/dmtimer.c | |||
@@ -137,11 +137,17 @@ int omap_dm_timer_prepare(struct omap_dm_timer *timer) | |||
137 | { | 137 | { |
138 | int ret; | 138 | int ret; |
139 | 139 | ||
140 | timer->fclk = clk_get(&timer->pdev->dev, "fck"); | 140 | /* |
141 | if (WARN_ON_ONCE(IS_ERR_OR_NULL(timer->fclk))) { | 141 | * FIXME: OMAP1 devices do not use the clock framework for dmtimers so |
142 | timer->fclk = NULL; | 142 | * do not call clk_get() for these devices. |
143 | dev_err(&timer->pdev->dev, ": No fclk handle.\n"); | 143 | */ |
144 | return -EINVAL; | 144 | if (!(timer->capability & OMAP_TIMER_NEEDS_RESET)) { |
145 | timer->fclk = clk_get(&timer->pdev->dev, "fck"); | ||
146 | if (WARN_ON_ONCE(IS_ERR_OR_NULL(timer->fclk))) { | ||
147 | timer->fclk = NULL; | ||
148 | dev_err(&timer->pdev->dev, ": No fclk handle.\n"); | ||
149 | return -EINVAL; | ||
150 | } | ||
145 | } | 151 | } |
146 | 152 | ||
147 | if (timer->capability & OMAP_TIMER_NEEDS_RESET) | 153 | if (timer->capability & OMAP_TIMER_NEEDS_RESET) |