Merge tag 'ib-mfd-regulator-clk-v3.19' of git://git.kernel.org/pub/scm/linux/kernel...
[cascardo/linux.git] / drivers / clk / clk-s2mps11.c
index b7797fb..4f98898 100644 (file)
@@ -23,6 +23,7 @@
 #include <linux/clk-provider.h>
 #include <linux/platform_device.h>
 #include <linux/mfd/samsung/s2mps11.h>
+#include <linux/mfd/samsung/s2mps13.h>
 #include <linux/mfd/samsung/s2mps14.h>
 #include <linux/mfd/samsung/s5m8767.h>
 #include <linux/mfd/samsung/core.h>
@@ -120,6 +121,24 @@ static struct clk_init_data s2mps11_clks_init[S2MPS11_CLKS_NUM] = {
        },
 };
 
+static struct clk_init_data s2mps13_clks_init[S2MPS11_CLKS_NUM] = {
+       [S2MPS11_CLK_AP] = {
+               .name = "s2mps13_ap",
+               .ops = &s2mps11_clk_ops,
+               .flags = CLK_IS_ROOT,
+       },
+       [S2MPS11_CLK_CP] = {
+               .name = "s2mps13_cp",
+               .ops = &s2mps11_clk_ops,
+               .flags = CLK_IS_ROOT,
+       },
+       [S2MPS11_CLK_BT] = {
+               .name = "s2mps13_bt",
+               .ops = &s2mps11_clk_ops,
+               .flags = CLK_IS_ROOT,
+       },
+};
+
 static struct clk_init_data s2mps14_clks_init[S2MPS11_CLKS_NUM] = {
        [S2MPS11_CLK_AP] = {
                .name = "s2mps14_ap",
@@ -184,6 +203,10 @@ static int s2mps11_clk_probe(struct platform_device *pdev)
                s2mps11_reg = S2MPS11_REG_RTC_CTRL;
                clks_init = s2mps11_clks_init;
                break;
+       case S2MPS13X:
+               s2mps11_reg = S2MPS13_REG_RTCCTRL;
+               clks_init = s2mps13_clks_init;
+               break;
        case S2MPS14X:
                s2mps11_reg = S2MPS14_REG_RTCCTRL;
                clks_init = s2mps14_clks_init;
@@ -195,7 +218,7 @@ static int s2mps11_clk_probe(struct platform_device *pdev)
        default:
                dev_err(&pdev->dev, "Invalid device type\n");
                return -EINVAL;
-       };
+       }
 
        /* Store clocks of_node in first element of s2mps11_clks array */
        s2mps11_clks->clk_np = s2mps11_clk_parse_dt(pdev, clks_init);
@@ -279,6 +302,7 @@ static int s2mps11_clk_remove(struct platform_device *pdev)
 
 static const struct platform_device_id s2mps11_clk_id[] = {
        { "s2mps11-clk", S2MPS11X},
+       { "s2mps13-clk", S2MPS13X},
        { "s2mps14-clk", S2MPS14X},
        { "s5m8767-clk", S5M8767X},
        { },