clocksource: sh_tmu: Rename clock to "fck" in the non-legacy case
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Thu, 13 Feb 2014 23:35:18 +0000 (00:35 +0100)
committerLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Wed, 16 Apr 2014 10:03:23 +0000 (12:03 +0200)
The sh_tmu driver gets the TMU functional clock using a connection ID of
"tmu_fck". While all SH SoCs create clock lookup entries with a NULL
device ID and a "tmu_fck" connection ID, the ARM SoCs use the device ID
only with a NULL connection ID. This works on legacy platforms but will
break on ARM with DT boot.

Fix the situation by using a connection ID of "fck" in the non-legacy
platform data case. Clock lookup entries will be renamed to use the
device ID as well as the connection ID as platforms get moved to new
platform data. The legacy code will eventually be dropped, leaving us
with device ID based clock lookup, compatible with DT boot.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
drivers/clocksource/sh_tmu.c

index 0306d31e9f1dff612154d5e85c619dd8d81aa51b..cf07797dbcf3c7f0d8a1f26b189b11c2cde3540a 100644 (file)
@@ -568,7 +568,8 @@ static int sh_tmu_setup(struct sh_tmu_device *tmu, struct platform_device *pdev)
        tmu->model = id->driver_data;
 
        /* Get hold of clock. */
-       tmu->clk = clk_get(&tmu->pdev->dev, "tmu_fck");
+       tmu->clk = clk_get(&tmu->pdev->dev,
+                          tmu->model == SH_TMU_LEGACY ? "tmu_fck" : "fck");
        if (IS_ERR(tmu->clk)) {
                dev_err(&tmu->pdev->dev, "cannot get clock\n");
                return PTR_ERR(tmu->clk);