Patchwork [RESEND,1/4] clk: clk-s2mps11: Refactor for including support for other MFD clocks

login
register
mail settings
Submitter Tushar Behera
Date Dec. 30, 2013, 4:03 a.m.
Message ID <CAHbNUh0tJHXv52bA9hBDZMH0Pi+x9uC=LojcvgS=ONnCgEmVTA@mail.gmail.com>
Download mbox | patch
Permalink /patch/305697/
State New
Headers show

Comments

Tushar Behera - Dec. 30, 2013, 4:03 a.m.
On 30 December 2013 03:47, Mike Turquette <mturquette@linaro.org> wrote:
> Quoting Tushar Behera (2013-12-26 02:18:58)
>> The clocks in S2MPS11 and S5M8767 are managed in the same way, baring
>> a difference in the register offset. It would be better to update
>> existing S2MPS11 driver to support the clocks in S5M8767, rather than
>> creating an almost duplicate driver altogether.
>
> Can you rebase patches #1 & #2 onto clk-next? They do not apply cleanly
> as-is.
>
> Regards,
> Mike
>

Commit 1b1ccee1e821 "mfd: s2mps11: Fix build after regmap field rename
in sec-core.c" is also touching this file, which is in Mark's tree
right now. If I rebase
this patch on top clk-next, I am getting conflicts when I merge that
with linux-next.
Let me know how you want to handle this.

I am attaching the rebased patches for your reference.
If you want, I will send them again through git-send-email.
Mark Brown - Dec. 31, 2013, 4:09 p.m.
On Mon, Dec 30, 2013 at 09:33:50AM +0530, Tushar Behera wrote:

> Commit 1b1ccee1e821 "mfd: s2mps11: Fix build after regmap field rename
> in sec-core.c" is also touching this file, which is in Mark's tree
> right now. If I rebase

It's been in Linus' tree for a while now.
Mike Turquette - Dec. 31, 2013, 7:13 p.m.
Quoting Mark Brown (2013-12-31 08:09:16)
> On Mon, Dec 30, 2013 at 09:33:50AM +0530, Tushar Behera wrote:
> 
> > Commit 1b1ccee1e821 "mfd: s2mps11: Fix build after regmap field rename
> > in sec-core.c" is also touching this file, which is in Mark's tree
> > right now. If I rebase
> 
> It's been in Linus' tree for a while now.

OK, so I merged the two patches into clk-next, then merged clk-next into
next-20131224 and the merge is super trivial to resolve. So I propose
that we just let it get resolved in linux-next the usual way.

Any objections? If not I'll take these two patches into clk-next.

Regards,
Mike

Patch

From 5f3843da7bc71d126c0cce7a8e88aab1850c4b9c Mon Sep 17 00:00:00 2001
From: Tushar Behera <tushar.behera@linaro.org>
Date: Wed, 30 Oct 2013 15:56:27 +0530
Subject: [PATCH 2/4] clk: clk-s2mps11: Add support for clocks in S5M8767 MFD

Since clock operation within S2MPS11 and S5M8767 are similar, we can
support both the devices within a single driver.

Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
---
 drivers/clk/Kconfig       |    6 ++++--
 drivers/clk/clk-s2mps11.c |    5 +++++
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
index 407cffb..99332da 100644
--- a/drivers/clk/Kconfig
+++ b/drivers/clk/Kconfig
@@ -65,10 +65,12 @@  config COMMON_CLK_SI570
 	  clock generators.
 
 config COMMON_CLK_S2MPS11
-	tristate "Clock driver for S2MPS11 MFD"
+	tristate "Clock driver for S2MPS11/S5M8767 MFD"
 	depends on MFD_SEC_CORE
 	---help---
-	  This driver supports S2MPS11 crystal oscillator clock.
+	  This driver supports S2MPS11/S5M8767 crystal oscillator clock. These
+	  multi-function devices have 3 fixed-rate oscillators, clocked at
+	  32KHz each.
 
 config CLK_TWL6040
 	tristate "External McPDM functional clock from twl6040"
diff --git a/drivers/clk/clk-s2mps11.c b/drivers/clk/clk-s2mps11.c
index 494d1df..37e7285 100644
--- a/drivers/clk/clk-s2mps11.c
+++ b/drivers/clk/clk-s2mps11.c
@@ -27,6 +27,7 @@ 
 #include <linux/clk-provider.h>
 #include <linux/platform_device.h>
 #include <linux/mfd/samsung/s2mps11.h>
+#include <linux/mfd/samsung/s5m8767.h>
 #include <linux/mfd/samsung/core.h>
 
 #define s2mps11_name(a) (a->hw.init->name)
@@ -175,6 +176,9 @@  static int s2mps11_clk_probe(struct platform_device *pdev)
 	case S2MPS11X:
 		s2mps11_reg = S2MPS11_REG_RTC_CTRL;
 		break;
+	case S5M8767X:
+		s2mps11_reg = S5M8767_REG_CTRL1;
+		break;
 	default:
 		dev_err(&pdev->dev, "Invalid device type\n");
 		return -EINVAL;
@@ -254,6 +258,7 @@  static int s2mps11_clk_remove(struct platform_device *pdev)
 
 static const struct platform_device_id s2mps11_clk_id[] = {
 	{ "s2mps11-clk", S2MPS11X},
+	{ "s5m8767-clk", S5M8767X},
 	{ },
 };
 MODULE_DEVICE_TABLE(platform, s2mps11_clk_id);
-- 
1.7.9.5