clocksource: sh_mtu2: Rename clock to "fck" in the non-legacy case
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tue, 4 Mar 2014 17:09:15 +0000 (18:09 +0100)
committerLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Wed, 16 Apr 2014 10:03:33 +0000 (12:03 +0200)
The sh_mtu2 driver gets the MTU2 functional clock using a connection ID
of "mtu2_fck". While all SH SoCs create clock lookup entries with a NULL
device ID and a "mtu2_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>
Tested-by: Wolfram Sang <wsa@sang-engineering.com>
drivers/clocksource/sh_mtu2.c

index 7cc6d9429f81e8d4c3c3027c6cd19f14c61b11da..3a378570242231cc153fdbf2fe7757ca405ef654 100644 (file)
@@ -465,7 +465,7 @@ static int sh_mtu2_setup(struct sh_mtu2_device *mtu,
        }
 
        /* Get hold of clock. */
-       mtu->clk = clk_get(&mtu->pdev->dev, "mtu2_fck");
+       mtu->clk = clk_get(&mtu->pdev->dev, mtu->legacy ? "mtu2_fck" : "fck");
        if (IS_ERR(mtu->clk)) {
                dev_err(&mtu->pdev->dev, "cannot get clock\n");
                return PTR_ERR(mtu->clk);