diff options
Diffstat (limited to 'arch/arm/mach-imx/clocksource.c')
-rw-r--r-- | arch/arm/mach-imx/clocksource.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/arm/mach-imx/clocksource.c b/arch/arm/mach-imx/clocksource.c index 8482abd691..4d6c6c2b0b 100644 --- a/arch/arm/mach-imx/clocksource.c +++ b/arch/arm/mach-imx/clocksource.c @@ -115,12 +115,16 @@ static int imx_gpt_probe(struct device_d *dev) for (i = 0; i < 100; i++) writel(0, timer_base + GPT_TCTL); /* We have no udelay by now */ - clk_gpt = clk_get(dev, NULL); + clk_gpt = clk_get(dev, "per"); if (IS_ERR(clk_gpt)) { rate = 20000000; - dev_err(dev, "failed to get clock\n"); + dev_err(dev, "failed to get clock, assume %lu Hz\n", rate); } else { rate = clk_get_rate(clk_gpt); + if (!rate) { + dev_err(dev, "clock reports rate == 0\n"); + return -EIO; + } } writel(0, timer_base + GPT_TPRER); |