Re: [PATCH v2 2/5] mfd: sec: Add support for S2MPS15 PMIC

From: Alim Akhtar
Date: Tue Oct 27 2015 - 01:38:09 EST


On 10/26/2015 07:59 PM, Lee Jones wrote:
On Mon, 26 Oct 2015, Alim Akhtar wrote:

Hi Lee,
Thanks for looking into this.

On 10/26/2015 04:36 PM, Lee Jones wrote:
On Mon, 26 Oct 2015, Alim Akhtar wrote:

From: Thomas Abraham <thomas.ab@xxxxxxxxxxx>

Add support for S2MPS15 PMIC which is similar to S2MPS11 PMIC. The S2MPS15
PMIC supports 27 LDO regulators, 10 buck regulators, RTC, three 32.768KHz
clock outputs and battery charger. This patch adds initial support for
LDO and buck regulators of S2MPS15 device.

Signed-off-by: Thomas Abraham <thomas.ab@xxxxxxxxxxx>
Signed-off-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx>
[Alim: Added s2mps15_devs like rtc and clk and related changes]
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
drivers/mfd/sec-core.c | 31 +++++++
drivers/mfd/sec-irq.c | 8 ++
include/linux/mfd/samsung/core.h | 1 +
include/linux/mfd/samsung/s2mps15.h | 161 +++++++++++++++++++++++++++++++++++
4 files changed, 201 insertions(+)
create mode 100644 include/linux/mfd/samsung/s2mps15.h

diff --git a/drivers/mfd/sec-core.c b/drivers/mfd/sec-core.c
index 2626fc0b5b8c..db3d4d4ff805 100644
--- a/drivers/mfd/sec-core.c
+++ b/drivers/mfd/sec-core.c
@@ -29,6 +29,7 @@
#include <linux/mfd/samsung/s2mps11.h>
#include <linux/mfd/samsung/s2mps13.h>
#include <linux/mfd/samsung/s2mps14.h>
+#include <linux/mfd/samsung/s2mps15.h>
#include <linux/mfd/samsung/s2mpu02.h>
#include <linux/mfd/samsung/s5m8763.h>
#include <linux/mfd/samsung/s5m8767.h>
@@ -96,6 +97,17 @@ static const struct mfd_cell s2mps14_devs[] = {

+static const struct mfd_cell s2mps15_devs[] = {
+ {
+ .name = "s2mps15-pmic",
+ }, {
+ .name = "s2mps15-rtc",
+ }, {

Why don't these have compatibles?

s2mps15-pmic does have compatible below in sec_dt_match[].

Woah!! What's going on here? You're matching the MFD and Regulator
drivers with the same compatible string. And then registering the
Regulator device as an MFD. That's a bit confusing don't you think?

Sorry for the confusion, as explained in the binding documentation,
S2MPS15 is a multi-function device which has rtc, regulator and clk provider as a sub-blocks. And each of these sub-blocks are represented
as child node of parent MFD node. Out of these only clk controller child node needs its own compatible string to populate of_node structure of the device so that it can access properties of this sub-node in drivers/clk/clk-s2mps11.c.
I just followed "Documentation/devicetree/bindings/mfd/s2mps11.txt"
to implement s2mps15.

s2mps15-rtc does not need one as rtc driver does not support OF yet.
So no DT node for this as of now.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at