public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH V4 1/3] mfd: da9062: Use MFD_CELL_OF macro
@ 2023-03-09  9:22 Christoph Niedermaier
  2023-03-09  9:22 ` [PATCH V4 2/3] mfd: da9062: Remove IRQ requirement Christoph Niedermaier
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Christoph Niedermaier @ 2023-03-09  9:22 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Christoph Niedermaier, Support Opensource, Lee Jones,
	Adam Thomson, Liam Girdwood, Mark Brown, Marek Vasut, kernel,
	linux-kernel

Use MFD_CELL_OF macro helper instead of plain struct properties, which makes
the code a bit shorter and to have commonly defined MFD cell attributes.

Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
Acked-by: Adam Ward <DLG-Adam.Ward.opensource@dm.renesas.com>
---
Cc: Support Opensource <support.opensource@diasemi.com>
Cc: Lee Jones <lee@kernel.org>
Cc: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Marek Vasut <marex@denx.de>
Cc: kernel@dh-electronics.com
Cc: linux-kernel@vger.kernel.org
To: linux-arm-kernel@lists.infradead.org
---
V3: - Add this patch to the series
V4: - Rebase on current next 20230309
    - Add Acked-by tag
---
 drivers/mfd/da9062-core.c | 92 +++++++++++++----------------------------------
 1 file changed, 24 insertions(+), 68 deletions(-)

diff --git a/drivers/mfd/da9062-core.c b/drivers/mfd/da9062-core.c
index 40cde51e5719..9418c58c2b06 100644
--- a/drivers/mfd/da9062-core.c
+++ b/drivers/mfd/da9062-core.c
@@ -182,34 +182,16 @@ static const struct resource da9061_onkey_resources[] = {
 };
 
 static const struct mfd_cell da9061_devs[] = {
-	{
-		.name		= "da9061-core",
-		.num_resources	= ARRAY_SIZE(da9061_core_resources),
-		.resources	= da9061_core_resources,
-	},
-	{
-		.name		= "da9062-regulators",
-		.num_resources	= ARRAY_SIZE(da9061_regulators_resources),
-		.resources	= da9061_regulators_resources,
-	},
-	{
-		.name		= "da9061-watchdog",
-		.num_resources	= ARRAY_SIZE(da9061_wdt_resources),
-		.resources	= da9061_wdt_resources,
-		.of_compatible  = "dlg,da9061-watchdog",
-	},
-	{
-		.name		= "da9061-thermal",
-		.num_resources	= ARRAY_SIZE(da9061_thermal_resources),
-		.resources	= da9061_thermal_resources,
-		.of_compatible  = "dlg,da9061-thermal",
-	},
-	{
-		.name		= "da9061-onkey",
-		.num_resources	= ARRAY_SIZE(da9061_onkey_resources),
-		.resources	= da9061_onkey_resources,
-		.of_compatible = "dlg,da9061-onkey",
-	},
+	MFD_CELL_OF("da9061-core", da9061_core_resources, NULL, 0, 0,
+		    NULL),
+	MFD_CELL_OF("da9062-regulators", da9061_regulators_resources, NULL, 0, 0,
+		    NULL),
+	MFD_CELL_OF("da9061-watchdog", da9061_wdt_resources, NULL, 0, 0,
+		    "dlg,da9061-watchdog"),
+	MFD_CELL_OF("da9061-thermal", da9061_thermal_resources, NULL, 0, 0,
+		    "dlg,da9061-thermal"),
+	MFD_CELL_OF("da9061-onkey", da9061_onkey_resources, NULL, 0, 0,
+		    "dlg,da9061-onkey"),
 };
 
 static const struct resource da9062_core_resources[] = {
@@ -246,46 +228,20 @@ static const struct resource da9062_gpio_resources[] = {
 };
 
 static const struct mfd_cell da9062_devs[] = {
-	{
-		.name		= "da9062-core",
-		.num_resources	= ARRAY_SIZE(da9062_core_resources),
-		.resources	= da9062_core_resources,
-	},
-	{
-		.name		= "da9062-regulators",
-		.num_resources	= ARRAY_SIZE(da9062_regulators_resources),
-		.resources	= da9062_regulators_resources,
-	},
-	{
-		.name		= "da9062-watchdog",
-		.num_resources	= ARRAY_SIZE(da9062_wdt_resources),
-		.resources	= da9062_wdt_resources,
-		.of_compatible  = "dlg,da9062-watchdog",
-	},
-	{
-		.name		= "da9062-thermal",
-		.num_resources	= ARRAY_SIZE(da9062_thermal_resources),
-		.resources	= da9062_thermal_resources,
-		.of_compatible  = "dlg,da9062-thermal",
-	},
-	{
-		.name		= "da9062-rtc",
-		.num_resources	= ARRAY_SIZE(da9062_rtc_resources),
-		.resources	= da9062_rtc_resources,
-		.of_compatible  = "dlg,da9062-rtc",
-	},
-	{
-		.name		= "da9062-onkey",
-		.num_resources	= ARRAY_SIZE(da9062_onkey_resources),
-		.resources	= da9062_onkey_resources,
-		.of_compatible	= "dlg,da9062-onkey",
-	},
-	{
-		.name		= "da9062-gpio",
-		.num_resources	= ARRAY_SIZE(da9062_gpio_resources),
-		.resources	= da9062_gpio_resources,
-		.of_compatible	= "dlg,da9062-gpio",
-	},
+	MFD_CELL_OF("da9062-core", da9062_core_resources, NULL, 0, 0,
+		    NULL),
+	MFD_CELL_OF("da9062-regulators", da9062_regulators_resources, NULL, 0, 0,
+		    NULL),
+	MFD_CELL_OF("da9062-watchdog", da9062_wdt_resources, NULL, 0, 0,
+		    "dlg,da9062-watchdog"),
+	MFD_CELL_OF("da9062-thermal", da9062_thermal_resources, NULL, 0, 0,
+		    "dlg,da9062-thermal"),
+	MFD_CELL_OF("da9062-rtc", da9062_rtc_resources, NULL, 0, 0,
+		    "dlg,da9062-rtc"),
+	MFD_CELL_OF("da9062-onkey", da9062_onkey_resources, NULL, 0, 0,
+		    "dlg,da9062-onkey"),
+	MFD_CELL_OF("da9062-gpio", da9062_gpio_resources, NULL, 0, 0,
+		    "dlg,da9062-gpio"),
 };
 
 static int da9062_clear_fault_log(struct da9062 *chip)
-- 
2.11.0


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

* [PATCH V4 2/3] mfd: da9062: Remove IRQ requirement
  2023-03-09  9:22 [PATCH V4 1/3] mfd: da9062: Use MFD_CELL_OF macro Christoph Niedermaier
@ 2023-03-09  9:22 ` Christoph Niedermaier
  2023-03-16 14:00   ` Lee Jones
  2023-03-09  9:22 ` [PATCH V4 3/3] regulator: da9062: Make the use of IRQ optional Christoph Niedermaier
  2023-03-16 13:59 ` [PATCH V4 1/3] mfd: da9062: Use MFD_CELL_OF macro Lee Jones
  2 siblings, 1 reply; 12+ messages in thread
From: Christoph Niedermaier @ 2023-03-09  9:22 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Christoph Niedermaier, Support Opensource, Lee Jones,
	Adam Thomson, Liam Girdwood, Mark Brown, Marek Vasut, kernel,
	linux-kernel

This patch removes the requirement for an IRQ, because for the core
functionality IRQ isn't needed. So this makes the DA9061/62 chip
usable for designs which haven't connected the IRQ pin.

Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
Acked-by: Adam Ward <DLG-Adam.Ward.opensource@dm.renesas.com>
---
Cc: Support Opensource <support.opensource@diasemi.com>
Cc: Lee Jones <lee@kernel.org>
Cc: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Marek Vasut <marex@denx.de>
Cc: kernel@dh-electronics.com
Cc: linux-kernel@vger.kernel.org
To: linux-arm-kernel@lists.infradead.org
---
V2: - Rebase on current next 20230209
    - Add Lee Jones to Cc list
V3: - Rebase on current next 20230307
    - Use macro MFD_CELL_OF
    - Refactoring the code for use without IRQ
V4: - Rebase on current next 20230309
    - Add Acked-by tag
---
 drivers/mfd/da9062-core.c | 84 +++++++++++++++++++++++++++++++----------------
 1 file changed, 55 insertions(+), 29 deletions(-)

diff --git a/drivers/mfd/da9062-core.c b/drivers/mfd/da9062-core.c
index 9418c58c2b06..d073d5f106ec 100644
--- a/drivers/mfd/da9062-core.c
+++ b/drivers/mfd/da9062-core.c
@@ -181,7 +181,7 @@ static const struct resource da9061_onkey_resources[] = {
 	DEFINE_RES_IRQ_NAMED(DA9061_IRQ_ONKEY, "ONKEY"),
 };
 
-static const struct mfd_cell da9061_devs[] = {
+static const struct mfd_cell da9061_devs_irq[] = {
 	MFD_CELL_OF("da9061-core", da9061_core_resources, NULL, 0, 0,
 		    NULL),
 	MFD_CELL_OF("da9062-regulators", da9061_regulators_resources, NULL, 0, 0,
@@ -194,6 +194,14 @@ static const struct mfd_cell da9061_devs[] = {
 		    "dlg,da9061-onkey"),
 };
 
+static const struct mfd_cell da9061_devs_noirq[] = {
+	MFD_CELL_OF("da9061-core", NULL, NULL, 0, 0, NULL),
+	MFD_CELL_OF("da9062-regulators", NULL, NULL, 0, 0, NULL),
+	MFD_CELL_OF("da9061-watchdog", NULL, NULL, 0, 0, "dlg,da9061-watchdog"),
+	MFD_CELL_OF("da9061-thermal", NULL, NULL, 0, 0, "dlg,da9061-thermal"),
+	MFD_CELL_OF("da9061-onkey", NULL, NULL, 0, 0, "dlg,da9061-onkey"),
+};
+
 static const struct resource da9062_core_resources[] = {
 	DEFINE_RES_NAMED(DA9062_IRQ_VDD_WARN, 1, "VDD_WARN", IORESOURCE_IRQ),
 };
@@ -227,7 +235,7 @@ static const struct resource da9062_gpio_resources[] = {
 	DEFINE_RES_NAMED(DA9062_IRQ_GPI4, 1, "GPI4", IORESOURCE_IRQ),
 };
 
-static const struct mfd_cell da9062_devs[] = {
+static const struct mfd_cell da9062_devs_irq[] = {
 	MFD_CELL_OF("da9062-core", da9062_core_resources, NULL, 0, 0,
 		    NULL),
 	MFD_CELL_OF("da9062-regulators", da9062_regulators_resources, NULL, 0, 0,
@@ -244,6 +252,16 @@ static const struct mfd_cell da9062_devs[] = {
 		    "dlg,da9062-gpio"),
 };
 
+static const struct mfd_cell da9062_devs_noirq[] = {
+	MFD_CELL_OF("da9062-core", NULL, NULL, 0, 0, NULL),
+	MFD_CELL_OF("da9062-regulators", NULL, NULL, 0, 0, NULL),
+	MFD_CELL_OF("da9062-watchdog", NULL, NULL, 0, 0, "dlg,da9062-watchdog"),
+	MFD_CELL_OF("da9062-thermal", NULL, NULL, 0, 0, "dlg,da9062-thermal"),
+	MFD_CELL_OF("da9062-rtc", NULL, NULL, 0, 0, "dlg,da9062-rtc"),
+	MFD_CELL_OF("da9062-onkey", NULL, NULL, 0, 0, "dlg,da9062-onkey"),
+	MFD_CELL_OF("da9062-gpio", NULL, NULL, 0, 0, "dlg,da9062-gpio"),
+};
+
 static int da9062_clear_fault_log(struct da9062 *chip)
 {
 	int ret;
@@ -581,7 +599,7 @@ static int da9062_i2c_probe(struct i2c_client *i2c)
 {
 	const struct i2c_device_id *id = i2c_client_get_device_id(i2c);
 	struct da9062 *chip;
-	unsigned int irq_base;
+	unsigned int irq_base = 0;
 	const struct mfd_cell *cell;
 	const struct regmap_irq_chip *irq_chip;
 	const struct regmap_config *config;
@@ -601,22 +619,16 @@ static int da9062_i2c_probe(struct i2c_client *i2c)
 	i2c_set_clientdata(i2c, chip);
 	chip->dev = &i2c->dev;
 
-	if (!i2c->irq) {
-		dev_err(chip->dev, "No IRQ configured\n");
-		return -EINVAL;
-	}
-
+	/* Start with a base configuration without IRQ */
 	switch (chip->chip_type) {
 	case COMPAT_TYPE_DA9061:
-		cell = da9061_devs;
-		cell_num = ARRAY_SIZE(da9061_devs);
-		irq_chip = &da9061_irq_chip;
+		cell = da9061_devs_noirq;
+		cell_num = ARRAY_SIZE(da9061_devs_noirq);
 		config = &da9061_regmap_config;
 		break;
 	case COMPAT_TYPE_DA9062:
-		cell = da9062_devs;
-		cell_num = ARRAY_SIZE(da9062_devs);
-		irq_chip = &da9062_irq_chip;
+		cell = da9062_devs_noirq;
+		cell_num = ARRAY_SIZE(da9062_devs_noirq);
 		config = &da9062_regmap_config;
 		break;
 	default:
@@ -651,29 +663,43 @@ static int da9062_i2c_probe(struct i2c_client *i2c)
 	if (ret)
 		return ret;
 
-	ret = da9062_configure_irq_type(chip, i2c->irq, &trigger_type);
-	if (ret < 0) {
-		dev_err(chip->dev, "Failed to configure IRQ type\n");
-		return ret;
-	}
+	/* If IRQ is available, reconfigure it accordingly */
+	if (i2c->irq) {
+		if (chip->chip_type == COMPAT_TYPE_DA9061) {
+			cell = da9061_devs_irq;
+			cell_num = ARRAY_SIZE(da9061_devs_irq);
+			irq_chip = &da9061_irq_chip;
+		} else {
+			cell = da9062_devs_irq;
+			cell_num = ARRAY_SIZE(da9062_devs_irq);
+			irq_chip = &da9062_irq_chip;
+		}
 
-	ret = regmap_add_irq_chip(chip->regmap, i2c->irq,
-			trigger_type | IRQF_SHARED | IRQF_ONESHOT,
-			-1, irq_chip, &chip->regmap_irq);
-	if (ret) {
-		dev_err(chip->dev, "Failed to request IRQ %d: %d\n",
-			i2c->irq, ret);
-		return ret;
-	}
+		ret = da9062_configure_irq_type(chip, i2c->irq, &trigger_type);
+		if (ret < 0) {
+			dev_err(chip->dev, "Failed to configure IRQ type\n");
+			return ret;
+		}
 
-	irq_base = regmap_irq_chip_get_base(chip->regmap_irq);
+		ret = regmap_add_irq_chip(chip->regmap, i2c->irq,
+					  trigger_type | IRQF_SHARED | IRQF_ONESHOT,
+					  -1, irq_chip, &chip->regmap_irq);
+		if (ret) {
+			dev_err(chip->dev, "Failed to request IRQ %d: %d\n",
+				i2c->irq, ret);
+			return ret;
+		}
+
+		irq_base = regmap_irq_chip_get_base(chip->regmap_irq);
+	}
 
 	ret = mfd_add_devices(chip->dev, PLATFORM_DEVID_NONE, cell,
 			      cell_num, NULL, irq_base,
 			      NULL);
 	if (ret) {
 		dev_err(chip->dev, "Cannot register child devices\n");
-		regmap_del_irq_chip(i2c->irq, chip->regmap_irq);
+		if (i2c->irq)
+			regmap_del_irq_chip(i2c->irq, chip->regmap_irq);
 		return ret;
 	}
 
-- 
2.11.0


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

* [PATCH V4 3/3] regulator: da9062: Make the use of IRQ optional
  2023-03-09  9:22 [PATCH V4 1/3] mfd: da9062: Use MFD_CELL_OF macro Christoph Niedermaier
  2023-03-09  9:22 ` [PATCH V4 2/3] mfd: da9062: Remove IRQ requirement Christoph Niedermaier
@ 2023-03-09  9:22 ` Christoph Niedermaier
  2023-04-18 20:00   ` Christoph Niedermaier
  2023-03-16 13:59 ` [PATCH V4 1/3] mfd: da9062: Use MFD_CELL_OF macro Lee Jones
  2 siblings, 1 reply; 12+ messages in thread
From: Christoph Niedermaier @ 2023-03-09  9:22 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Christoph Niedermaier, Support Opensource, Adam Thomson,
	Liam Girdwood, Mark Brown, Marek Vasut, kernel, linux-kernel

This patch makes the use of IRQ optional to make the DA9061/62 usable
for designs that don't have the IRQ pin connected, because the regulator
is usable without IRQ.

Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
Acked-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Adam Ward <DLG-Adam.Ward.opensource@dm.renesas.com>
Reported-by: kernel test robot <lkp@intel.com>
Link: https://lore.kernel.org/oe-kbuild-all/202303082246.GuLdPL0t-lkp@intel.com/
---
Cc: Support Opensource <support.opensource@diasemi.com>
Cc: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Marek Vasut <marex@denx.de>
Cc: kernel@dh-electronics.com
Cc: linux-kernel@vger.kernel.org
To: linux-arm-kernel@lists.infradead.org
---
V2: - Rebase on current next 20230209
    - Add Reviewed-by and Acked-by tags
V3: - Rebase on current next 20230307
v4: - Rebase on current next 20230309
    - Fix a missing variable change reported by kernel test robot
---
 drivers/regulator/da9062-regulator.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/regulator/da9062-regulator.c b/drivers/regulator/da9062-regulator.c
index 1a6324001027..ae7955afce86 100644
--- a/drivers/regulator/da9062-regulator.c
+++ b/drivers/regulator/da9062-regulator.c
@@ -924,7 +924,7 @@ static int da9062_regulator_probe(struct platform_device *pdev)
 	struct da9062_regulator *regl;
 	struct regulator_config config = { };
 	const struct da9062_regulator_info *rinfo;
-	int irq, n, ret;
+	int n, ret;
 	int max_regulators;
 
 	switch (chip->chip_type) {
@@ -1012,12 +1012,11 @@ static int da9062_regulator_probe(struct platform_device *pdev)
 	}
 
 	/* LDOs overcurrent event support */
-	irq = platform_get_irq_byname(pdev, "LDO_LIM");
-	if (irq < 0)
-		return irq;
-	regulators->irq_ldo_lim = irq;
+	regulators->irq_ldo_lim = platform_get_irq_byname_optional(pdev, "LDO_LIM");
+	if (regulators->irq_ldo_lim < 0)
+		return 0;
 
-	ret = devm_request_threaded_irq(&pdev->dev, irq,
+	ret = devm_request_threaded_irq(&pdev->dev, regulators->irq_ldo_lim,
 					NULL, da9062_ldo_lim_event,
 					IRQF_TRIGGER_LOW | IRQF_ONESHOT,
 					"LDO_LIM", regulators);
-- 
2.11.0


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

* Re: [PATCH V4 1/3] mfd: da9062: Use MFD_CELL_OF macro
  2023-03-09  9:22 [PATCH V4 1/3] mfd: da9062: Use MFD_CELL_OF macro Christoph Niedermaier
  2023-03-09  9:22 ` [PATCH V4 2/3] mfd: da9062: Remove IRQ requirement Christoph Niedermaier
  2023-03-09  9:22 ` [PATCH V4 3/3] regulator: da9062: Make the use of IRQ optional Christoph Niedermaier
@ 2023-03-16 13:59 ` Lee Jones
  2 siblings, 0 replies; 12+ messages in thread
From: Lee Jones @ 2023-03-16 13:59 UTC (permalink / raw)
  To: Christoph Niedermaier
  Cc: linux-arm-kernel, Support Opensource, Adam Thomson, Liam Girdwood,
	Mark Brown, Marek Vasut, kernel, linux-kernel

On Thu, 09 Mar 2023, Christoph Niedermaier wrote:

> Use MFD_CELL_OF macro helper instead of plain struct properties, which makes
> the code a bit shorter and to have commonly defined MFD cell attributes.
>
> Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
> Acked-by: Adam Ward <DLG-Adam.Ward.opensource@dm.renesas.com>
> ---
> Cc: Support Opensource <support.opensource@diasemi.com>
> Cc: Lee Jones <lee@kernel.org>
> Cc: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
> Cc: Liam Girdwood <lgirdwood@gmail.com>
> Cc: Mark Brown <broonie@kernel.org>
> Cc: Marek Vasut <marex@denx.de>
> Cc: kernel@dh-electronics.com
> Cc: linux-kernel@vger.kernel.org
> To: linux-arm-kernel@lists.infradead.org
> ---
> V3: - Add this patch to the series
> V4: - Rebase on current next 20230309
>     - Add Acked-by tag
> ---
>  drivers/mfd/da9062-core.c | 92 +++++++++++++----------------------------------
>  1 file changed, 24 insertions(+), 68 deletions(-)

Applied, thanks

--
Lee Jones [李琼斯]

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

* Re: [PATCH V4 2/3] mfd: da9062: Remove IRQ requirement
  2023-03-09  9:22 ` [PATCH V4 2/3] mfd: da9062: Remove IRQ requirement Christoph Niedermaier
@ 2023-03-16 14:00   ` Lee Jones
  0 siblings, 0 replies; 12+ messages in thread
From: Lee Jones @ 2023-03-16 14:00 UTC (permalink / raw)
  To: Christoph Niedermaier
  Cc: linux-arm-kernel, Support Opensource, Adam Thomson, Liam Girdwood,
	Mark Brown, Marek Vasut, kernel, linux-kernel

On Thu, 09 Mar 2023, Christoph Niedermaier wrote:

> This patch removes the requirement for an IRQ, because for the core
> functionality IRQ isn't needed. So this makes the DA9061/62 chip
> usable for designs which haven't connected the IRQ pin.
>
> Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
> Acked-by: Adam Ward <DLG-Adam.Ward.opensource@dm.renesas.com>
> ---
> Cc: Support Opensource <support.opensource@diasemi.com>
> Cc: Lee Jones <lee@kernel.org>
> Cc: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
> Cc: Liam Girdwood <lgirdwood@gmail.com>
> Cc: Mark Brown <broonie@kernel.org>
> Cc: Marek Vasut <marex@denx.de>
> Cc: kernel@dh-electronics.com
> Cc: linux-kernel@vger.kernel.org
> To: linux-arm-kernel@lists.infradead.org
> ---
> V2: - Rebase on current next 20230209
>     - Add Lee Jones to Cc list
> V3: - Rebase on current next 20230307
>     - Use macro MFD_CELL_OF
>     - Refactoring the code for use without IRQ
> V4: - Rebase on current next 20230309
>     - Add Acked-by tag
> ---
>  drivers/mfd/da9062-core.c | 84 +++++++++++++++++++++++++++++++----------------
>  1 file changed, 55 insertions(+), 29 deletions(-)

Applied, thanks

--
Lee Jones [李琼斯]

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

* RE: [PATCH V4 3/3] regulator: da9062: Make the use of IRQ optional
  2023-03-09  9:22 ` [PATCH V4 3/3] regulator: da9062: Make the use of IRQ optional Christoph Niedermaier
@ 2023-04-18 20:00   ` Christoph Niedermaier
  2023-04-27 10:50     ` DLG Adam Ward
  0 siblings, 1 reply; 12+ messages in thread
From: Christoph Niedermaier @ 2023-04-18 20:00 UTC (permalink / raw)
  To: linux-arm-kernel@lists.infradead.org
  Cc: Support Opensource, Adam Thomson, Liam Girdwood, Mark Brown,
	Marek Vasut, kernel, linux-kernel@vger.kernel.org,
	Christoph Niedermaier

From: Christoph Niedermaier [mailto:cniedermaier@dh-electronics.com]
Sent: Thursday, March 9, 2023 10:23 AM
> This patch makes the use of IRQ optional to make the DA9061/62 usable
> for designs that don't have the IRQ pin connected, because the regulator
> is usable without IRQ.
> 
> Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
> Acked-by: Mark Brown <broonie@kernel.org>
> Reviewed-by: Adam Ward <DLG-Adam.Ward.opensource@dm.renesas.com>
> Reported-by: kernel test robot <lkp@intel.com>
> Link: https://lore.kernel.org/oe-kbuild-all/202303082246.GuLdPL0t-lkp@intel.com/
> ---
> Cc: Support Opensource <support.opensource@diasemi.com>
> Cc: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
> Cc: Liam Girdwood <lgirdwood@gmail.com>
> Cc: Mark Brown <broonie@kernel.org>
> Cc: Marek Vasut <marex@denx.de>
> Cc: kernel@dh-electronics.com
> Cc: linux-kernel@vger.kernel.org
> To: linux-arm-kernel@lists.infradead.org
> ---
> V2: - Rebase on current next 20230209
>     - Add Reviewed-by and Acked-by tags
> V3: - Rebase on current next 20230307
> v4: - Rebase on current next 20230309
>     - Fix a missing variable change reported by kernel test robot
> ---
>  drivers/regulator/da9062-regulator.c | 11 +++++------
>  1 file changed, 5 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/regulator/da9062-regulator.c b/drivers/regulator/da9062-regulator.c
> index 1a6324001027..ae7955afce86 100644
> --- a/drivers/regulator/da9062-regulator.c
> +++ b/drivers/regulator/da9062-regulator.c
> @@ -924,7 +924,7 @@ static int da9062_regulator_probe(struct platform_device *pdev)
>  	struct da9062_regulator *regl;
>  	struct regulator_config config = { };
>  	const struct da9062_regulator_info *rinfo;
> -	int irq, n, ret;
> +	int n, ret;
>  	int max_regulators;
> 
>  	switch (chip->chip_type) {
> @@ -1012,12 +1012,11 @@ static int da9062_regulator_probe(struct platform_device *pdev)
>  	}
> 
>  	/* LDOs overcurrent event support */
> -	irq = platform_get_irq_byname(pdev, "LDO_LIM");
> -	if (irq < 0)
> -		return irq;
> -	regulators->irq_ldo_lim = irq;
> +	regulators->irq_ldo_lim = platform_get_irq_byname_optional(pdev, "LDO_LIM");
> +	if (regulators->irq_ldo_lim < 0)
> +		return 0;
> 
> -	ret = devm_request_threaded_irq(&pdev->dev, irq,
> +	ret = devm_request_threaded_irq(&pdev->dev, regulators->irq_ldo_lim,
>  					NULL, da9062_ldo_lim_event,
>  					IRQF_TRIGGER_LOW | IRQF_ONESHOT,
>  					"LDO_LIM", regulators);

Hi,

In V3 of this patch the kernel test robot found an issue. A fix is
important, because otherwise the normal path with IRQ could have
problems. So I fixed it in V4. Any comments or is it OK how I fixed it?


Regards
Christoph


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

* RE: [PATCH V4 3/3] regulator: da9062: Make the use of IRQ optional
  2023-04-18 20:00   ` Christoph Niedermaier
@ 2023-04-27 10:50     ` DLG Adam Ward
  2023-05-07 23:40       ` Marek Vasut
  0 siblings, 1 reply; 12+ messages in thread
From: DLG Adam Ward @ 2023-04-27 10:50 UTC (permalink / raw)
  To: Christoph Niedermaier, linux-arm-kernel@lists.infradead.org
  Cc: Support Opensource, Liam Girdwood, Mark Brown, Marek Vasut,
	kernel, linux-kernel@vger.kernel.org

On 18 April 2023 21:00, Christoph Niedermaier wrote:
>In V3 of this patch the kernel test robot found an issue. A fix is important, because otherwise the normal path with IRQ could have problems. So I fixed it in V4. Any comments or is it OK how I fixed it?

Hi Christoph,

It looks fine now; sorry I didn't notice before.

Regards,
Adam

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

* Re: [PATCH V4 3/3] regulator: da9062: Make the use of IRQ optional
  2023-04-27 10:50     ` DLG Adam Ward
@ 2023-05-07 23:40       ` Marek Vasut
  2023-05-09  8:59         ` DLG Adam Ward
  0 siblings, 1 reply; 12+ messages in thread
From: Marek Vasut @ 2023-05-07 23:40 UTC (permalink / raw)
  To: DLG Adam Ward, Christoph Niedermaier,
	linux-arm-kernel@lists.infradead.org
  Cc: Support Opensource, Liam Girdwood, Mark Brown, kernel,
	linux-kernel@vger.kernel.org

On 4/27/23 12:50, DLG Adam Ward wrote:
> On 18 April 2023 21:00, Christoph Niedermaier wrote:
>> In V3 of this patch the kernel test robot found an issue. A fix is important, because otherwise the normal path with IRQ could have problems. So I fixed it in V4. Any comments or is it OK how I fixed it?
> 
> Hi Christoph,
> 
> It looks fine now; sorry I didn't notice before.

I think a formal Reviewed-by / Acked-by would be nice.

But maybe Mark can pick this 3/3 patch now either way ?

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

* RE: [PATCH V4 3/3] regulator: da9062: Make the use of IRQ optional
  2023-05-07 23:40       ` Marek Vasut
@ 2023-05-09  8:59         ` DLG Adam Ward
  2023-05-09  9:20           ` Marek Vasut
  0 siblings, 1 reply; 12+ messages in thread
From: DLG Adam Ward @ 2023-05-09  8:59 UTC (permalink / raw)
  To: Marek Vasut, DLG Adam Ward, Christoph Niedermaier,
	linux-arm-kernel@lists.infradead.org
  Cc: Support Opensource, Liam Girdwood, Mark Brown, kernel,
	linux-kernel@vger.kernel.org

On 08 May 2023 00:41, Marek Vasut wrote:

>> It looks fine now; sorry I didn't notice before.
>
>I think a formal Reviewed-by / Acked-by would be nice.

It's already there in the patch - obliquely referred to by "before", the apology because I'd missed that which the robot picked up on after I'd looked at it.


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

* Re: [PATCH V4 3/3] regulator: da9062: Make the use of IRQ optional
  2023-05-09  8:59         ` DLG Adam Ward
@ 2023-05-09  9:20           ` Marek Vasut
  2023-07-12 13:19             ` Christoph Niedermaier
  0 siblings, 1 reply; 12+ messages in thread
From: Marek Vasut @ 2023-05-09  9:20 UTC (permalink / raw)
  To: DLG Adam Ward, Christoph Niedermaier,
	linux-arm-kernel@lists.infradead.org
  Cc: Support Opensource, Liam Girdwood, Mark Brown, kernel,
	linux-kernel@vger.kernel.org

On 5/9/23 10:59, DLG Adam Ward wrote:
> On 08 May 2023 00:41, Marek Vasut wrote:
> 
>>> It looks fine now; sorry I didn't notice before.
>>
>> I think a formal Reviewed-by / Acked-by would be nice.
> 
> It's already there in the patch - obliquely referred to by "before", the apology because I'd missed that which the robot picked up on after I'd looked at it.

Ahh, in that case, sorry for the noise and thanks for the RB .

And for all its worth, patch is also:

Reviewed-by: Marek Vasut <marex@denx.de>

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

* RE: [PATCH V4 3/3] regulator: da9062: Make the use of IRQ optional
  2023-05-09  9:20           ` Marek Vasut
@ 2023-07-12 13:19             ` Christoph Niedermaier
  2023-07-13  9:18               ` Christoph Niedermaier
  0 siblings, 1 reply; 12+ messages in thread
From: Christoph Niedermaier @ 2023-07-12 13:19 UTC (permalink / raw)
  To: Marek Vasut, DLG Adam Ward, linux-arm-kernel@lists.infradead.org
  Cc: Support Opensource, Liam Girdwood, Mark Brown, kernel,
	linux-kernel@vger.kernel.org

> From: Marek Vasut [mailto:marex@denx.de]
> Sent: Tuesday, May 9, 2023 11:21 AM
> To: DLG Adam Ward <DLG-Adam.Ward.opensource@dm.renesas.com>; Christoph Niedermaier
> <cniedermaier@dh-electronics.com>; linux-arm-kernel@lists.infradead.org
> Cc: Support Opensource <support.opensource@diasemi.com>; Liam Girdwood
> <lgirdwood@gmail.com>; Mark Brown <broonie@kernel.org>; kernel <kernel@dh-
> electronics.com>; linux-kernel@vger.kernel.org
> Subject: Re: [PATCH V4 3/3] regulator: da9062: Make the use of IRQ optional
> 
> ACHTUNG: Diese E-Mail wurde von Extern an Dich gesendet. Bitte klicke deshalb nicht auf
> Links in der E-Mail! Falls das Öffnen erforderlich ist, bitte Links zuvor auf
> Authentizität überprüfen – im Zweifelsfall bitte zuerst bei der IT nachfragen!
> 
> On 5/9/23 10:59, DLG Adam Ward wrote:
> > On 08 May 2023 00:41, Marek Vasut wrote:
> >
> >>> It looks fine now; sorry I didn't notice before.
> >>
> >> I think a formal Reviewed-by / Acked-by would be nice.
> >
> > It's already there in the patch - obliquely referred to by "before", the apology because
> I'd missed that which the robot picked up on after I'd looked at it.
> 
> Ahh, in that case, sorry for the noise and thanks for the RB .
> 
> And for all its worth, patch is also:
> 
> Reviewed-by: Marek Vasut <marex@denx.de>

I was wondering how to continue with this patch. Is there anything against
picking this patch or did I miss it?


Thanks and regards
Christoph

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

* RE: [PATCH V4 3/3] regulator: da9062: Make the use of IRQ optional
  2023-07-12 13:19             ` Christoph Niedermaier
@ 2023-07-13  9:18               ` Christoph Niedermaier
  0 siblings, 0 replies; 12+ messages in thread
From: Christoph Niedermaier @ 2023-07-13  9:18 UTC (permalink / raw)
  To: Marek Vasut, DLG Adam Ward, linux-arm-kernel@lists.infradead.org
  Cc: Support Opensource, Liam Girdwood, Mark Brown, kernel,
	linux-kernel@vger.kernel.org

From: Christoph Niedermaier
Sent: Wednesday, July 12, 2023 3:20 PM
>> On 5/9/23 10:59, DLG Adam Ward wrote:
>>> On 08 May 2023 00:41, Marek Vasut wrote:
>>>
>>>>> It looks fine now; sorry I didn't notice before.
>>>>
>>>> I think a formal Reviewed-by / Acked-by would be nice.
>>>
>>> It's already there in the patch - obliquely referred to by "before", the apology because
>> I'd missed that which the robot picked up on after I'd looked at it.
>>
>> Ahh, in that case, sorry for the noise and thanks for the RB .
>>
>> And for all its worth, patch is also:
>>
>> Reviewed-by: Marek Vasut <marex@denx.de>
> 
> I was wondering how to continue with this patch. Is there anything against
> picking this patch or did I miss it?

To make it easier I will rebase this leftover
patch on the current next and send it as V5.

Regards
Christoph

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

end of thread, other threads:[~2023-07-13  9:30 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-09  9:22 [PATCH V4 1/3] mfd: da9062: Use MFD_CELL_OF macro Christoph Niedermaier
2023-03-09  9:22 ` [PATCH V4 2/3] mfd: da9062: Remove IRQ requirement Christoph Niedermaier
2023-03-16 14:00   ` Lee Jones
2023-03-09  9:22 ` [PATCH V4 3/3] regulator: da9062: Make the use of IRQ optional Christoph Niedermaier
2023-04-18 20:00   ` Christoph Niedermaier
2023-04-27 10:50     ` DLG Adam Ward
2023-05-07 23:40       ` Marek Vasut
2023-05-09  8:59         ` DLG Adam Ward
2023-05-09  9:20           ` Marek Vasut
2023-07-12 13:19             ` Christoph Niedermaier
2023-07-13  9:18               ` Christoph Niedermaier
2023-03-16 13:59 ` [PATCH V4 1/3] mfd: da9062: Use MFD_CELL_OF macro Lee Jones

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox