clocksource: sh_cmt: 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:14 +0000 (12:03 +0200)
The sh_cmt driver gets the CMT functional clock using a connection ID of
"cmt_fck". While all SH SoCs create clock lookup entries with a NULL
device ID and a "cmt_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_cmt.c

index 1efe7d64efca960dc8768029f3745c48b98a8d66..a5ea9aedbd50cff2700b7d7949c51e5962f8ffb4 100644 (file)
@@ -1007,7 +1007,7 @@ static int sh_cmt_setup(struct sh_cmt_device *cmt, struct platform_device *pdev)
        cmt->legacy = cmt->info ? false : true;
 
        /* Get hold of clock. */
-       cmt->clk = clk_get(&cmt->pdev->dev, "cmt_fck");
+       cmt->clk = clk_get(&cmt->pdev->dev, cmt->legacy ? "cmt_fck" : "fck");
        if (IS_ERR(cmt->clk)) {
                dev_err(&cmt->pdev->dev, "cannot get clock\n");
                return PTR_ERR(cmt->clk);