All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] tps65910: cleanup regmap use
@ 2020-09-26 23:59 Michał Mirosław
  2020-09-26 23:59 ` [PATCH 2/5] regulator: tps65910: use regmap accessors Michał Mirosław
                   ` (4 more replies)
  0 siblings, 5 replies; 20+ messages in thread
From: Michał Mirosław @ 2020-09-26 23:59 UTC (permalink / raw)
  To: Bartosz Golaszewski, Lee Jones, Liam Girdwood, Linus Walleij,
	Mark Brown, Tony Lindgren
  Cc: linux-gpio, linux-kernel, linux-omap

tps65910 was converted a long time ago to regmap. This series cleans up
after the conversion by removing tps65910_reg_*() indirections and
other unused fields in MFD structure.

Michał Mirosław (5):
  gpio: tps65910: use regmap accessors
  regulator: tps65910: use regmap accessors
  mfd: tps65911-comparator: use regmap accessors
  mfd: tps65910: clean up after switching to regmap
  mfd: tps65910: remove unused pointers

 drivers/gpio/gpio-tps65910.c           |  12 +--
 drivers/mfd/tps65910.c                 |  16 ++--
 drivers/mfd/tps65911-comparator.c      |   4 +-
 drivers/regulator/tps65910-regulator.c | 125 +++++++++++++------------
 include/linux/mfd/tps65910.h           |  40 --------
 5 files changed, 79 insertions(+), 118 deletions(-)

-- 
2.20.1


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

* [PATCH 1/5] gpio: tps65910: use regmap accessors
  2020-09-26 23:59 [PATCH 0/5] tps65910: cleanup regmap use Michał Mirosław
  2020-09-26 23:59 ` [PATCH 2/5] regulator: tps65910: use regmap accessors Michał Mirosław
@ 2020-09-26 23:59 ` Michał Mirosław
  2020-09-28 10:19   ` Bartosz Golaszewski
                     ` (3 more replies)
  2020-09-26 23:59 ` [PATCH 3/5] mfd: tps65911-comparator: " Michał Mirosław
                   ` (2 subsequent siblings)
  4 siblings, 4 replies; 20+ messages in thread
From: Michał Mirosław @ 2020-09-26 23:59 UTC (permalink / raw)
  To: Linus Walleij, Bartosz Golaszewski, Lee Jones, Liam Girdwood,
	Mark Brown, Tony Lindgren
  Cc: linux-gpio, linux-kernel, linux-omap

Use regmap accessors directly for register manipulation - removing one
layer of abstraction.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
 drivers/gpio/gpio-tps65910.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpio/gpio-tps65910.c b/drivers/gpio/gpio-tps65910.c
index 0c785b0fd161..0c0b445c75c0 100644
--- a/drivers/gpio/gpio-tps65910.c
+++ b/drivers/gpio/gpio-tps65910.c
@@ -28,7 +28,7 @@ static int tps65910_gpio_get(struct gpio_chip *gc, unsigned offset)
 	struct tps65910 *tps65910 = tps65910_gpio->tps65910;
 	unsigned int val;
 
-	tps65910_reg_read(tps65910, TPS65910_GPIO0 + offset, &val);
+	regmap_read(tps65910->regmap, TPS65910_GPIO0 + offset, &val);
 
 	if (val & GPIO_STS_MASK)
 		return 1;
@@ -43,10 +43,10 @@ static void tps65910_gpio_set(struct gpio_chip *gc, unsigned offset,
 	struct tps65910 *tps65910 = tps65910_gpio->tps65910;
 
 	if (value)
-		tps65910_reg_set_bits(tps65910, TPS65910_GPIO0 + offset,
+		regmap_set_bits(tps65910->regmap, TPS65910_GPIO0 + offset,
 						GPIO_SET_MASK);
 	else
-		tps65910_reg_clear_bits(tps65910, TPS65910_GPIO0 + offset,
+		regmap_clear_bits(tps65910->regmap, TPS65910_GPIO0 + offset,
 						GPIO_SET_MASK);
 }
 
@@ -59,7 +59,7 @@ static int tps65910_gpio_output(struct gpio_chip *gc, unsigned offset,
 	/* Set the initial value */
 	tps65910_gpio_set(gc, offset, value);
 
-	return tps65910_reg_set_bits(tps65910, TPS65910_GPIO0 + offset,
+	return regmap_set_bits(tps65910->regmap, TPS65910_GPIO0 + offset,
 						GPIO_CFG_MASK);
 }
 
@@ -68,7 +68,7 @@ static int tps65910_gpio_input(struct gpio_chip *gc, unsigned offset)
 	struct tps65910_gpio *tps65910_gpio = gpiochip_get_data(gc);
 	struct tps65910 *tps65910 = tps65910_gpio->tps65910;
 
-	return tps65910_reg_clear_bits(tps65910, TPS65910_GPIO0 + offset,
+	return regmap_clear_bits(tps65910->regmap, TPS65910_GPIO0 + offset,
 						GPIO_CFG_MASK);
 }
 
@@ -157,7 +157,7 @@ static int tps65910_gpio_probe(struct platform_device *pdev)
 		if (!pdata->en_gpio_sleep[i])
 			continue;
 
-		ret = tps65910_reg_set_bits(tps65910,
+		ret = regmap_set_bits(tps65910->regmap,
 			TPS65910_GPIO0 + i, GPIO_SLEEP_MASK);
 		if (ret < 0)
 			dev_warn(tps65910->dev,
-- 
2.20.1


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

* [PATCH 2/5] regulator: tps65910: use regmap accessors
  2020-09-26 23:59 [PATCH 0/5] tps65910: cleanup regmap use Michał Mirosław
@ 2020-09-26 23:59 ` Michał Mirosław
  2020-09-26 23:59 ` [PATCH 1/5] gpio: " Michał Mirosław
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 20+ messages in thread
From: Michał Mirosław @ 2020-09-26 23:59 UTC (permalink / raw)
  To: Tony Lindgren, Liam Girdwood, Mark Brown, Bartosz Golaszewski,
	Lee Jones, Linus Walleij
  Cc: linux-omap, linux-kernel, linux-gpio

Use regmap accessors directly for register manipulation - removing
one layer of abstraction.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
 drivers/regulator/tps65910-regulator.c | 125 +++++++++++++------------
 1 file changed, 63 insertions(+), 62 deletions(-)

diff --git a/drivers/regulator/tps65910-regulator.c b/drivers/regulator/tps65910-regulator.c
index faa5b3538167..1d5b0a1b86f7 100644
--- a/drivers/regulator/tps65910-regulator.c
+++ b/drivers/regulator/tps65910-regulator.c
@@ -390,8 +390,8 @@ static int tps65911_get_ctrl_register(int id)
 static int tps65910_set_mode(struct regulator_dev *dev, unsigned int mode)
 {
 	struct tps65910_reg *pmic = rdev_get_drvdata(dev);
-	struct tps65910 *mfd = pmic->mfd;
-	int reg, value, id = rdev_get_id(dev);
+	struct regmap *regmap = rdev_get_regmap(dev);
+	int reg, id = rdev_get_id(dev);
 
 	reg = pmic->get_ctrl_reg(id);
 	if (reg < 0)
@@ -399,14 +399,14 @@ static int tps65910_set_mode(struct regulator_dev *dev, unsigned int mode)
 
 	switch (mode) {
 	case REGULATOR_MODE_NORMAL:
-		return tps65910_reg_update_bits(pmic->mfd, reg,
-						LDO_ST_MODE_BIT | LDO_ST_ON_BIT,
-						LDO_ST_ON_BIT);
+		return regmap_update_bits(regmap, reg,
+					  LDO_ST_MODE_BIT | LDO_ST_ON_BIT,
+					  LDO_ST_ON_BIT);
 	case REGULATOR_MODE_IDLE:
-		value = LDO_ST_ON_BIT | LDO_ST_MODE_BIT;
-		return tps65910_reg_set_bits(mfd, reg, value);
+		return regmap_set_bits(regmap, reg,
+				       LDO_ST_ON_BIT | LDO_ST_MODE_BIT);
 	case REGULATOR_MODE_STANDBY:
-		return tps65910_reg_clear_bits(mfd, reg, LDO_ST_ON_BIT);
+		return regmap_clear_bits(regmap, reg, LDO_ST_ON_BIT);
 	}
 
 	return -EINVAL;
@@ -415,13 +415,14 @@ static int tps65910_set_mode(struct regulator_dev *dev, unsigned int mode)
 static unsigned int tps65910_get_mode(struct regulator_dev *dev)
 {
 	struct tps65910_reg *pmic = rdev_get_drvdata(dev);
+	struct regmap *regmap = rdev_get_regmap(dev);
 	int ret, reg, value, id = rdev_get_id(dev);
 
 	reg = pmic->get_ctrl_reg(id);
 	if (reg < 0)
 		return reg;
 
-	ret = tps65910_reg_read(pmic->mfd, reg, &value);
+	ret = regmap_read(regmap, reg, &value);
 	if (ret < 0)
 		return ret;
 
@@ -435,20 +436,20 @@ static unsigned int tps65910_get_mode(struct regulator_dev *dev)
 
 static int tps65910_get_voltage_dcdc_sel(struct regulator_dev *dev)
 {
-	struct tps65910_reg *pmic = rdev_get_drvdata(dev);
+	struct regmap *regmap = rdev_get_regmap(dev);
 	int ret, id = rdev_get_id(dev);
 	int opvsel = 0, srvsel = 0, vselmax = 0, mult = 0, sr = 0;
 
 	switch (id) {
 	case TPS65910_REG_VDD1:
-		ret = tps65910_reg_read(pmic->mfd, TPS65910_VDD1_OP, &opvsel);
+		ret = regmap_read(regmap, TPS65910_VDD1_OP, &opvsel);
 		if (ret < 0)
 			return ret;
-		ret = tps65910_reg_read(pmic->mfd, TPS65910_VDD1, &mult);
+		ret = regmap_read(regmap, TPS65910_VDD1, &mult);
 		if (ret < 0)
 			return ret;
 		mult = (mult & VDD1_VGAIN_SEL_MASK) >> VDD1_VGAIN_SEL_SHIFT;
-		ret = tps65910_reg_read(pmic->mfd, TPS65910_VDD1_SR, &srvsel);
+		ret = regmap_read(regmap, TPS65910_VDD1_SR, &srvsel);
 		if (ret < 0)
 			return ret;
 		sr = opvsel & VDD1_OP_CMD_MASK;
@@ -457,14 +458,14 @@ static int tps65910_get_voltage_dcdc_sel(struct regulator_dev *dev)
 		vselmax = 75;
 		break;
 	case TPS65910_REG_VDD2:
-		ret = tps65910_reg_read(pmic->mfd, TPS65910_VDD2_OP, &opvsel);
+		ret = regmap_read(regmap, TPS65910_VDD2_OP, &opvsel);
 		if (ret < 0)
 			return ret;
-		ret = tps65910_reg_read(pmic->mfd, TPS65910_VDD2, &mult);
+		ret = regmap_read(regmap, TPS65910_VDD2, &mult);
 		if (ret < 0)
 			return ret;
 		mult = (mult & VDD2_VGAIN_SEL_MASK) >> VDD2_VGAIN_SEL_SHIFT;
-		ret = tps65910_reg_read(pmic->mfd, TPS65910_VDD2_SR, &srvsel);
+		ret = regmap_read(regmap, TPS65910_VDD2_SR, &srvsel);
 		if (ret < 0)
 			return ret;
 		sr = opvsel & VDD2_OP_CMD_MASK;
@@ -473,12 +474,10 @@ static int tps65910_get_voltage_dcdc_sel(struct regulator_dev *dev)
 		vselmax = 75;
 		break;
 	case TPS65911_REG_VDDCTRL:
-		ret = tps65910_reg_read(pmic->mfd, TPS65911_VDDCTRL_OP,
-					&opvsel);
+		ret = regmap_read(regmap, TPS65911_VDDCTRL_OP, &opvsel);
 		if (ret < 0)
 			return ret;
-		ret = tps65910_reg_read(pmic->mfd, TPS65911_VDDCTRL_SR,
-					&srvsel);
+		ret = regmap_read(regmap, TPS65911_VDDCTRL_SR, &srvsel);
 		if (ret < 0)
 			return ret;
 		sr = opvsel & VDDCTRL_OP_CMD_MASK;
@@ -514,13 +513,14 @@ static int tps65910_get_voltage_dcdc_sel(struct regulator_dev *dev)
 static int tps65910_get_voltage_sel(struct regulator_dev *dev)
 {
 	struct tps65910_reg *pmic = rdev_get_drvdata(dev);
+	struct regmap *regmap = rdev_get_regmap(dev);
 	int ret, reg, value, id = rdev_get_id(dev);
 
 	reg = pmic->get_ctrl_reg(id);
 	if (reg < 0)
 		return reg;
 
-	ret = tps65910_reg_read(pmic->mfd, reg, &value);
+	ret = regmap_read(regmap, reg, &value);
 	if (ret < 0)
 		return ret;
 
@@ -556,12 +556,13 @@ static int tps65910_get_voltage_vdd3(struct regulator_dev *dev)
 static int tps65911_get_voltage_sel(struct regulator_dev *dev)
 {
 	struct tps65910_reg *pmic = rdev_get_drvdata(dev);
+	struct regmap *regmap = rdev_get_regmap(dev);
 	int ret, id = rdev_get_id(dev);
 	unsigned int value, reg;
 
 	reg = pmic->get_ctrl_reg(id);
 
-	ret = tps65910_reg_read(pmic->mfd, reg, &value);
+	ret = regmap_read(regmap, reg, &value);
 	if (ret < 0)
 		return ret;
 
@@ -594,7 +595,7 @@ static int tps65911_get_voltage_sel(struct regulator_dev *dev)
 static int tps65910_set_voltage_dcdc_sel(struct regulator_dev *dev,
 					 unsigned selector)
 {
-	struct tps65910_reg *pmic = rdev_get_drvdata(dev);
+	struct regmap *regmap = rdev_get_regmap(dev);
 	int id = rdev_get_id(dev), vsel;
 	int dcdc_mult = 0;
 
@@ -605,10 +606,9 @@ static int tps65910_set_voltage_dcdc_sel(struct regulator_dev *dev,
 			dcdc_mult--;
 		vsel = (selector % VDD1_2_NUM_VOLT_FINE) + 3;
 
-		tps65910_reg_update_bits(pmic->mfd, TPS65910_VDD1,
-					 VDD1_VGAIN_SEL_MASK,
-					 dcdc_mult << VDD1_VGAIN_SEL_SHIFT);
-		tps65910_reg_write(pmic->mfd, TPS65910_VDD1_OP, vsel);
+		regmap_update_bits(regmap, TPS65910_VDD1, VDD1_VGAIN_SEL_MASK,
+				   dcdc_mult << VDD1_VGAIN_SEL_SHIFT);
+		regmap_write(regmap, TPS65910_VDD1_OP, vsel);
 		break;
 	case TPS65910_REG_VDD2:
 		dcdc_mult = (selector / VDD1_2_NUM_VOLT_FINE) + 1;
@@ -616,14 +616,14 @@ static int tps65910_set_voltage_dcdc_sel(struct regulator_dev *dev,
 			dcdc_mult--;
 		vsel = (selector % VDD1_2_NUM_VOLT_FINE) + 3;
 
-		tps65910_reg_update_bits(pmic->mfd, TPS65910_VDD2,
-					 VDD1_VGAIN_SEL_MASK,
-					 dcdc_mult << VDD2_VGAIN_SEL_SHIFT);
-		tps65910_reg_write(pmic->mfd, TPS65910_VDD2_OP, vsel);
+		regmap_update_bits(regmap, TPS65910_VDD2, VDD1_VGAIN_SEL_MASK,
+				   dcdc_mult << VDD2_VGAIN_SEL_SHIFT);
+		regmap_write(regmap, TPS65910_VDD2_OP, vsel);
 		break;
 	case TPS65911_REG_VDDCTRL:
 		vsel = selector + 3;
-		tps65910_reg_write(pmic->mfd, TPS65911_VDDCTRL_OP, vsel);
+		regmap_write(regmap, TPS65911_VDDCTRL_OP, vsel);
+		break;
 	}
 
 	return 0;
@@ -633,6 +633,7 @@ static int tps65910_set_voltage_sel(struct regulator_dev *dev,
 				    unsigned selector)
 {
 	struct tps65910_reg *pmic = rdev_get_drvdata(dev);
+	struct regmap *regmap = rdev_get_regmap(dev);
 	int reg, id = rdev_get_id(dev);
 
 	reg = pmic->get_ctrl_reg(id);
@@ -649,11 +650,11 @@ static int tps65910_set_voltage_sel(struct regulator_dev *dev,
 	case TPS65910_REG_VAUX2:
 	case TPS65910_REG_VAUX33:
 	case TPS65910_REG_VMMC:
-		return tps65910_reg_update_bits(pmic->mfd, reg, LDO_SEL_MASK,
-						selector << LDO_SEL_SHIFT);
+		return regmap_update_bits(regmap, reg, LDO_SEL_MASK,
+					  selector << LDO_SEL_SHIFT);
 	case TPS65910_REG_VBB:
-		return tps65910_reg_update_bits(pmic->mfd, reg, BBCH_BBSEL_MASK,
-						selector << BBCH_BBSEL_SHIFT);
+		return regmap_update_bits(regmap, reg, BBCH_BBSEL_MASK,
+					  selector << BBCH_BBSEL_SHIFT);
 	}
 
 	return -EINVAL;
@@ -663,6 +664,7 @@ static int tps65911_set_voltage_sel(struct regulator_dev *dev,
 				    unsigned selector)
 {
 	struct tps65910_reg *pmic = rdev_get_drvdata(dev);
+	struct regmap *regmap = rdev_get_regmap(dev);
 	int reg, id = rdev_get_id(dev);
 
 	reg = pmic->get_ctrl_reg(id);
@@ -673,21 +675,21 @@ static int tps65911_set_voltage_sel(struct regulator_dev *dev,
 	case TPS65911_REG_LDO1:
 	case TPS65911_REG_LDO2:
 	case TPS65911_REG_LDO4:
-		return tps65910_reg_update_bits(pmic->mfd, reg, LDO1_SEL_MASK,
-						selector << LDO_SEL_SHIFT);
+		return regmap_update_bits(regmap, reg, LDO1_SEL_MASK,
+					  selector << LDO_SEL_SHIFT);
 	case TPS65911_REG_LDO3:
 	case TPS65911_REG_LDO5:
 	case TPS65911_REG_LDO6:
 	case TPS65911_REG_LDO7:
 	case TPS65911_REG_LDO8:
-		return tps65910_reg_update_bits(pmic->mfd, reg, LDO3_SEL_MASK,
-						selector << LDO_SEL_SHIFT);
+		return regmap_update_bits(regmap, reg, LDO3_SEL_MASK,
+					  selector << LDO_SEL_SHIFT);
 	case TPS65910_REG_VIO:
-		return tps65910_reg_update_bits(pmic->mfd, reg, LDO_SEL_MASK,
-						selector << LDO_SEL_SHIFT);
+		return regmap_update_bits(regmap, reg, LDO_SEL_MASK,
+					  selector << LDO_SEL_SHIFT);
 	case TPS65910_REG_VBB:
-		return tps65910_reg_update_bits(pmic->mfd, reg, BBCH_BBSEL_MASK,
-						selector << BBCH_BBSEL_SHIFT);
+		return regmap_update_bits(regmap, reg, BBCH_BBSEL_MASK,
+					  selector << BBCH_BBSEL_SHIFT);
 	}
 
 	return -EINVAL;
@@ -850,10 +852,10 @@ static int tps65910_set_ext_sleep_config(struct tps65910_reg *pmic,
 
 	/* External EN1 control */
 	if (ext_sleep_config & TPS65910_SLEEP_CONTROL_EXT_INPUT_EN1)
-		ret = tps65910_reg_set_bits(mfd,
+		ret = regmap_set_bits(mfd->regmap,
 				TPS65910_EN1_LDO_ASS + regoffs, bit_pos);
 	else
-		ret = tps65910_reg_clear_bits(mfd,
+		ret = regmap_clear_bits(mfd->regmap,
 				TPS65910_EN1_LDO_ASS + regoffs, bit_pos);
 	if (ret < 0) {
 		dev_err(mfd->dev,
@@ -863,10 +865,10 @@ static int tps65910_set_ext_sleep_config(struct tps65910_reg *pmic,
 
 	/* External EN2 control */
 	if (ext_sleep_config & TPS65910_SLEEP_CONTROL_EXT_INPUT_EN2)
-		ret = tps65910_reg_set_bits(mfd,
+		ret = regmap_set_bits(mfd->regmap,
 				TPS65910_EN2_LDO_ASS + regoffs, bit_pos);
 	else
-		ret = tps65910_reg_clear_bits(mfd,
+		ret = regmap_clear_bits(mfd->regmap,
 				TPS65910_EN2_LDO_ASS + regoffs, bit_pos);
 	if (ret < 0) {
 		dev_err(mfd->dev,
@@ -878,10 +880,10 @@ static int tps65910_set_ext_sleep_config(struct tps65910_reg *pmic,
 	if ((tps65910_chip_id(mfd) == TPS65910) &&
 			(id >= TPS65910_REG_VDIG1)) {
 		if (ext_sleep_config & TPS65910_SLEEP_CONTROL_EXT_INPUT_EN3)
-			ret = tps65910_reg_set_bits(mfd,
+			ret = regmap_set_bits(mfd->regmap,
 				TPS65910_EN3_LDO_ASS + regoffs, bit_pos);
 		else
-			ret = tps65910_reg_clear_bits(mfd,
+			ret = regmap_clear_bits(mfd->regmap,
 				TPS65910_EN3_LDO_ASS + regoffs, bit_pos);
 		if (ret < 0) {
 			dev_err(mfd->dev,
@@ -893,10 +895,10 @@ static int tps65910_set_ext_sleep_config(struct tps65910_reg *pmic,
 	/* Return if no external control is selected */
 	if (!(ext_sleep_config & EXT_SLEEP_CONTROL)) {
 		/* Clear all sleep controls */
-		ret = tps65910_reg_clear_bits(mfd,
+		ret = regmap_clear_bits(mfd->regmap,
 			TPS65910_SLEEP_KEEP_LDO_ON + regoffs, bit_pos);
 		if (!ret)
-			ret = tps65910_reg_clear_bits(mfd,
+			ret = regmap_clear_bits(mfd->regmap,
 				TPS65910_SLEEP_SET_LDO_OFF + regoffs, bit_pos);
 		if (ret < 0)
 			dev_err(mfd->dev,
@@ -917,39 +919,38 @@ static int tps65910_set_ext_sleep_config(struct tps65910_reg *pmic,
 		int sr_reg_add = pmic->get_ctrl_reg(id) + 2;
 		int opvsel, srvsel;
 
-		ret = tps65910_reg_read(pmic->mfd, op_reg_add, &opvsel);
+		ret = regmap_read(mfd->regmap, op_reg_add, &opvsel);
 		if (ret < 0)
 			return ret;
-		ret = tps65910_reg_read(pmic->mfd, sr_reg_add, &srvsel);
+		ret = regmap_read(mfd->regmap, sr_reg_add, &srvsel);
 		if (ret < 0)
 			return ret;
 
 		if (opvsel & VDD1_OP_CMD_MASK) {
 			u8 reg_val = srvsel & VDD1_OP_SEL_MASK;
 
-			ret = tps65910_reg_write(pmic->mfd, op_reg_add,
-						 reg_val);
+			ret = regmap_write(mfd->regmap, op_reg_add, reg_val);
 			if (ret < 0) {
 				dev_err(mfd->dev,
 					"Error in configuring op register\n");
 				return ret;
 			}
 		}
-		ret = tps65910_reg_write(pmic->mfd, sr_reg_add, 0);
+		ret = regmap_write(mfd->regmap, sr_reg_add, 0);
 		if (ret < 0) {
 			dev_err(mfd->dev, "Error in setting sr register\n");
 			return ret;
 		}
 	}
 
-	ret = tps65910_reg_clear_bits(mfd,
+	ret = regmap_clear_bits(mfd->regmap,
 			TPS65910_SLEEP_KEEP_LDO_ON + regoffs, bit_pos);
 	if (!ret) {
 		if (ext_sleep_config & TPS65911_SLEEP_CONTROL_EXT_INPUT_SLEEP)
-			ret = tps65910_reg_set_bits(mfd,
+			ret = regmap_set_bits(mfd->regmap,
 				TPS65910_SLEEP_SET_LDO_OFF + regoffs, bit_pos);
 		else
-			ret = tps65910_reg_clear_bits(mfd,
+			ret = regmap_clear_bits(mfd->regmap,
 				TPS65910_SLEEP_SET_LDO_OFF + regoffs, bit_pos);
 	}
 	if (ret < 0)
@@ -1097,7 +1098,7 @@ static int tps65910_probe(struct platform_device *pdev)
 	platform_set_drvdata(pdev, pmic);
 
 	/* Give control of all register to control port */
-	err = tps65910_reg_set_bits(pmic->mfd, TPS65910_DEVCTRL,
+	err = regmap_set_bits(pmic->mfd->regmap, TPS65910_DEVCTRL,
 				DEVCTRL_SR_CTL_I2C_SEL_MASK);
 	if (err < 0)
 		return err;
@@ -1113,7 +1114,7 @@ static int tps65910_probe(struct platform_device *pdev)
 		 * voltage level can go higher than expected or crash
 		 * Workaround: use no synchronization of DCDC clocks
 		 */
-		tps65910_reg_clear_bits(pmic->mfd, TPS65910_DCDCCTRL,
+		regmap_clear_bits(pmic->mfd->regmap, TPS65910_DCDCCTRL,
 					DCDCCTRL_DCDCCKSYNC_MASK);
 		break;
 	case TPS65911:
-- 
2.20.1


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

* [PATCH 3/5] mfd: tps65911-comparator: use regmap accessors
  2020-09-26 23:59 [PATCH 0/5] tps65910: cleanup regmap use Michał Mirosław
  2020-09-26 23:59 ` [PATCH 2/5] regulator: tps65910: use regmap accessors Michał Mirosław
  2020-09-26 23:59 ` [PATCH 1/5] gpio: " Michał Mirosław
@ 2020-09-26 23:59 ` Michał Mirosław
  2020-11-04 14:44   ` Lee Jones
  2020-09-26 23:59 ` [PATCH 4/5] mfd: tps65910: clean up after switching to regmap Michał Mirosław
  2020-09-26 23:59 ` [PATCH 5/5] mfd: tps65910: remove unused pointers Michał Mirosław
  4 siblings, 1 reply; 20+ messages in thread
From: Michał Mirosław @ 2020-09-26 23:59 UTC (permalink / raw)
  To: Lee Jones, Bartosz Golaszewski, Liam Girdwood, Linus Walleij,
	Mark Brown, Tony Lindgren
  Cc: linux-kernel, linux-gpio, linux-omap

Use regmap accessors directly for register manipulation - removing
one layer of abstraction.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
 drivers/mfd/tps65911-comparator.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/mfd/tps65911-comparator.c b/drivers/mfd/tps65911-comparator.c
index 2334cd61c98d..8f4210075913 100644
--- a/drivers/mfd/tps65911-comparator.c
+++ b/drivers/mfd/tps65911-comparator.c
@@ -69,7 +69,7 @@ static int comp_threshold_set(struct tps65910 *tps65910, int id, int voltage)
 		return -EINVAL;
 
 	val = index << 1;
-	ret = tps65910_reg_write(tps65910, tps_comp.reg, val);
+	ret = regmap_write(tps65910->regmap, tps_comp.reg, val);
 
 	return ret;
 }
@@ -80,7 +80,7 @@ static int comp_threshold_get(struct tps65910 *tps65910, int id)
 	unsigned int val;
 	int ret;
 
-	ret = tps65910_reg_read(tps65910, tps_comp.reg, &val);
+	ret = regmap_read(tps65910->regmap, tps_comp.reg, &val);
 	if (ret < 0)
 		return ret;
 
-- 
2.20.1


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

* [PATCH 4/5] mfd: tps65910: clean up after switching to regmap
  2020-09-26 23:59 [PATCH 0/5] tps65910: cleanup regmap use Michał Mirosław
                   ` (2 preceding siblings ...)
  2020-09-26 23:59 ` [PATCH 3/5] mfd: tps65911-comparator: " Michał Mirosław
@ 2020-09-26 23:59 ` Michał Mirosław
  2020-11-04 14:45   ` Lee Jones
  2020-09-26 23:59 ` [PATCH 5/5] mfd: tps65910: remove unused pointers Michał Mirosław
  4 siblings, 1 reply; 20+ messages in thread
From: Michał Mirosław @ 2020-09-26 23:59 UTC (permalink / raw)
  To: Bartosz Golaszewski, Lee Jones, Liam Girdwood, Linus Walleij,
	Mark Brown, Tony Lindgren
  Cc: linux-omap, linux-kernel, linux-gpio

Remove wrappers around regmap calls to remove now-useless indirection.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
 drivers/mfd/tps65910.c       | 16 ++++++++--------
 include/linux/mfd/tps65910.h | 35 -----------------------------------
 2 files changed, 8 insertions(+), 43 deletions(-)

diff --git a/drivers/mfd/tps65910.c b/drivers/mfd/tps65910.c
index 11959021b50a..36a52f44cd11 100644
--- a/drivers/mfd/tps65910.c
+++ b/drivers/mfd/tps65910.c
@@ -292,7 +292,7 @@ static int tps65910_ck32k_init(struct tps65910 *tps65910,
 	if (!pmic_pdata->en_ck32k_xtal)
 		return 0;
 
-	ret = tps65910_reg_clear_bits(tps65910, TPS65910_DEVCTRL,
+	ret = regmap_clear_bits(tps65910->regmap, TPS65910_DEVCTRL,
 						DEVCTRL_CK32K_CTRL_MASK);
 	if (ret < 0) {
 		dev_err(tps65910->dev, "clear ck32k_ctrl failed: %d\n", ret);
@@ -314,7 +314,7 @@ static int tps65910_sleepinit(struct tps65910 *tps65910,
 	dev = tps65910->dev;
 
 	/* enabling SLEEP device state */
-	ret = tps65910_reg_set_bits(tps65910, TPS65910_DEVCTRL,
+	ret = regmap_set_bits(tps65910->regmap, TPS65910_DEVCTRL,
 				DEVCTRL_DEV_SLP_MASK);
 	if (ret < 0) {
 		dev_err(dev, "set dev_slp failed: %d\n", ret);
@@ -322,7 +322,7 @@ static int tps65910_sleepinit(struct tps65910 *tps65910,
 	}
 
 	if (pmic_pdata->slp_keepon.therm_keepon) {
-		ret = tps65910_reg_set_bits(tps65910,
+		ret = regmap_set_bits(tps65910->regmap,
 				TPS65910_SLEEP_KEEP_RES_ON,
 				SLEEP_KEEP_RES_ON_THERM_KEEPON_MASK);
 		if (ret < 0) {
@@ -332,7 +332,7 @@ static int tps65910_sleepinit(struct tps65910 *tps65910,
 	}
 
 	if (pmic_pdata->slp_keepon.clkout32k_keepon) {
-		ret = tps65910_reg_set_bits(tps65910,
+		ret = regmap_set_bits(tps65910->regmap,
 				TPS65910_SLEEP_KEEP_RES_ON,
 				SLEEP_KEEP_RES_ON_CLKOUT32K_KEEPON_MASK);
 		if (ret < 0) {
@@ -342,7 +342,7 @@ static int tps65910_sleepinit(struct tps65910 *tps65910,
 	}
 
 	if (pmic_pdata->slp_keepon.i2chs_keepon) {
-		ret = tps65910_reg_set_bits(tps65910,
+		ret = regmap_set_bits(tps65910->regmap,
 				TPS65910_SLEEP_KEEP_RES_ON,
 				SLEEP_KEEP_RES_ON_I2CHS_KEEPON_MASK);
 		if (ret < 0) {
@@ -354,7 +354,7 @@ static int tps65910_sleepinit(struct tps65910 *tps65910,
 	return 0;
 
 disable_dev_slp:
-	tps65910_reg_clear_bits(tps65910, TPS65910_DEVCTRL,
+	regmap_clear_bits(tps65910->regmap, TPS65910_DEVCTRL,
 				DEVCTRL_DEV_SLP_MASK);
 
 err_sleep_init:
@@ -436,11 +436,11 @@ static void tps65910_power_off(void)
 
 	tps65910 = dev_get_drvdata(&tps65910_i2c_client->dev);
 
-	if (tps65910_reg_set_bits(tps65910, TPS65910_DEVCTRL,
+	if (regmap_set_bits(tps65910->regmap, TPS65910_DEVCTRL,
 			DEVCTRL_PWR_OFF_MASK) < 0)
 		return;
 
-	tps65910_reg_clear_bits(tps65910, TPS65910_DEVCTRL,
+	regmap_clear_bits(tps65910->regmap, TPS65910_DEVCTRL,
 			DEVCTRL_DEV_ON_MASK);
 }
 
diff --git a/include/linux/mfd/tps65910.h b/include/linux/mfd/tps65910.h
index ce4b9e743f7c..f7398d982f23 100644
--- a/include/linux/mfd/tps65910.h
+++ b/include/linux/mfd/tps65910.h
@@ -913,39 +913,4 @@ static inline int tps65910_chip_id(struct tps65910 *tps65910)
 	return tps65910->id;
 }
 
-static inline int tps65910_reg_read(struct tps65910 *tps65910, u8 reg,
-		unsigned int *val)
-{
-	return regmap_read(tps65910->regmap, reg, val);
-}
-
-static inline int tps65910_reg_write(struct tps65910 *tps65910, u8 reg,
-		unsigned int val)
-{
-	return regmap_write(tps65910->regmap, reg, val);
-}
-
-static inline int tps65910_reg_set_bits(struct tps65910 *tps65910, u8 reg,
-		u8 mask)
-{
-	return regmap_update_bits(tps65910->regmap, reg, mask, mask);
-}
-
-static inline int tps65910_reg_clear_bits(struct tps65910 *tps65910, u8 reg,
-		u8 mask)
-{
-	return regmap_update_bits(tps65910->regmap, reg, mask, 0);
-}
-
-static inline int tps65910_reg_update_bits(struct tps65910 *tps65910, u8 reg,
-					   u8 mask, u8 val)
-{
-	return regmap_update_bits(tps65910->regmap, reg, mask, val);
-}
-
-static inline int tps65910_irq_get_virq(struct tps65910 *tps65910, int irq)
-{
-	return regmap_irq_get_virq(tps65910->irq_data, irq);
-}
-
 #endif /*  __LINUX_MFD_TPS65910_H */
-- 
2.20.1


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

* [PATCH 5/5] mfd: tps65910: remove unused pointers
  2020-09-26 23:59 [PATCH 0/5] tps65910: cleanup regmap use Michał Mirosław
                   ` (3 preceding siblings ...)
  2020-09-26 23:59 ` [PATCH 4/5] mfd: tps65910: clean up after switching to regmap Michał Mirosław
@ 2020-09-26 23:59 ` Michał Mirosław
  4 siblings, 0 replies; 20+ messages in thread
From: Michał Mirosław @ 2020-09-26 23:59 UTC (permalink / raw)
  To: Lee Jones, Bartosz Golaszewski, Liam Girdwood, Linus Walleij,
	Mark Brown, Tony Lindgren
  Cc: linux-kernel, linux-gpio, linux-omap

Client pointers in tps65910 data are not used in the drivers.
Remove those fields.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
 include/linux/mfd/tps65910.h | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/include/linux/mfd/tps65910.h b/include/linux/mfd/tps65910.h
index f7398d982f23..701925db75b3 100644
--- a/include/linux/mfd/tps65910.h
+++ b/include/linux/mfd/tps65910.h
@@ -890,11 +890,6 @@ struct tps65910 {
 	struct regmap *regmap;
 	unsigned long id;
 
-	/* Client devices */
-	struct tps65910_pmic *pmic;
-	struct tps65910_rtc *rtc;
-	struct tps65910_power *power;
-
 	/* Device node parsed board data */
 	struct tps65910_board *of_plat_data;
 
-- 
2.20.1


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

* Re: [PATCH 1/5] gpio: tps65910: use regmap accessors
  2020-09-26 23:59 ` [PATCH 1/5] gpio: " Michał Mirosław
@ 2020-09-28 10:19   ` Bartosz Golaszewski
  2020-09-30  8:44   ` Linus Walleij
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 20+ messages in thread
From: Bartosz Golaszewski @ 2020-09-28 10:19 UTC (permalink / raw)
  To: Michał Mirosław
  Cc: Linus Walleij, Lee Jones, Liam Girdwood, Mark Brown,
	Tony Lindgren, linux-gpio, LKML, Linux-OMAP

On Sun, Sep 27, 2020 at 1:59 AM Michał Mirosław <mirq-linux@rere.qmqm.pl> wrote:
>
> Use regmap accessors directly for register manipulation - removing one
> layer of abstraction.
>
> Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
> ---
>  drivers/gpio/gpio-tps65910.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpio/gpio-tps65910.c b/drivers/gpio/gpio-tps65910.c
> index 0c785b0fd161..0c0b445c75c0 100644
> --- a/drivers/gpio/gpio-tps65910.c
> +++ b/drivers/gpio/gpio-tps65910.c
> @@ -28,7 +28,7 @@ static int tps65910_gpio_get(struct gpio_chip *gc, unsigned offset)
>         struct tps65910 *tps65910 = tps65910_gpio->tps65910;
>         unsigned int val;
>
> -       tps65910_reg_read(tps65910, TPS65910_GPIO0 + offset, &val);
> +       regmap_read(tps65910->regmap, TPS65910_GPIO0 + offset, &val);
>
>         if (val & GPIO_STS_MASK)
>                 return 1;
> @@ -43,10 +43,10 @@ static void tps65910_gpio_set(struct gpio_chip *gc, unsigned offset,
>         struct tps65910 *tps65910 = tps65910_gpio->tps65910;
>
>         if (value)
> -               tps65910_reg_set_bits(tps65910, TPS65910_GPIO0 + offset,
> +               regmap_set_bits(tps65910->regmap, TPS65910_GPIO0 + offset,
>                                                 GPIO_SET_MASK);
>         else
> -               tps65910_reg_clear_bits(tps65910, TPS65910_GPIO0 + offset,
> +               regmap_clear_bits(tps65910->regmap, TPS65910_GPIO0 + offset,
>                                                 GPIO_SET_MASK);
>  }
>
> @@ -59,7 +59,7 @@ static int tps65910_gpio_output(struct gpio_chip *gc, unsigned offset,
>         /* Set the initial value */
>         tps65910_gpio_set(gc, offset, value);
>
> -       return tps65910_reg_set_bits(tps65910, TPS65910_GPIO0 + offset,
> +       return regmap_set_bits(tps65910->regmap, TPS65910_GPIO0 + offset,
>                                                 GPIO_CFG_MASK);
>  }
>
> @@ -68,7 +68,7 @@ static int tps65910_gpio_input(struct gpio_chip *gc, unsigned offset)
>         struct tps65910_gpio *tps65910_gpio = gpiochip_get_data(gc);
>         struct tps65910 *tps65910 = tps65910_gpio->tps65910;
>
> -       return tps65910_reg_clear_bits(tps65910, TPS65910_GPIO0 + offset,
> +       return regmap_clear_bits(tps65910->regmap, TPS65910_GPIO0 + offset,
>                                                 GPIO_CFG_MASK);
>  }
>
> @@ -157,7 +157,7 @@ static int tps65910_gpio_probe(struct platform_device *pdev)
>                 if (!pdata->en_gpio_sleep[i])
>                         continue;
>
> -               ret = tps65910_reg_set_bits(tps65910,
> +               ret = regmap_set_bits(tps65910->regmap,
>                         TPS65910_GPIO0 + i, GPIO_SLEEP_MASK);
>                 if (ret < 0)
>                         dev_warn(tps65910->dev,
> --
> 2.20.1
>

Acked-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>

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

* Re: [PATCH 1/5] gpio: tps65910: use regmap accessors
  2020-09-26 23:59 ` [PATCH 1/5] gpio: " Michał Mirosław
  2020-09-28 10:19   ` Bartosz Golaszewski
@ 2020-09-30  8:44   ` Linus Walleij
  2020-10-01  9:01     ` Lee Jones
  2020-11-05  7:56   ` Linus Walleij
  2020-11-10 13:48   ` Lee Jones
  3 siblings, 1 reply; 20+ messages in thread
From: Linus Walleij @ 2020-09-30  8:44 UTC (permalink / raw)
  To: Michał Mirosław
  Cc: Bartosz Golaszewski, Lee Jones, Liam Girdwood, Mark Brown,
	Tony Lindgren, open list:GPIO SUBSYSTEM, linux-kernel,
	Linux-OMAP

On Sun, Sep 27, 2020 at 1:59 AM Michał Mirosław <mirq-linux@rere.qmqm.pl> wrote:

> Use regmap accessors directly for register manipulation - removing one
> layer of abstraction.
>
> Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

I suppose it is easiest that Lee apply all patches to the MFD tree?

Yours,
Linus Walleij

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

* Re: [PATCH 1/5] gpio: tps65910: use regmap accessors
  2020-09-30  8:44   ` Linus Walleij
@ 2020-10-01  9:01     ` Lee Jones
  2020-11-04 14:43       ` Lee Jones
  0 siblings, 1 reply; 20+ messages in thread
From: Lee Jones @ 2020-10-01  9:01 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Michał Mirosław, Bartosz Golaszewski, Liam Girdwood,
	Mark Brown, Tony Lindgren, open list:GPIO SUBSYSTEM,
	linux-kernel, Linux-OMAP

On Wed, 30 Sep 2020, Linus Walleij wrote:

> On Sun, Sep 27, 2020 at 1:59 AM Michał Mirosław <mirq-linux@rere.qmqm.pl> wrote:
> 
> > Use regmap accessors directly for register manipulation - removing one
> > layer of abstraction.
> >
> > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
> 
> Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
> 
> I suppose it is easiest that Lee apply all patches to the MFD tree?

Yes, that's fine.

It won't be for this release though, as we're already at -rc7.

-- 
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog

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

* Re: [PATCH 1/5] gpio: tps65910: use regmap accessors
  2020-10-01  9:01     ` Lee Jones
@ 2020-11-04 14:43       ` Lee Jones
  2020-11-05  1:47         ` Michał Mirosław
  0 siblings, 1 reply; 20+ messages in thread
From: Lee Jones @ 2020-11-04 14:43 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Michał Mirosław, Bartosz Golaszewski, Liam Girdwood,
	Mark Brown, Tony Lindgren, open list:GPIO SUBSYSTEM,
	linux-kernel, Linux-OMAP

On Thu, 01 Oct 2020, Lee Jones wrote:

> On Wed, 30 Sep 2020, Linus Walleij wrote:
> 
> > On Sun, Sep 27, 2020 at 1:59 AM Michał Mirosław <mirq-linux@rere.qmqm.pl> wrote:
> > 
> > > Use regmap accessors directly for register manipulation - removing one
> > > layer of abstraction.
> > >
> > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
> > 
> > Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
> > 
> > I suppose it is easiest that Lee apply all patches to the MFD tree?
> 
> Yes, that's fine.

I think this patch is orthogonal right?

Not sure why it need to go in via MFD.

Is that still want you want Linus?

-- 
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog

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

* Re: [PATCH 3/5] mfd: tps65911-comparator: use regmap accessors
  2020-09-26 23:59 ` [PATCH 3/5] mfd: tps65911-comparator: " Michał Mirosław
@ 2020-11-04 14:44   ` Lee Jones
  0 siblings, 0 replies; 20+ messages in thread
From: Lee Jones @ 2020-11-04 14:44 UTC (permalink / raw)
  To: Michał Mirosław
  Cc: Bartosz Golaszewski, Liam Girdwood, Linus Walleij, Mark Brown,
	Tony Lindgren, linux-kernel, linux-gpio, linux-omap

On Sun, 27 Sep 2020, Michał Mirosław wrote:

> Use regmap accessors directly for register manipulation - removing
> one layer of abstraction.
> 
> Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
> ---
>  drivers/mfd/tps65911-comparator.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Applied, thanks.

-- 
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog

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

* Re: [PATCH 4/5] mfd: tps65910: clean up after switching to regmap
  2020-09-26 23:59 ` [PATCH 4/5] mfd: tps65910: clean up after switching to regmap Michał Mirosław
@ 2020-11-04 14:45   ` Lee Jones
  0 siblings, 0 replies; 20+ messages in thread
From: Lee Jones @ 2020-11-04 14:45 UTC (permalink / raw)
  To: Michał Mirosław
  Cc: Bartosz Golaszewski, Liam Girdwood, Linus Walleij, Mark Brown,
	Tony Lindgren, linux-omap, linux-kernel, linux-gpio

On Sun, 27 Sep 2020, Michał Mirosław wrote:

> Remove wrappers around regmap calls to remove now-useless indirection.
> 
> Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
> ---
>  drivers/mfd/tps65910.c       | 16 ++++++++--------
>  include/linux/mfd/tps65910.h | 35 -----------------------------------
>  2 files changed, 8 insertions(+), 43 deletions(-)

Applied, thanks.

-- 
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog

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

* Re: [PATCH 1/5] gpio: tps65910: use regmap accessors
  2020-11-04 14:43       ` Lee Jones
@ 2020-11-05  1:47         ` Michał Mirosław
  2020-11-05  1:50           ` linux-next: build failure after merge of the mfd tree Stephen Rothwell
  2020-11-05  8:13           ` [PATCH 1/5] gpio: tps65910: use regmap accessors Lee Jones
  0 siblings, 2 replies; 20+ messages in thread
From: Michał Mirosław @ 2020-11-05  1:47 UTC (permalink / raw)
  To: Lee Jones
  Cc: Linus Walleij, Bartosz Golaszewski, Liam Girdwood, Mark Brown,
	Tony Lindgren, open list:GPIO SUBSYSTEM, linux-kernel,
	Linux-OMAP

On Wed, Nov 04, 2020 at 02:43:31PM +0000, Lee Jones wrote:
> On Thu, 01 Oct 2020, Lee Jones wrote:
> > On Wed, 30 Sep 2020, Linus Walleij wrote:
> > > On Sun, Sep 27, 2020 at 1:59 AM Michał Mirosław <mirq-linux@rere.qmqm.pl> wrote:
> > > > Use regmap accessors directly for register manipulation - removing one
> > > > layer of abstraction.
> > > >
> > > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
> > > Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
> > > 
> > > I suppose it is easiest that Lee apply all patches to the MFD tree?
> > Yes, that's fine.
> I think this patch is orthogonal right?
> 
> Not sure why it need to go in via MFD.
[...]

The patch 4 assumes all previous patches are applied (or there will be
build breakage).

Best Regards
Michał Mirosław

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

* linux-next: build failure after merge of the mfd tree
@ 2020-11-05  1:50           ` Stephen Rothwell
  2020-11-05  1:57             ` Michał Mirosław
  0 siblings, 1 reply; 20+ messages in thread
From: Stephen Rothwell @ 2020-11-05  1:50 UTC (permalink / raw)
  To: Lee Jones
  Cc: Michał Mirosław, Linux Kernel Mailing List,
	Linux Next Mailing List

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

Hi all,

After merging the mfd tree, today's linux-next build (arm
multi_v7_defconfig) failed like this:

drivers/gpio/gpio-tps65910.c: In function 'tps65910_gpio_get':
drivers/gpio/gpio-tps65910.c:31:2: error: implicit declaration of function 'tps65910_reg_read' [-Werror=implicit-function-declaration]
   31 |  tps65910_reg_read(tps65910, TPS65910_GPIO0 + offset, &val);
      |  ^~~~~~~~~~~~~~~~~
drivers/gpio/gpio-tps65910.c: In function 'tps65910_gpio_set':
drivers/gpio/gpio-tps65910.c:46:3: error: implicit declaration of function 'tps65910_reg_set_bits' [-Werror=implicit-function-declaration]
   46 |   tps65910_reg_set_bits(tps65910, TPS65910_GPIO0 + offset,
      |   ^~~~~~~~~~~~~~~~~~~~~
drivers/gpio/gpio-tps65910.c:49:3: error: implicit declaration of function 'tps65910_reg_clear_bits' [-Werror=implicit-function-declaration]
   49 |   tps65910_reg_clear_bits(tps65910, TPS65910_GPIO0 + offset,
      |   ^~~~~~~~~~~~~~~~~~~~~~~

Caused by commit

  23feb2c3367c ("mfd: tps65910: Clean up after switching to regmap")

I have used the version of the mfd tree from next-20201104 for today.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: linux-next: build failure after merge of the mfd tree
  2020-11-05  1:50           ` linux-next: build failure after merge of the mfd tree Stephen Rothwell
@ 2020-11-05  1:57             ` Michał Mirosław
  2020-11-05  9:09               ` Lee Jones
  0 siblings, 1 reply; 20+ messages in thread
From: Michał Mirosław @ 2020-11-05  1:57 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Lee Jones, Linus Walleij, Linux Kernel Mailing List,
	Linux Next Mailing List

On Thu, Nov 05, 2020 at 12:50:27PM +1100, Stephen Rothwell wrote:
> Hi all,
> 
> After merging the mfd tree, today's linux-next build (arm
> multi_v7_defconfig) failed like this:
> 
> drivers/gpio/gpio-tps65910.c: In function 'tps65910_gpio_get':
> drivers/gpio/gpio-tps65910.c:31:2: error: implicit declaration of function 'tps65910_reg_read' [-Werror=implicit-function-declaration]
>    31 |  tps65910_reg_read(tps65910, TPS65910_GPIO0 + offset, &val);
>       |  ^~~~~~~~~~~~~~~~~
> drivers/gpio/gpio-tps65910.c: In function 'tps65910_gpio_set':
> drivers/gpio/gpio-tps65910.c:46:3: error: implicit declaration of function 'tps65910_reg_set_bits' [-Werror=implicit-function-declaration]
>    46 |   tps65910_reg_set_bits(tps65910, TPS65910_GPIO0 + offset,
>       |   ^~~~~~~~~~~~~~~~~~~~~
> drivers/gpio/gpio-tps65910.c:49:3: error: implicit declaration of function 'tps65910_reg_clear_bits' [-Werror=implicit-function-declaration]
>    49 |   tps65910_reg_clear_bits(tps65910, TPS65910_GPIO0 + offset,
>       |   ^~~~~~~~~~~~~~~~~~~~~~~
> 
> Caused by commit
> 
>   23feb2c3367c ("mfd: tps65910: Clean up after switching to regmap")
> 
> I have used the version of the mfd tree from next-20201104 for today.

Hi,

It's missing a patch for gpio part [1].

[1] https://lkml.org/lkml/2020/9/26/398

Best Regards
Michał Mirosław

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

* Re: [PATCH 1/5] gpio: tps65910: use regmap accessors
  2020-09-26 23:59 ` [PATCH 1/5] gpio: " Michał Mirosław
  2020-09-28 10:19   ` Bartosz Golaszewski
  2020-09-30  8:44   ` Linus Walleij
@ 2020-11-05  7:56   ` Linus Walleij
  2020-11-10 13:48   ` Lee Jones
  3 siblings, 0 replies; 20+ messages in thread
From: Linus Walleij @ 2020-11-05  7:56 UTC (permalink / raw)
  To: Michał Mirosław
  Cc: Bartosz Golaszewski, Lee Jones, Liam Girdwood, Mark Brown,
	Tony Lindgren, open list:GPIO SUBSYSTEM, linux-kernel,
	Linux-OMAP

On Sun, Sep 27, 2020 at 1:59 AM Michał Mirosław <mirq-linux@rere.qmqm.pl> wrote:

> Use regmap accessors directly for register manipulation - removing one
> layer of abstraction.
>
> Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>

Acked-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij

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

* Re: [PATCH 1/5] gpio: tps65910: use regmap accessors
  2020-11-05  1:47         ` Michał Mirosław
  2020-11-05  1:50           ` linux-next: build failure after merge of the mfd tree Stephen Rothwell
@ 2020-11-05  8:13           ` Lee Jones
  2020-11-10 13:37             ` Linus Walleij
  1 sibling, 1 reply; 20+ messages in thread
From: Lee Jones @ 2020-11-05  8:13 UTC (permalink / raw)
  To: Michał Mirosław
  Cc: Linus Walleij, Bartosz Golaszewski, Liam Girdwood, Mark Brown,
	Tony Lindgren, open list:GPIO SUBSYSTEM, linux-kernel,
	Linux-OMAP

On Thu, 05 Nov 2020, Michał Mirosław wrote:

> On Wed, Nov 04, 2020 at 02:43:31PM +0000, Lee Jones wrote:
> > On Thu, 01 Oct 2020, Lee Jones wrote:
> > > On Wed, 30 Sep 2020, Linus Walleij wrote:
> > > > On Sun, Sep 27, 2020 at 1:59 AM Michał Mirosław <mirq-linux@rere.qmqm.pl> wrote:
> > > > > Use regmap accessors directly for register manipulation - removing one
> > > > > layer of abstraction.
> > > > >
> > > > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
> > > > Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
> > > > 
> > > > I suppose it is easiest that Lee apply all patches to the MFD tree?
> > > Yes, that's fine.
> > I think this patch is orthogonal right?
> > 
> > Not sure why it need to go in via MFD.
> [...]
> 
> The patch 4 assumes all previous patches are applied (or there will be
> build breakage).

Okay, no problem.

Linus, do you want a PR?

-- 
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog

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

* Re: linux-next: build failure after merge of the mfd tree
  2020-11-05  1:57             ` Michał Mirosław
@ 2020-11-05  9:09               ` Lee Jones
  0 siblings, 0 replies; 20+ messages in thread
From: Lee Jones @ 2020-11-05  9:09 UTC (permalink / raw)
  To: Michał Mirosław
  Cc: Stephen Rothwell, Linus Walleij, Linux Kernel Mailing List,
	Linux Next Mailing List

On Thu, 05 Nov 2020, Michał Mirosław wrote:

> On Thu, Nov 05, 2020 at 12:50:27PM +1100, Stephen Rothwell wrote:
> > Hi all,
> > 
> > After merging the mfd tree, today's linux-next build (arm
> > multi_v7_defconfig) failed like this:
> > 
> > drivers/gpio/gpio-tps65910.c: In function 'tps65910_gpio_get':
> > drivers/gpio/gpio-tps65910.c:31:2: error: implicit declaration of function 'tps65910_reg_read' [-Werror=implicit-function-declaration]
> >    31 |  tps65910_reg_read(tps65910, TPS65910_GPIO0 + offset, &val);
> >       |  ^~~~~~~~~~~~~~~~~
> > drivers/gpio/gpio-tps65910.c: In function 'tps65910_gpio_set':
> > drivers/gpio/gpio-tps65910.c:46:3: error: implicit declaration of function 'tps65910_reg_set_bits' [-Werror=implicit-function-declaration]
> >    46 |   tps65910_reg_set_bits(tps65910, TPS65910_GPIO0 + offset,
> >       |   ^~~~~~~~~~~~~~~~~~~~~
> > drivers/gpio/gpio-tps65910.c:49:3: error: implicit declaration of function 'tps65910_reg_clear_bits' [-Werror=implicit-function-declaration]
> >    49 |   tps65910_reg_clear_bits(tps65910, TPS65910_GPIO0 + offset,
> >       |   ^~~~~~~~~~~~~~~~~~~~~~~
> > 
> > Caused by commit
> > 
> >   23feb2c3367c ("mfd: tps65910: Clean up after switching to regmap")
> > 
> > I have used the version of the mfd tree from next-20201104 for today.
> 
> Hi,
> 
> It's missing a patch for gpio part [1].
> 
> [1] https://lkml.org/lkml/2020/9/26/398

I'm aware of it.  Just waiting for Linus' reply.

-- 
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog

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

* Re: [PATCH 1/5] gpio: tps65910: use regmap accessors
  2020-11-05  8:13           ` [PATCH 1/5] gpio: tps65910: use regmap accessors Lee Jones
@ 2020-11-10 13:37             ` Linus Walleij
  0 siblings, 0 replies; 20+ messages in thread
From: Linus Walleij @ 2020-11-10 13:37 UTC (permalink / raw)
  To: Lee Jones
  Cc: Michał Mirosław, Bartosz Golaszewski, Liam Girdwood,
	Mark Brown, Tony Lindgren, open list:GPIO SUBSYSTEM,
	linux-kernel, Linux-OMAP

On Thu, Nov 5, 2020 at 9:13 AM Lee Jones <lee.jones@linaro.org> wrote:

> > The patch 4 assumes all previous patches are applied (or there will be
> > build breakage).
>
> Okay, no problem.
>
> Linus, do you want a PR?

Nah let's optimistically assume it's not needed. I don't see a lot
of changes around here this merge window.

Thanks for sorting out this merge!

Yours,
Linus Walleij

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

* Re: [PATCH 1/5] gpio: tps65910: use regmap accessors
  2020-09-26 23:59 ` [PATCH 1/5] gpio: " Michał Mirosław
                     ` (2 preceding siblings ...)
  2020-11-05  7:56   ` Linus Walleij
@ 2020-11-10 13:48   ` Lee Jones
  3 siblings, 0 replies; 20+ messages in thread
From: Lee Jones @ 2020-11-10 13:48 UTC (permalink / raw)
  To: Michał Mirosław
  Cc: Linus Walleij, Bartosz Golaszewski, Liam Girdwood, Mark Brown,
	Tony Lindgren, linux-gpio, linux-kernel, linux-omap

On Sun, 27 Sep 2020, Michał Mirosław wrote:

> Use regmap accessors directly for register manipulation - removing one
> layer of abstraction.
> 
> Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
> ---
>  drivers/gpio/gpio-tps65910.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)

Applied, thanks.

-- 
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog

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

end of thread, other threads:[~2020-11-10 13:48 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-26 23:59 [PATCH 0/5] tps65910: cleanup regmap use Michał Mirosław
2020-09-26 23:59 ` [PATCH 2/5] regulator: tps65910: use regmap accessors Michał Mirosław
2020-09-26 23:59 ` [PATCH 1/5] gpio: " Michał Mirosław
2020-09-28 10:19   ` Bartosz Golaszewski
2020-09-30  8:44   ` Linus Walleij
2020-10-01  9:01     ` Lee Jones
2020-11-04 14:43       ` Lee Jones
2020-11-05  1:47         ` Michał Mirosław
2020-11-05  1:50           ` linux-next: build failure after merge of the mfd tree Stephen Rothwell
2020-11-05  1:57             ` Michał Mirosław
2020-11-05  9:09               ` Lee Jones
2020-11-05  8:13           ` [PATCH 1/5] gpio: tps65910: use regmap accessors Lee Jones
2020-11-10 13:37             ` Linus Walleij
2020-11-05  7:56   ` Linus Walleij
2020-11-10 13:48   ` Lee Jones
2020-09-26 23:59 ` [PATCH 3/5] mfd: tps65911-comparator: " Michał Mirosław
2020-11-04 14:44   ` Lee Jones
2020-09-26 23:59 ` [PATCH 4/5] mfd: tps65910: clean up after switching to regmap Michał Mirosław
2020-11-04 14:45   ` Lee Jones
2020-09-26 23:59 ` [PATCH 5/5] mfd: tps65910: remove unused pointers Michał Mirosław

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.