devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/8] mfd/regulator: tps65218: Clean ups
@ 2016-06-27 11:01 Keerthy
  2016-06-27 11:01 ` [PATCH v2 1/8] mfd: tps65218: Remove redundant read wrapper Keerthy
                   ` (7 more replies)
  0 siblings, 8 replies; 14+ messages in thread
From: Keerthy @ 2016-06-27 11:01 UTC (permalink / raw)
  To: lee.jones, broonie, tony
  Cc: linux-omap, linux-kernel, devicetree, robh+dt, linux-arm-kernel,
	j-keerthy

The series cleans up mainly the regulator driver and implements
the device tree parsing using the regulator framework. Removes
all the redundant compatibles for the individual regulators.

One of the patch removes redundant read wrapper and makes
use of regmap_read wherever necessary.

The series is checked for all the regulator registrations on
am437x-gp-evm and am437x-sk-evm.

Keerthy (8):
  mfd: tps65218: Remove redundant read wrapper
  Documentation: regulator: tps65218: Updates according to changes with
    parsing
  mfd: tps65218: Use mfd_add_devices instead of of_platform_populate
  regulator: tps65218: Remove all the compatibles
  ARM: dts: AM437X-GP-EVM: Remove redundant regulator compatibles
  ARM: dts: AM437X-SK-EVM: Remove redundant regulator compatibles
  ARM: dts: AM437X-CM-T43: Remove redundant regulator compatibles
  ARM: dts: AM43X-EPOS-EVM: Remove redundant regulator compatibles

 .../devicetree/bindings/regulator/tps65218.txt     |  88 +++++++++++---
 arch/arm/boot/dts/am437x-cm-t43.dts                |   6 -
 arch/arm/boot/dts/am437x-gp-evm.dts                |   6 -
 arch/arm/boot/dts/am437x-sk-evm.dts                |   5 -
 arch/arm/boot/dts/am43x-epos-evm.dts               |   7 --
 drivers/mfd/tps65218.c                             |  24 ++--
 drivers/regulator/tps65218-regulator.c             | 134 ++++++++-------------
 include/linux/mfd/tps65218.h                       |   2 -
 8 files changed, 127 insertions(+), 145 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH v2 1/8] mfd: tps65218: Remove redundant read wrapper
  2016-06-27 11:01 [PATCH v2 0/8] mfd/regulator: tps65218: Clean ups Keerthy
@ 2016-06-27 11:01 ` Keerthy
       [not found]   ` <1467025305-13464-2-git-send-email-j-keerthy-l0cyMroinI0@public.gmane.org>
  2016-06-27 11:01 ` [PATCH v2 2/8] Documentation: regulator: tps65218: Update examples Keerthy
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 14+ messages in thread
From: Keerthy @ 2016-06-27 11:01 UTC (permalink / raw)
  To: lee.jones, broonie, tony
  Cc: devicetree, j-keerthy, linux-kernel, robh+dt, linux-omap,
	linux-arm-kernel

Currently read directly calls the repmap read function. Hence
remove the redundant wrapper and use regmap read wherever
needed.

Signed-off-by: Keerthy <j-keerthy@ti.com>
---
 drivers/mfd/tps65218.c                 | 16 +---------------
 drivers/regulator/tps65218-regulator.c |  3 ++-
 include/linux/mfd/tps65218.h           |  2 --
 3 files changed, 3 insertions(+), 18 deletions(-)

diff --git a/drivers/mfd/tps65218.c b/drivers/mfd/tps65218.c
index 80b9dc3..f20a531 100644
--- a/drivers/mfd/tps65218.c
+++ b/drivers/mfd/tps65218.c
@@ -34,20 +34,6 @@
 #define TPS65218_PASSWORD_REGS_UNLOCK   0x7D
 
 /**
- * tps65218_reg_read: Read a single tps65218 register.
- *
- * @tps: Device to read from.
- * @reg: Register to read.
- * @val: Contians the value
- */
-int tps65218_reg_read(struct tps65218 *tps, unsigned int reg,
-			unsigned int *val)
-{
-	return regmap_read(tps->regmap, reg, val);
-}
-EXPORT_SYMBOL_GPL(tps65218_reg_read);
-
-/**
  * tps65218_reg_write: Write a single tps65218 register.
  *
  * @tps65218: Device to write to.
@@ -93,7 +79,7 @@ static int tps65218_update_bits(struct tps65218 *tps, unsigned int reg,
 	int ret;
 	unsigned int data;
 
-	ret = tps65218_reg_read(tps, reg, &data);
+	ret = regmap_read(tps->regmap, reg, &data);
 	if (ret) {
 		dev_err(tps->dev, "Read from reg 0x%x failed\n", reg);
 		return ret;
diff --git a/drivers/regulator/tps65218-regulator.c b/drivers/regulator/tps65218-regulator.c
index a5e5634..679ab2f 100644
--- a/drivers/regulator/tps65218-regulator.c
+++ b/drivers/regulator/tps65218-regulator.c
@@ -22,6 +22,7 @@
 #include <linux/err.h>
 #include <linux/platform_device.h>
 #include <linux/of_device.h>
+#include <linux/regmap.h>
 #include <linux/regulator/of_regulator.h>
 #include <linux/regulator/driver.h>
 #include <linux/regulator/machine.h>
@@ -224,7 +225,7 @@ static int tps65218_pmic_get_current_limit(struct regulator_dev *dev)
 	unsigned int index;
 	struct tps65218 *tps = rdev_get_drvdata(dev);
 
-	retval = tps65218_reg_read(tps, dev->desc->csel_reg, &index);
+	retval = regmap_read(tps->regmap, dev->desc->csel_reg, &index);
 	if (retval < 0)
 		return retval;
 
diff --git a/include/linux/mfd/tps65218.h b/include/linux/mfd/tps65218.h
index d58f3b5..7c9241f 100644
--- a/include/linux/mfd/tps65218.h
+++ b/include/linux/mfd/tps65218.h
@@ -276,8 +276,6 @@ struct tps65218 {
 	struct regmap *regmap;
 };
 
-int tps65218_reg_read(struct tps65218 *tps, unsigned int reg,
-					unsigned int *val);
 int tps65218_reg_write(struct tps65218 *tps, unsigned int reg,
 			unsigned int val, unsigned int level);
 int tps65218_set_bits(struct tps65218 *tps, unsigned int reg,
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v2 2/8] Documentation: regulator: tps65218: Update examples
  2016-06-27 11:01 [PATCH v2 0/8] mfd/regulator: tps65218: Clean ups Keerthy
  2016-06-27 11:01 ` [PATCH v2 1/8] mfd: tps65218: Remove redundant read wrapper Keerthy
@ 2016-06-27 11:01 ` Keerthy
  2016-06-27 11:01 ` [PATCH v2 3/8] mfd: tps65218: Use mfd_add_devices instead of of_platform_populate Keerthy
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Keerthy @ 2016-06-27 11:01 UTC (permalink / raw)
  To: lee.jones, broonie, tony
  Cc: devicetree, j-keerthy, linux-kernel, robh+dt, linux-omap,
	linux-arm-kernel

This updates the device tree according to the preferred way of parsing
the nodes using the regulator framework.

Signed-off-by: Keerthy <j-keerthy@ti.com>
---
 .../devicetree/bindings/regulator/tps65218.txt     | 87 ++++++++++++++++++----
 1 file changed, 71 insertions(+), 16 deletions(-)

diff --git a/Documentation/devicetree/bindings/regulator/tps65218.txt b/Documentation/devicetree/bindings/regulator/tps65218.txt
index fccc1d2..8d3d919 100644
--- a/Documentation/devicetree/bindings/regulator/tps65218.txt
+++ b/Documentation/devicetree/bindings/regulator/tps65218.txt
@@ -1,23 +1,78 @@
 TPS65218 family of regulators
 
 Required properties:
-For tps65218 regulators/LDOs
-- compatible:
-  - "ti,tps65218-dcdc1" for DCDC1
-  - "ti,tps65218-dcdc2" for DCDC2
-  - "ti,tps65218-dcdc3" for DCDC3
-  - "ti,tps65218-dcdc4" for DCDC4
-  - "ti,tps65218-dcdc5" for DCDC5
-  - "ti,tps65218-dcdc6" for DCDC6
-  - "ti,tps65218-ldo1" for LDO1
-
-Optional properties:
-- Any optional property defined in bindings/regulator/regulator.txt
+- compatible: "ti,tps65218"
+- reg: I2C slave address
+- list of regulators provided by this controller, must be named
+  after their hardware counterparts: dcdc[1-6] and ldo1
+- This is the list of child nodes that specify the regulator
+  initialization data for defined regulators. Not all regulators for the given
+  device need to be present. The definition for each of these nodes is defined
+  using the standard binding for regulators found at
+  Documentation/devicetree/bindings/regulator/regulator.txt.
+
+  The valid names for regulators are:
+  tps65217: regulator-dcdc1, regulator-dcdc2, regulator-dcdc3, regulator-dcdc4,
+  regulator-dcdc5, regulator-dcdc6, regulator-ldo1, regulator-ls3
+  Each regulator is defined using the standard binding for regulators.
 
 Example:
+tps65218: tps65218@24 {
+	reg = <0x24>;
+	compatible = "ti,tps65218";
+	interrupts = <GIC_SPI 7 IRQ_TYPE_NONE>; /* NMIn */
+	interrupt-controller;
+	#interrupt-cells = <2>;
+
+	dcdc1: regulator-dcdc1 {
+		regulator-name = "vdd_core";
+		regulator-min-microvolt = <912000>;
+		regulator-max-microvolt = <1144000>;
+		regulator-boot-on;
+		regulator-always-on;
+	};
+
+	dcdc2: regulator-dcdc2 {
+		regulator-name = "vdd_mpu";
+		regulator-min-microvolt = <912000>;
+		regulator-max-microvolt = <1378000>;
+		regulator-boot-on;
+		regulator-always-on;
+	};
+
+	dcdc3: regulator-dcdc3 {
+		regulator-name = "vdcdc3";
+		regulator-min-microvolt = <1500000>;
+		regulator-max-microvolt = <1500000>;
+		regulator-boot-on;
+		regulator-always-on;
+	};
+
+	dcdc5: regulator-dcdc5 {
+		regulator-name = "v1_0bat";
+		regulator-min-microvolt = <1000000>;
+		regulator-max-microvolt = <1000000>;
+		regulator-boot-on;
+		regulator-always-on;
+	};
+
+	dcdc6: regulator-dcdc6 {
+		regulator-name = "v1_8bat";
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+		regulator-boot-on;
+		regulator-always-on;
+	};
+
+	ldo1: regulator-ldo1 {
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+		regulator-boot-on;
+		regulator-always-on;
+	};
 
-	xyz: regulator@0 {
-		compatible = "ti,tps65218-dcdc1";
-		regulator-min-microvolt  = <1000000>;
-		regulator-max-microvolt  = <3000000>;
+	ls3: regulator-ls3 {
+		regulator-min-microvolt = <100000>;
+		regulator-max-microvolt = <1000000>;
 	};
+};
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v2 3/8] mfd: tps65218: Use mfd_add_devices instead of of_platform_populate
  2016-06-27 11:01 [PATCH v2 0/8] mfd/regulator: tps65218: Clean ups Keerthy
  2016-06-27 11:01 ` [PATCH v2 1/8] mfd: tps65218: Remove redundant read wrapper Keerthy
  2016-06-27 11:01 ` [PATCH v2 2/8] Documentation: regulator: tps65218: Update examples Keerthy
@ 2016-06-27 11:01 ` Keerthy
       [not found]   ` <1467025305-13464-4-git-send-email-j-keerthy-l0cyMroinI0@public.gmane.org>
  2016-06-27 11:01 ` [PATCH v2 4/8] regulator: tps65218: Remove all the compatibles Keerthy
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 14+ messages in thread
From: Keerthy @ 2016-06-27 11:01 UTC (permalink / raw)
  To: lee.jones, broonie, tony
  Cc: linux-omap, linux-kernel, devicetree, robh+dt, linux-arm-kernel,
	j-keerthy

mfd_add_devices enables parsing device tree nodes without compatibles
for child nodes. Replace of_platform_populate with mfd_add_devices.
mfd_cell currently is populated with only regulators.

Signed-off-by: Keerthy <j-keerthy@ti.com>
---

Changes in v2:

  * Updated commit log.

As of now only regulators driver is in kernel. The PMIC contains
a bunch of GPIOs, Over temperature warning / shutdown unit.

 drivers/mfd/tps65218.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/mfd/tps65218.c b/drivers/mfd/tps65218.c
index f20a531..b8b3a58 100644
--- a/drivers/mfd/tps65218.c
+++ b/drivers/mfd/tps65218.c
@@ -33,6 +33,10 @@
 
 #define TPS65218_PASSWORD_REGS_UNLOCK   0x7D
 
+static const struct mfd_cell tps65218_cells[] = {
+	{ .name = "tps65218-regulator", },
+};
+
 /**
  * tps65218_reg_write: Write a single tps65218 register.
  *
@@ -236,8 +240,10 @@ static int tps65218_probe(struct i2c_client *client,
 	if (ret < 0)
 		return ret;
 
-	ret = of_platform_populate(client->dev.of_node, NULL, NULL,
-				   &client->dev);
+	ret = mfd_add_devices(tps->dev, PLATFORM_DEVID_AUTO, tps65218_cells,
+			      ARRAY_SIZE(tps65218_cells), NULL, 0,
+			      regmap_irq_get_domain(tps->irq_data));
+
 	if (ret < 0)
 		goto err_irq;
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v2 4/8] regulator: tps65218: Remove all the compatibles
  2016-06-27 11:01 [PATCH v2 0/8] mfd/regulator: tps65218: Clean ups Keerthy
                   ` (2 preceding siblings ...)
  2016-06-27 11:01 ` [PATCH v2 3/8] mfd: tps65218: Use mfd_add_devices instead of of_platform_populate Keerthy
@ 2016-06-27 11:01 ` Keerthy
  2016-06-27 11:01 ` [PATCH v2 5/8] ARM: dts: AM437X-GP-EVM: Remove redundant regulator compatibles Keerthy
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Keerthy @ 2016-06-27 11:01 UTC (permalink / raw)
  To: lee.jones, broonie, tony
  Cc: linux-omap, linux-kernel, devicetree, robh+dt, linux-arm-kernel,
	j-keerthy

Remove all the individual compatibles for all the regulators
and introduce id_table and update the driver accordingly
to parse device tree nodes using the regulator framework.

Acked-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Keerthy <j-keerthy@ti.com>
---

Changes in v2:

  * Added Mark's Acked-by.

 drivers/regulator/tps65218-regulator.c | 131 +++++++++++----------------------
 1 file changed, 45 insertions(+), 86 deletions(-)

diff --git a/drivers/regulator/tps65218-regulator.c b/drivers/regulator/tps65218-regulator.c
index 679ab2f..8106cc4 100644
--- a/drivers/regulator/tps65218-regulator.c
+++ b/drivers/regulator/tps65218-regulator.c
@@ -31,10 +31,11 @@
 enum tps65218_regulators { DCDC1, DCDC2, DCDC3, DCDC4,
 			   DCDC5, DCDC6, LDO1, LS3 };
 
-#define TPS65218_REGULATOR(_name, _id, _type, _ops, _n, _vr, _vm, _er, _em, \
-			    _cr, _cm, _lr, _nlr, _delay, _fuv)		\
+#define TPS65218_REGULATOR(_name, _of,  _id, _type, _ops, _n, _vr, _vm, _er,\
+			   _em,  _cr, _cm, _lr, _nlr, _delay, _fuv)	\
 	{							\
 		.name			= _name,		\
+		.of_match		= _of,			\
 		.id			= _id,			\
 		.ops			= &_ops,		\
 		.n_voltages		= _n,			\
@@ -53,14 +54,6 @@ enum tps65218_regulators { DCDC1, DCDC2, DCDC3, DCDC4,
 		.fixed_uV		= _fuv			\
 	}							\
 
-#define TPS65218_INFO(_id, _nm, _min, _max)	\
-	[_id] = {					\
-		.id		= _id,			\
-		.name		= _nm,			\
-		.min_uV		= _min,			\
-		.max_uV		= _max,			\
-	}
-
 static const struct regulator_linear_range dcdc1_dcdc2_ranges[] = {
 	REGULATOR_LINEAR_RANGE(850000, 0x0, 0x32, 10000),
 	REGULATOR_LINEAR_RANGE(1375000, 0x33, 0x3f, 25000),
@@ -76,36 +69,6 @@ static const struct regulator_linear_range dcdc4_ranges[] = {
 	REGULATOR_LINEAR_RANGE(1600000, 0x10, 0x34, 50000),
 };
 
-static struct tps_info tps65218_pmic_regs[] = {
-	TPS65218_INFO(DCDC1, "DCDC1", 850000, 1675000),
-	TPS65218_INFO(DCDC2, "DCDC2", 850000, 1675000),
-	TPS65218_INFO(DCDC3, "DCDC3", 900000, 3400000),
-	TPS65218_INFO(DCDC4, "DCDC4", 1175000, 3400000),
-	TPS65218_INFO(DCDC5, "DCDC5", 1000000, 1000000),
-	TPS65218_INFO(DCDC6, "DCDC6", 1800000, 1800000),
-	TPS65218_INFO(LDO1, "LDO1", 900000, 3400000),
-	TPS65218_INFO(LS3, "LS3", -1, -1),
-};
-
-#define TPS65218_OF_MATCH(comp, label) \
-	{ \
-		.compatible = comp, \
-		.data = &label, \
-	}
-
-static const struct of_device_id tps65218_of_match[] = {
-	TPS65218_OF_MATCH("ti,tps65218-dcdc1", tps65218_pmic_regs[DCDC1]),
-	TPS65218_OF_MATCH("ti,tps65218-dcdc2", tps65218_pmic_regs[DCDC2]),
-	TPS65218_OF_MATCH("ti,tps65218-dcdc3", tps65218_pmic_regs[DCDC3]),
-	TPS65218_OF_MATCH("ti,tps65218-dcdc4", tps65218_pmic_regs[DCDC4]),
-	TPS65218_OF_MATCH("ti,tps65218-dcdc5", tps65218_pmic_regs[DCDC5]),
-	TPS65218_OF_MATCH("ti,tps65218-dcdc6", tps65218_pmic_regs[DCDC6]),
-	TPS65218_OF_MATCH("ti,tps65218-ldo1", tps65218_pmic_regs[LDO1]),
-	TPS65218_OF_MATCH("ti,tps65218-ls3", tps65218_pmic_regs[LS3]),
-	{ }
-};
-MODULE_DEVICE_TABLE(of, tps65218_of_match);
-
 static int tps65218_pmic_set_voltage_sel(struct regulator_dev *dev,
 					 unsigned selector)
 {
@@ -251,92 +214,88 @@ static struct regulator_ops tps65218_dcdc56_pmic_ops = {
 };
 
 static const struct regulator_desc regulators[] = {
-	TPS65218_REGULATOR("DCDC1", TPS65218_DCDC_1, REGULATOR_VOLTAGE,
-			   tps65218_dcdc12_ops, 64, TPS65218_REG_CONTROL_DCDC1,
+	TPS65218_REGULATOR("DCDC1", "regulator-dcdc1", TPS65218_DCDC_1,
+			   REGULATOR_VOLTAGE, tps65218_dcdc12_ops, 64,
+			   TPS65218_REG_CONTROL_DCDC1,
 			   TPS65218_CONTROL_DCDC1_MASK, TPS65218_REG_ENABLE1,
 			   TPS65218_ENABLE1_DC1_EN, 0, 0, dcdc1_dcdc2_ranges,
 			   2, 4000, 0),
-	TPS65218_REGULATOR("DCDC2", TPS65218_DCDC_2, REGULATOR_VOLTAGE,
-			   tps65218_dcdc12_ops, 64, TPS65218_REG_CONTROL_DCDC2,
+	TPS65218_REGULATOR("DCDC2", "regulator-dcdc2", TPS65218_DCDC_2,
+			   REGULATOR_VOLTAGE, tps65218_dcdc12_ops, 64,
+			   TPS65218_REG_CONTROL_DCDC2,
 			   TPS65218_CONTROL_DCDC2_MASK, TPS65218_REG_ENABLE1,
 			   TPS65218_ENABLE1_DC2_EN, 0, 0, dcdc1_dcdc2_ranges,
 			   2, 4000, 0),
-	TPS65218_REGULATOR("DCDC3", TPS65218_DCDC_3, REGULATOR_VOLTAGE,
-			   tps65218_ldo1_dcdc34_ops, 64,
+	TPS65218_REGULATOR("DCDC3", "regulator-dcdc3", TPS65218_DCDC_3,
+			   REGULATOR_VOLTAGE, tps65218_ldo1_dcdc34_ops, 64,
 			   TPS65218_REG_CONTROL_DCDC3,
 			   TPS65218_CONTROL_DCDC3_MASK, TPS65218_REG_ENABLE1,
 			   TPS65218_ENABLE1_DC3_EN, 0, 0, ldo1_dcdc3_ranges, 2,
 			   0, 0),
-	TPS65218_REGULATOR("DCDC4", TPS65218_DCDC_4, REGULATOR_VOLTAGE,
-			   tps65218_ldo1_dcdc34_ops, 53,
+	TPS65218_REGULATOR("DCDC4", "regulator-dcdc4", TPS65218_DCDC_4,
+			   REGULATOR_VOLTAGE, tps65218_ldo1_dcdc34_ops, 53,
 			   TPS65218_REG_CONTROL_DCDC4,
 			   TPS65218_CONTROL_DCDC4_MASK, TPS65218_REG_ENABLE1,
 			   TPS65218_ENABLE1_DC4_EN, 0, 0, dcdc4_ranges, 2,
 			   0, 0),
-	TPS65218_REGULATOR("DCDC5", TPS65218_DCDC_5, REGULATOR_VOLTAGE,
-			   tps65218_dcdc56_pmic_ops, 1, -1, -1,
-			   TPS65218_REG_ENABLE1, TPS65218_ENABLE1_DC5_EN, 0, 0,
-			   NULL, 0, 0, 1000000),
-	TPS65218_REGULATOR("DCDC6", TPS65218_DCDC_6, REGULATOR_VOLTAGE,
-			   tps65218_dcdc56_pmic_ops, 1, -1, -1,
-			   TPS65218_REG_ENABLE1, TPS65218_ENABLE1_DC6_EN, 0, 0,
-			   NULL, 0, 0, 1800000),
-	TPS65218_REGULATOR("LDO1", TPS65218_LDO_1, REGULATOR_VOLTAGE,
-			   tps65218_ldo1_dcdc34_ops, 64,
+	TPS65218_REGULATOR("DCDC5", "regulator-dcdc5", TPS65218_DCDC_5,
+			   REGULATOR_VOLTAGE, tps65218_dcdc56_pmic_ops, 1, -1,
+			   -1, TPS65218_REG_ENABLE1, TPS65218_ENABLE1_DC5_EN, 0,
+			   0, NULL, 0, 0, 1000000),
+	TPS65218_REGULATOR("DCDC6", "regulator-dcdc6", TPS65218_DCDC_6,
+			   REGULATOR_VOLTAGE, tps65218_dcdc56_pmic_ops, 1, -1,
+			   -1, TPS65218_REG_ENABLE1, TPS65218_ENABLE1_DC6_EN, 0,
+			   0, NULL, 0, 0, 1800000),
+	TPS65218_REGULATOR("LDO1", "regulator-ldo1", TPS65218_LDO_1,
+			   REGULATOR_VOLTAGE, tps65218_ldo1_dcdc34_ops, 64,
 			   TPS65218_REG_CONTROL_LDO1,
 			   TPS65218_CONTROL_LDO1_MASK, TPS65218_REG_ENABLE2,
 			   TPS65218_ENABLE2_LDO1_EN, 0, 0, ldo1_dcdc3_ranges,
 			   2, 0, 0),
-	TPS65218_REGULATOR("LS3", TPS65218_LS_3, REGULATOR_CURRENT,
-			   tps65218_ls3_ops, 0, 0, 0, TPS65218_REG_ENABLE2,
-			   TPS65218_ENABLE2_LS3_EN, TPS65218_REG_CONFIG2,
-			   TPS65218_CONFIG2_LS3ILIM_MASK, NULL, 0, 0, 0),
+	TPS65218_REGULATOR("LS3", "regulator-ls3", TPS65218_LS_3,
+			   REGULATOR_CURRENT, tps65218_ls3_ops, 0, 0, 0,
+			   TPS65218_REG_ENABLE2, TPS65218_ENABLE2_LS3_EN,
+			   TPS65218_REG_CONFIG2, TPS65218_CONFIG2_LS3ILIM_MASK,
+			   NULL, 0, 0, 0),
 };
 
 static int tps65218_regulator_probe(struct platform_device *pdev)
 {
 	struct tps65218 *tps = dev_get_drvdata(pdev->dev.parent);
-	struct regulator_init_data *init_data;
-	const struct tps_info	*template;
 	struct regulator_dev *rdev;
-	const struct of_device_id	*match;
 	struct regulator_config config = { };
-	int id;
-
-	match = of_match_device(tps65218_of_match, &pdev->dev);
-	if (!match)
-		return -ENODEV;
-
-	template = match->data;
-	id = template->id;
-	init_data = of_get_regulator_init_data(&pdev->dev, pdev->dev.of_node,
-					       &regulators[id]);
+	int i;
 
-	platform_set_drvdata(pdev, tps);
-
-	tps->info[id] = &tps65218_pmic_regs[id];
 	config.dev = &pdev->dev;
-	config.init_data = init_data;
+	config.dev->of_node = tps->dev->of_node;
 	config.driver_data = tps;
 	config.regmap = tps->regmap;
-	config.of_node = pdev->dev.of_node;
 
-	rdev = devm_regulator_register(&pdev->dev, &regulators[id], &config);
-	if (IS_ERR(rdev)) {
-		dev_err(tps->dev, "failed to register %s regulator\n",
-			pdev->name);
-		return PTR_ERR(rdev);
+	for (i = 0; i < ARRAY_SIZE(regulators); i++) {
+		rdev = devm_regulator_register(&pdev->dev, &regulators[i],
+					       &config);
+		if (IS_ERR(rdev)) {
+			dev_err(tps->dev, "failed to register %s regulator\n",
+				pdev->name);
+			return PTR_ERR(rdev);
+		}
 	}
 
 	return 0;
 }
 
+static const struct platform_device_id tps65218_regulator_id_table[] = {
+	{ "tps65218-regulator", },
+	{ /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(platform, tps65218_regulator_id_table);
+
 static struct platform_driver tps65218_regulator_driver = {
 	.driver = {
 		.name = "tps65218-pmic",
-		.of_match_table = tps65218_of_match,
 	},
 	.probe = tps65218_regulator_probe,
+	.id_table = tps65218_regulator_id_table,
 };
 
 module_platform_driver(tps65218_regulator_driver);
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v2 5/8] ARM: dts: AM437X-GP-EVM: Remove redundant regulator compatibles
  2016-06-27 11:01 [PATCH v2 0/8] mfd/regulator: tps65218: Clean ups Keerthy
                   ` (3 preceding siblings ...)
  2016-06-27 11:01 ` [PATCH v2 4/8] regulator: tps65218: Remove all the compatibles Keerthy
@ 2016-06-27 11:01 ` Keerthy
  2016-06-27 11:01 ` [PATCH v2 6/8] ARM: dts: AM437X-SK-EVM: " Keerthy
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 14+ messages in thread
From: Keerthy @ 2016-06-27 11:01 UTC (permalink / raw)
  To: lee.jones, broonie, tony
  Cc: linux-omap, linux-kernel, devicetree, robh+dt, linux-arm-kernel,
	j-keerthy

With the device tree parsing using the regulator framework
there is a no longer a need for separate compatibles for
individual regulator nodes. Hence removing them all.

Signed-off-by: Keerthy <j-keerthy@ti.com>
---
 arch/arm/boot/dts/am437x-gp-evm.dts | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/arch/arm/boot/dts/am437x-gp-evm.dts b/arch/arm/boot/dts/am437x-gp-evm.dts
index 8889be1..67329e0 100644
--- a/arch/arm/boot/dts/am437x-gp-evm.dts
+++ b/arch/arm/boot/dts/am437x-gp-evm.dts
@@ -513,7 +513,6 @@
 		#interrupt-cells = <2>;
 
 		dcdc1: regulator-dcdc1 {
-			compatible = "ti,tps65218-dcdc1";
 			regulator-name = "vdd_core";
 			regulator-min-microvolt = <912000>;
 			regulator-max-microvolt = <1144000>;
@@ -522,7 +521,6 @@
 		};
 
 		dcdc2: regulator-dcdc2 {
-			compatible = "ti,tps65218-dcdc2";
 			regulator-name = "vdd_mpu";
 			regulator-min-microvolt = <912000>;
 			regulator-max-microvolt = <1378000>;
@@ -531,7 +529,6 @@
 		};
 
 		dcdc3: regulator-dcdc3 {
-			compatible = "ti,tps65218-dcdc3";
 			regulator-name = "vdcdc3";
 			regulator-min-microvolt = <1500000>;
 			regulator-max-microvolt = <1500000>;
@@ -539,7 +536,6 @@
 			regulator-always-on;
 		};
 		dcdc5: regulator-dcdc5 {
-			compatible = "ti,tps65218-dcdc5";
 			regulator-name = "v1_0bat";
 			regulator-min-microvolt = <1000000>;
 			regulator-max-microvolt = <1000000>;
@@ -548,7 +544,6 @@
 		};
 
 		dcdc6: regulator-dcdc6 {
-			compatible = "ti,tps65218-dcdc6";
 			regulator-name = "v1_8bat";
 			regulator-min-microvolt = <1800000>;
 			regulator-max-microvolt = <1800000>;
@@ -557,7 +552,6 @@
 		};
 
 		ldo1: regulator-ldo1 {
-			compatible = "ti,tps65218-ldo1";
 			regulator-min-microvolt = <1800000>;
 			regulator-max-microvolt = <1800000>;
 			regulator-boot-on;
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v2 6/8] ARM: dts: AM437X-SK-EVM: Remove redundant regulator compatibles
  2016-06-27 11:01 [PATCH v2 0/8] mfd/regulator: tps65218: Clean ups Keerthy
                   ` (4 preceding siblings ...)
  2016-06-27 11:01 ` [PATCH v2 5/8] ARM: dts: AM437X-GP-EVM: Remove redundant regulator compatibles Keerthy
@ 2016-06-27 11:01 ` Keerthy
  2016-06-27 11:01 ` [PATCH v2 7/8] ARM: dts: AM437X-CM-T43: " Keerthy
  2016-06-27 11:01 ` [PATCH v2 8/8] ARM: dts: AM43X-EPOS-EVM: " Keerthy
  7 siblings, 0 replies; 14+ messages in thread
From: Keerthy @ 2016-06-27 11:01 UTC (permalink / raw)
  To: lee.jones, broonie, tony
  Cc: linux-omap, linux-kernel, devicetree, robh+dt, linux-arm-kernel,
	j-keerthy

With the device tree parsing using the regulator framework
there is a no longer a need for separate compatibles for
individual regulator nodes. Hence removing them all.

Signed-off-by: Keerthy <j-keerthy@ti.com>
---
 arch/arm/boot/dts/am437x-sk-evm.dts | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/arch/arm/boot/dts/am437x-sk-evm.dts b/arch/arm/boot/dts/am437x-sk-evm.dts
index d82dd6e..1b404fd 100644
--- a/arch/arm/boot/dts/am437x-sk-evm.dts
+++ b/arch/arm/boot/dts/am437x-sk-evm.dts
@@ -428,7 +428,6 @@
 		#interrupt-cells = <2>;
 
 		dcdc1: regulator-dcdc1 {
-			compatible = "ti,tps65218-dcdc1";
 			/* VDD_CORE limits min of OPP50 and max of OPP100 */
 			regulator-name = "vdd_core";
 			regulator-min-microvolt = <912000>;
@@ -438,7 +437,6 @@
 		};
 
 		dcdc2: regulator-dcdc2 {
-			compatible = "ti,tps65218-dcdc2";
 			/* VDD_MPU limits min of OPP50 and max of OPP_NITRO */
 			regulator-name = "vdd_mpu";
 			regulator-min-microvolt = <912000>;
@@ -448,7 +446,6 @@
 		};
 
 		dcdc3: regulator-dcdc3 {
-			compatible = "ti,tps65218-dcdc3";
 			regulator-name = "vdds_ddr";
 			regulator-min-microvolt = <1500000>;
 			regulator-max-microvolt = <1500000>;
@@ -457,7 +454,6 @@
 		};
 
 		dcdc4: regulator-dcdc4 {
-			compatible = "ti,tps65218-dcdc4";
 			regulator-name = "v3_3d";
 			regulator-min-microvolt = <3300000>;
 			regulator-max-microvolt = <3300000>;
@@ -466,7 +462,6 @@
 		};
 
 		ldo1: regulator-ldo1 {
-			compatible = "ti,tps65218-ldo1";
 			regulator-name = "v1_8d";
 			regulator-min-microvolt = <1800000>;
 			regulator-max-microvolt = <1800000>;
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v2 7/8] ARM: dts: AM437X-CM-T43: Remove redundant regulator compatibles
  2016-06-27 11:01 [PATCH v2 0/8] mfd/regulator: tps65218: Clean ups Keerthy
                   ` (5 preceding siblings ...)
  2016-06-27 11:01 ` [PATCH v2 6/8] ARM: dts: AM437X-SK-EVM: " Keerthy
@ 2016-06-27 11:01 ` Keerthy
  2016-06-27 11:01 ` [PATCH v2 8/8] ARM: dts: AM43X-EPOS-EVM: " Keerthy
  7 siblings, 0 replies; 14+ messages in thread
From: Keerthy @ 2016-06-27 11:01 UTC (permalink / raw)
  To: lee.jones, broonie, tony
  Cc: linux-omap, linux-kernel, devicetree, robh+dt, linux-arm-kernel,
	j-keerthy

With the device tree parsing using the regulator framework
there is a no longer a need for separate compatibles for
individual regulator nodes. Hence removing them all.

Signed-off-by: Keerthy <j-keerthy@ti.com>
---
 arch/arm/boot/dts/am437x-cm-t43.dts | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/arch/arm/boot/dts/am437x-cm-t43.dts b/arch/arm/boot/dts/am437x-cm-t43.dts
index 9551c47..9e92d48 100644
--- a/arch/arm/boot/dts/am437x-cm-t43.dts
+++ b/arch/arm/boot/dts/am437x-cm-t43.dts
@@ -209,7 +209,6 @@
 		#interrupt-cells = <2>;
 
 		dcdc1: regulator-dcdc1 {
-			compatible = "ti,tps65218-dcdc1";
 			regulator-name = "vdd_core";
 			regulator-min-microvolt = <912000>;
 			regulator-max-microvolt = <1144000>;
@@ -218,7 +217,6 @@
 		};
 
 		dcdc2: regulator-dcdc2 {
-			compatible = "ti,tps65218-dcdc2";
 			regulator-name = "vdd_mpu";
 			regulator-min-microvolt = <912000>;
 			regulator-max-microvolt = <1378000>;
@@ -227,7 +225,6 @@
 		};
 
 		dcdc3: regulator-dcdc3 {
-			compatible = "ti,tps65218-dcdc3";
 			regulator-name = "vdcdc3";
 			regulator-suspend-enable;
 			regulator-min-microvolt = <1500000>;
@@ -237,7 +234,6 @@
 		};
 
 		dcdc5: regulator-dcdc5 {
-			compatible = "ti,tps65218-dcdc5";
 			regulator-name = "v1_0bat";
 			regulator-min-microvolt = <1000000>;
 			regulator-max-microvolt = <1000000>;
@@ -246,7 +242,6 @@
 		};
 
 		dcdc6: regulator-dcdc6 {
-			compatible = "ti,tps65218-dcdc6";
 			regulator-name = "v1_8bat";
 			regulator-min-microvolt = <1800000>;
 			regulator-max-microvolt = <1800000>;
@@ -255,7 +250,6 @@
 		};
 
 		ldo1: regulator-ldo1 {
-			compatible = "ti,tps65218-ldo1";
 			regulator-min-microvolt = <1800000>;
 			regulator-max-microvolt = <1800000>;
 			regulator-boot-on;
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v2 8/8] ARM: dts: AM43X-EPOS-EVM: Remove redundant regulator compatibles
  2016-06-27 11:01 [PATCH v2 0/8] mfd/regulator: tps65218: Clean ups Keerthy
                   ` (6 preceding siblings ...)
  2016-06-27 11:01 ` [PATCH v2 7/8] ARM: dts: AM437X-CM-T43: " Keerthy
@ 2016-06-27 11:01 ` Keerthy
  7 siblings, 0 replies; 14+ messages in thread
From: Keerthy @ 2016-06-27 11:01 UTC (permalink / raw)
  To: lee.jones, broonie, tony
  Cc: linux-omap, linux-kernel, devicetree, robh+dt, linux-arm-kernel,
	j-keerthy

With the device tree parsing using the regulator framework
there is a no longer a need for separate compatibles for
individual regulator nodes. Hence removing them all.

Signed-off-by: Keerthy <j-keerthy@ti.com>
---
 arch/arm/boot/dts/am43x-epos-evm.dts | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/arch/arm/boot/dts/am43x-epos-evm.dts b/arch/arm/boot/dts/am43x-epos-evm.dts
index d5dd720..4599d23 100644
--- a/arch/arm/boot/dts/am43x-epos-evm.dts
+++ b/arch/arm/boot/dts/am43x-epos-evm.dts
@@ -421,7 +421,6 @@
 		#interrupt-cells = <2>;
 
 		dcdc1: regulator-dcdc1 {
-			compatible = "ti,tps65218-dcdc1";
 			regulator-name = "vdd_core";
 			regulator-min-microvolt = <912000>;
 			regulator-max-microvolt = <1144000>;
@@ -430,7 +429,6 @@
 		};
 
 		dcdc2: regulator-dcdc2 {
-			compatible = "ti,tps65218-dcdc2";
 			regulator-name = "vdd_mpu";
 			regulator-min-microvolt = <912000>;
 			regulator-max-microvolt = <1378000>;
@@ -439,7 +437,6 @@
 		};
 
 		dcdc3: regulator-dcdc3 {
-			compatible = "ti,tps65218-dcdc3";
 			regulator-name = "vdcdc3";
 			regulator-min-microvolt = <1500000>;
 			regulator-max-microvolt = <1500000>;
@@ -448,7 +445,6 @@
 		};
 
 		dcdc4: regulator-dcdc4 {
-			compatible = "ti,tps65218-dcdc4";
 			regulator-name = "vdcdc4";
 			regulator-min-microvolt = <3300000>;
 			regulator-max-microvolt = <3300000>;
@@ -457,21 +453,18 @@
 		};
 
 		dcdc5: regulator-dcdc5 {
-			compatible = "ti,tps65218-dcdc5";
 			regulator-name = "v1_0bat";
 			regulator-min-microvolt = <1000000>;
 			regulator-max-microvolt = <1000000>;
 		};
 
 		dcdc6: regulator-dcdc6 {
-			compatible = "ti,tps65218-dcdc6";
 			regulator-name = "v1_8bat";
 			regulator-min-microvolt = <1800000>;
 			regulator-max-microvolt = <1800000>;
 		};
 
 		ldo1: regulator-ldo1 {
-			compatible = "ti,tps65218-ldo1";
 			regulator-min-microvolt = <1800000>;
 			regulator-max-microvolt = <1800000>;
 			regulator-boot-on;
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 1/8] mfd: tps65218: Remove redundant read wrapper
       [not found]   ` <1467025305-13464-2-git-send-email-j-keerthy-l0cyMroinI0@public.gmane.org>
@ 2016-06-27 11:51     ` kbuild test robot
  2016-06-27 12:20     ` kbuild test robot
  2016-06-27 12:23     ` Lee Jones
  2 siblings, 0 replies; 14+ messages in thread
From: kbuild test robot @ 2016-06-27 11:51 UTC (permalink / raw)
  Cc: kbuild-all-JC7UmRfGjtg, lee.jones-QSEj5FYQhm4dnm+yROfE0A,
	broonie-DgEjT+Ai2ygdnm+yROfE0A, tony-4v6yS6AI5VpBDgjK7y7TUQ,
	linux-omap-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	j-keerthy-l0cyMroinI0

[-- Attachment #1: Type: text/plain, Size: 2204 bytes --]

Hi,

[auto build test ERROR on robh/for-next]
[also build test ERROR on v4.7-rc5 next-20160624]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Keerthy/mfd-regulator-tps65218-Clean-ups/20160627-191539
base:   https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: i386-randconfig-a0-201626 (attached as .config)
compiler: gcc-6 (Debian 6.1.1-1) 6.1.1 20160430
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   drivers/gpio/gpio-tps65218.c: In function 'tps65218_gpio_get':
>> drivers/gpio/gpio-tps65218.c:33:8: error: implicit declaration of function 'tps65218_reg_read' [-Werror=implicit-function-declaration]
     ret = tps65218_reg_read(tps65218, TPS65218_REG_ENABLE2, &val);
           ^~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/tps65218_reg_read +33 drivers/gpio/gpio-tps65218.c

c366c76a Nicolas Saenz Julienne 2016-01-30  27  {
c366c76a Nicolas Saenz Julienne 2016-01-30  28  	struct tps65218_gpio *tps65218_gpio = gpiochip_get_data(gc);
c366c76a Nicolas Saenz Julienne 2016-01-30  29  	struct tps65218 *tps65218 = tps65218_gpio->tps65218;
c366c76a Nicolas Saenz Julienne 2016-01-30  30  	unsigned int val;
c366c76a Nicolas Saenz Julienne 2016-01-30  31  	int ret;
c366c76a Nicolas Saenz Julienne 2016-01-30  32  
c366c76a Nicolas Saenz Julienne 2016-01-30 @33  	ret = tps65218_reg_read(tps65218, TPS65218_REG_ENABLE2, &val);
c366c76a Nicolas Saenz Julienne 2016-01-30  34  	if (ret)
c366c76a Nicolas Saenz Julienne 2016-01-30  35  		return ret;
c366c76a Nicolas Saenz Julienne 2016-01-30  36  

:::::: The code at line 33 was first introduced by commit
:::::: c366c76a2c41d0c545e51b53056b21515db32e77 gpio: add tps65218 gpio

:::::: TO: Nicolas Saenz Julienne <nicolassaenzj-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
:::::: CC: Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 21936 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 1/8] mfd: tps65218: Remove redundant read wrapper
       [not found]   ` <1467025305-13464-2-git-send-email-j-keerthy-l0cyMroinI0@public.gmane.org>
  2016-06-27 11:51     ` kbuild test robot
@ 2016-06-27 12:20     ` kbuild test robot
  2016-06-27 12:23     ` Lee Jones
  2 siblings, 0 replies; 14+ messages in thread
From: kbuild test robot @ 2016-06-27 12:20 UTC (permalink / raw)
  Cc: kbuild-all-JC7UmRfGjtg, lee.jones-QSEj5FYQhm4dnm+yROfE0A,
	broonie-DgEjT+Ai2ygdnm+yROfE0A, tony-4v6yS6AI5VpBDgjK7y7TUQ,
	linux-omap-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	j-keerthy-l0cyMroinI0

[-- Attachment #1: Type: text/plain, Size: 2179 bytes --]

Hi,

[auto build test ERROR on robh/for-next]
[also build test ERROR on v4.7-rc5 next-20160624]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Keerthy/mfd-regulator-tps65218-Clean-ups/20160627-191539
base:   https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: x86_64-randconfig-n0-06271854 (attached as .config)
compiler: gcc-6 (Debian 6.1.1-1) 6.1.1 20160430
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   drivers/input/misc/tps65218-pwrbutton.c: In function 'tps65218_pwr_irq':
>> drivers/input/misc/tps65218-pwrbutton.c:39:10: error: implicit declaration of function 'tps65218_reg_read' [-Werror=implicit-function-declaration]
     error = tps65218_reg_read(pwr->tps, TPS65218_REG_STATUS, &reg);
             ^~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/tps65218_reg_read +39 drivers/input/misc/tps65218-pwrbutton.c

5fafed3e Felipe Balbi 2014-12-27  33  static irqreturn_t tps65218_pwr_irq(int irq, void *_pwr)
5fafed3e Felipe Balbi 2014-12-27  34  {
5fafed3e Felipe Balbi 2014-12-27  35  	struct tps65218_pwrbutton *pwr = _pwr;
5fafed3e Felipe Balbi 2014-12-27  36  	unsigned int reg;
5fafed3e Felipe Balbi 2014-12-27  37  	int error;
5fafed3e Felipe Balbi 2014-12-27  38  
5fafed3e Felipe Balbi 2014-12-27 @39  	error = tps65218_reg_read(pwr->tps, TPS65218_REG_STATUS, &reg);
5fafed3e Felipe Balbi 2014-12-27  40  	if (error) {
5fafed3e Felipe Balbi 2014-12-27  41  		dev_err(pwr->dev, "can't read register: %d\n", error);
5fafed3e Felipe Balbi 2014-12-27  42  		goto out;

:::::: The code at line 39 was first introduced by commit
:::::: 5fafed3e5612e9f308d20dc94adf5fc3d4a1a2a8 Input: add tps65218 power button driver

:::::: TO: Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org>
:::::: CC: Dmitry Torokhov <dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 22474 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 1/8] mfd: tps65218: Remove redundant read wrapper
       [not found]   ` <1467025305-13464-2-git-send-email-j-keerthy-l0cyMroinI0@public.gmane.org>
  2016-06-27 11:51     ` kbuild test robot
  2016-06-27 12:20     ` kbuild test robot
@ 2016-06-27 12:23     ` Lee Jones
  2016-06-27 14:30       ` Keerthy
  2 siblings, 1 reply; 14+ messages in thread
From: Lee Jones @ 2016-06-27 12:23 UTC (permalink / raw)
  To: Keerthy
  Cc: broonie-DgEjT+Ai2ygdnm+yROfE0A, tony-4v6yS6AI5VpBDgjK7y7TUQ,
	linux-omap-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

On Mon, 27 Jun 2016, Keerthy wrote:

> Currently read directly calls the repmap read function. Hence
> remove the redundant wrapper and use regmap read wherever
> needed.
> 
> Signed-off-by: Keerthy <j-keerthy-l0cyMroinI0@public.gmane.org>
> ---
>  drivers/mfd/tps65218.c                 | 16 +---------------
>  drivers/regulator/tps65218-regulator.c |  3 ++-
>  include/linux/mfd/tps65218.h           |  2 --
>  3 files changed, 3 insertions(+), 18 deletions(-)
> 
> diff --git a/drivers/mfd/tps65218.c b/drivers/mfd/tps65218.c
> index 80b9dc3..f20a531 100644
> --- a/drivers/mfd/tps65218.c
> +++ b/drivers/mfd/tps65218.c
> @@ -34,20 +34,6 @@
>  #define TPS65218_PASSWORD_REGS_UNLOCK   0x7D
>  
>  /**
> - * tps65218_reg_read: Read a single tps65218 register.
> - *
> - * @tps: Device to read from.
> - * @reg: Register to read.
> - * @val: Contians the value
> - */
> -int tps65218_reg_read(struct tps65218 *tps, unsigned int reg,
> -			unsigned int *val)
> -{
> -	return regmap_read(tps->regmap, reg, val);
> -}
> -EXPORT_SYMBOL_GPL(tps65218_reg_read);
> -

What about the calls in the GPIO and Misc drivers?

> -/**
>   * tps65218_reg_write: Write a single tps65218 register.
>   *
>   * @tps65218: Device to write to.
> @@ -93,7 +79,7 @@ static int tps65218_update_bits(struct tps65218 *tps, unsigned int reg,
>  	int ret;
>  	unsigned int data;
>  
> -	ret = tps65218_reg_read(tps, reg, &data);
> +	ret = regmap_read(tps->regmap, reg, &data);
>  	if (ret) {
>  		dev_err(tps->dev, "Read from reg 0x%x failed\n", reg);
>  		return ret;
> diff --git a/drivers/regulator/tps65218-regulator.c b/drivers/regulator/tps65218-regulator.c
> index a5e5634..679ab2f 100644
> --- a/drivers/regulator/tps65218-regulator.c
> +++ b/drivers/regulator/tps65218-regulator.c
> @@ -22,6 +22,7 @@
>  #include <linux/err.h>
>  #include <linux/platform_device.h>
>  #include <linux/of_device.h>
> +#include <linux/regmap.h>
>  #include <linux/regulator/of_regulator.h>
>  #include <linux/regulator/driver.h>
>  #include <linux/regulator/machine.h>
> @@ -224,7 +225,7 @@ static int tps65218_pmic_get_current_limit(struct regulator_dev *dev)
>  	unsigned int index;
>  	struct tps65218 *tps = rdev_get_drvdata(dev);
>  
> -	retval = tps65218_reg_read(tps, dev->desc->csel_reg, &index);
> +	retval = regmap_read(tps->regmap, dev->desc->csel_reg, &index);
>  	if (retval < 0)
>  		return retval;
>  
> diff --git a/include/linux/mfd/tps65218.h b/include/linux/mfd/tps65218.h
> index d58f3b5..7c9241f 100644
> --- a/include/linux/mfd/tps65218.h
> +++ b/include/linux/mfd/tps65218.h
> @@ -276,8 +276,6 @@ struct tps65218 {
>  	struct regmap *regmap;
>  };
>  
> -int tps65218_reg_read(struct tps65218 *tps, unsigned int reg,
> -					unsigned int *val);
>  int tps65218_reg_write(struct tps65218 *tps, unsigned int reg,
>  			unsigned int val, unsigned int level);
>  int tps65218_set_bits(struct tps65218 *tps, unsigned int reg,

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 3/8] mfd: tps65218: Use mfd_add_devices instead of of_platform_populate
       [not found]   ` <1467025305-13464-4-git-send-email-j-keerthy-l0cyMroinI0@public.gmane.org>
@ 2016-06-27 12:23     ` Lee Jones
  0 siblings, 0 replies; 14+ messages in thread
From: Lee Jones @ 2016-06-27 12:23 UTC (permalink / raw)
  To: Keerthy
  Cc: broonie-DgEjT+Ai2ygdnm+yROfE0A, tony-4v6yS6AI5VpBDgjK7y7TUQ,
	linux-omap-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

On Mon, 27 Jun 2016, Keerthy wrote:

> mfd_add_devices enables parsing device tree nodes without compatibles
> for child nodes. Replace of_platform_populate with mfd_add_devices.
> mfd_cell currently is populated with only regulators.
> 
> Signed-off-by: Keerthy <j-keerthy-l0cyMroinI0@public.gmane.org>
> ---
> 
> Changes in v2:
> 
>   * Updated commit log.
> 
> As of now only regulators driver is in kernel. The PMIC contains
> a bunch of GPIOs, Over temperature warning / shutdown unit.
> 
>  drivers/mfd/tps65218.c | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)

Acked-by: Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>

> diff --git a/drivers/mfd/tps65218.c b/drivers/mfd/tps65218.c
> index f20a531..b8b3a58 100644
> --- a/drivers/mfd/tps65218.c
> +++ b/drivers/mfd/tps65218.c
> @@ -33,6 +33,10 @@
>  
>  #define TPS65218_PASSWORD_REGS_UNLOCK   0x7D
>  
> +static const struct mfd_cell tps65218_cells[] = {
> +	{ .name = "tps65218-regulator", },
> +};
> +
>  /**
>   * tps65218_reg_write: Write a single tps65218 register.
>   *
> @@ -236,8 +240,10 @@ static int tps65218_probe(struct i2c_client *client,
>  	if (ret < 0)
>  		return ret;
>  
> -	ret = of_platform_populate(client->dev.of_node, NULL, NULL,
> -				   &client->dev);
> +	ret = mfd_add_devices(tps->dev, PLATFORM_DEVID_AUTO, tps65218_cells,
> +			      ARRAY_SIZE(tps65218_cells), NULL, 0,
> +			      regmap_irq_get_domain(tps->irq_data));
> +
>  	if (ret < 0)
>  		goto err_irq;
>  

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2 1/8] mfd: tps65218: Remove redundant read wrapper
  2016-06-27 12:23     ` Lee Jones
@ 2016-06-27 14:30       ` Keerthy
  0 siblings, 0 replies; 14+ messages in thread
From: Keerthy @ 2016-06-27 14:30 UTC (permalink / raw)
  To: Lee Jones, Keerthy
  Cc: broonie, tony, linux-omap, linux-kernel, devicetree, robh+dt,
	linux-arm-kernel



On Monday 27 June 2016 05:53 PM, Lee Jones wrote:
> On Mon, 27 Jun 2016, Keerthy wrote:
>
>> Currently read directly calls the repmap read function. Hence
>> remove the redundant wrapper and use regmap read wherever
>> needed.
>>
>> Signed-off-by: Keerthy <j-keerthy@ti.com>
>> ---
>>   drivers/mfd/tps65218.c                 | 16 +---------------
>>   drivers/regulator/tps65218-regulator.c |  3 ++-
>>   include/linux/mfd/tps65218.h           |  2 --
>>   3 files changed, 3 insertions(+), 18 deletions(-)
>>
>> diff --git a/drivers/mfd/tps65218.c b/drivers/mfd/tps65218.c
>> index 80b9dc3..f20a531 100644
>> --- a/drivers/mfd/tps65218.c
>> +++ b/drivers/mfd/tps65218.c
>> @@ -34,20 +34,6 @@
>>   #define TPS65218_PASSWORD_REGS_UNLOCK   0x7D
>>
>>   /**
>> - * tps65218_reg_read: Read a single tps65218 register.
>> - *
>> - * @tps: Device to read from.
>> - * @reg: Register to read.
>> - * @val: Contians the value
>> - */
>> -int tps65218_reg_read(struct tps65218 *tps, unsigned int reg,
>> -			unsigned int *val)
>> -{
>> -	return regmap_read(tps->regmap, reg, val);
>> -}
>> -EXPORT_SYMBOL_GPL(tps65218_reg_read);
>> -
>
> What about the calls in the GPIO and Misc drivers?

Thanks Lee Jones for catching this. I will send an updated v3 of the set.

>
>> -/**
>>    * tps65218_reg_write: Write a single tps65218 register.
>>    *
>>    * @tps65218: Device to write to.
>> @@ -93,7 +79,7 @@ static int tps65218_update_bits(struct tps65218 *tps, unsigned int reg,
>>   	int ret;
>>   	unsigned int data;
>>
>> -	ret = tps65218_reg_read(tps, reg, &data);
>> +	ret = regmap_read(tps->regmap, reg, &data);
>>   	if (ret) {
>>   		dev_err(tps->dev, "Read from reg 0x%x failed\n", reg);
>>   		return ret;
>> diff --git a/drivers/regulator/tps65218-regulator.c b/drivers/regulator/tps65218-regulator.c
>> index a5e5634..679ab2f 100644
>> --- a/drivers/regulator/tps65218-regulator.c
>> +++ b/drivers/regulator/tps65218-regulator.c
>> @@ -22,6 +22,7 @@
>>   #include <linux/err.h>
>>   #include <linux/platform_device.h>
>>   #include <linux/of_device.h>
>> +#include <linux/regmap.h>
>>   #include <linux/regulator/of_regulator.h>
>>   #include <linux/regulator/driver.h>
>>   #include <linux/regulator/machine.h>
>> @@ -224,7 +225,7 @@ static int tps65218_pmic_get_current_limit(struct regulator_dev *dev)
>>   	unsigned int index;
>>   	struct tps65218 *tps = rdev_get_drvdata(dev);
>>
>> -	retval = tps65218_reg_read(tps, dev->desc->csel_reg, &index);
>> +	retval = regmap_read(tps->regmap, dev->desc->csel_reg, &index);
>>   	if (retval < 0)
>>   		return retval;
>>
>> diff --git a/include/linux/mfd/tps65218.h b/include/linux/mfd/tps65218.h
>> index d58f3b5..7c9241f 100644
>> --- a/include/linux/mfd/tps65218.h
>> +++ b/include/linux/mfd/tps65218.h
>> @@ -276,8 +276,6 @@ struct tps65218 {
>>   	struct regmap *regmap;
>>   };
>>
>> -int tps65218_reg_read(struct tps65218 *tps, unsigned int reg,
>> -					unsigned int *val);
>>   int tps65218_reg_write(struct tps65218 *tps, unsigned int reg,
>>   			unsigned int val, unsigned int level);
>>   int tps65218_set_bits(struct tps65218 *tps, unsigned int reg,
>

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2016-06-27 14:30 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-27 11:01 [PATCH v2 0/8] mfd/regulator: tps65218: Clean ups Keerthy
2016-06-27 11:01 ` [PATCH v2 1/8] mfd: tps65218: Remove redundant read wrapper Keerthy
     [not found]   ` <1467025305-13464-2-git-send-email-j-keerthy-l0cyMroinI0@public.gmane.org>
2016-06-27 11:51     ` kbuild test robot
2016-06-27 12:20     ` kbuild test robot
2016-06-27 12:23     ` Lee Jones
2016-06-27 14:30       ` Keerthy
2016-06-27 11:01 ` [PATCH v2 2/8] Documentation: regulator: tps65218: Update examples Keerthy
2016-06-27 11:01 ` [PATCH v2 3/8] mfd: tps65218: Use mfd_add_devices instead of of_platform_populate Keerthy
     [not found]   ` <1467025305-13464-4-git-send-email-j-keerthy-l0cyMroinI0@public.gmane.org>
2016-06-27 12:23     ` Lee Jones
2016-06-27 11:01 ` [PATCH v2 4/8] regulator: tps65218: Remove all the compatibles Keerthy
2016-06-27 11:01 ` [PATCH v2 5/8] ARM: dts: AM437X-GP-EVM: Remove redundant regulator compatibles Keerthy
2016-06-27 11:01 ` [PATCH v2 6/8] ARM: dts: AM437X-SK-EVM: " Keerthy
2016-06-27 11:01 ` [PATCH v2 7/8] ARM: dts: AM437X-CM-T43: " Keerthy
2016-06-27 11:01 ` [PATCH v2 8/8] ARM: dts: AM43X-EPOS-EVM: " Keerthy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).