|
@@ -137,11 +137,17 @@ int omap_dm_timer_prepare(struct omap_dm_timer *timer)
|
|
|
{
|
|
|
int ret;
|
|
|
|
|
|
- timer->fclk = clk_get(&timer->pdev->dev, "fck");
|
|
|
- if (WARN_ON_ONCE(IS_ERR_OR_NULL(timer->fclk))) {
|
|
|
- timer->fclk = NULL;
|
|
|
- dev_err(&timer->pdev->dev, ": No fclk handle.\n");
|
|
|
- return -EINVAL;
|
|
|
+ /*
|
|
|
+ * FIXME: OMAP1 devices do not use the clock framework for dmtimers so
|
|
|
+ * do not call clk_get() for these devices.
|
|
|
+ */
|
|
|
+ if (!(timer->capability & OMAP_TIMER_NEEDS_RESET)) {
|
|
|
+ timer->fclk = clk_get(&timer->pdev->dev, "fck");
|
|
|
+ if (WARN_ON_ONCE(IS_ERR_OR_NULL(timer->fclk))) {
|
|
|
+ timer->fclk = NULL;
|
|
|
+ dev_err(&timer->pdev->dev, ": No fclk handle.\n");
|
|
|
+ return -EINVAL;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if (timer->capability & OMAP_TIMER_NEEDS_RESET)
|