public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/3] Add TI TPS65215 PMIC GPIO Support
@ 2025-01-13 22:55 Shree Ramamoorthy
  2025-01-13 22:55 ` [PATCH v3 1/3] gpio: tps65215: Add TPS65215 to platform_device_id table Shree Ramamoorthy
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Shree Ramamoorthy @ 2025-01-13 22:55 UTC (permalink / raw)
  To: aaro.koskinen, andreas, khilman, rogerq, tony, linus.walleij,
	brgl, linux-omap, linux-kernel, linux-gpio
  Cc: m-leonard, praneeth, christophe.jaillet

TPS65215 is a Power Management Integrated Circuit (PMIC) that has
significant register map overlap with TPS65219. The series introduces
TPS65215 and restructures the existing driver to support multiple devices.

This follow-up series is dependent on:
Commit f84464ec8190 ("regulator: dt-bindings: Add TI TPS65215 PMIC bindings")
Commit 8206c20f4c82 ("mfd: tps65215: Add support for TI TPS65215 PMIC")
Commit 0e0b7f00c111 ("mfd: tps65215: Remove regmap_read check")

TPS65219 Cleanup Series:
GPIO: https://lore.kernel.org/all/20241217204755.1011731-1-s-ramamoorthy@ti.com/
MFD: https://lore.kernel.org/all/20241217204935.1012106-1-s-ramamoorthy@ti.com/
Reg: https://lore.kernel.org/all/20241217204526.1010989-1-s-ramamoorthy@ti.com/

- Both TPS65215 and TPS65219 have 3 Buck regulators.
- TPS65215 has 2 LDOs, whereas TPS65219 has 4 LDOs.
- TPS65215 and TPS65219's LDO1 are the same.
- TPS65215's LDO2 maps to TPS65219's LDO3.
- TPS65215 has 1 GPO, whereas TPS65219 has 2 GPOs.
- The remaining features are the same.

TPS65215 TRM: https://www.ti.com/lit/pdf/slvucw5/

AM62L + TPS65215 Test Logs:
https://gist.github.com/ramamoorthyhs/7560eca6110fafc77b51894fa2c0fd22

---
Change Log:
v2 -> v3:
- Correct gpio_chip.ngpio line to use .offset field
- Remove unnecessary newlines

v1 -> v2:
- have any PMIC lists be in alpha-numeric order: TPS65215, then TPS65219
- remove comma after terminator
- Add driver prefix to chip_data struct
---

Shree Ramamoorthy (3):
  gpio: tps65215: Add TPS65215 to platform_device_id table
  gpio: tps65215: Update GPIO0_IDX macro prefix
  gpio tps65215: Add support for varying gpio/offset values

 drivers/gpio/gpio-tps65219.c | 55 +++++++++++++++++++++++++++---------
 1 file changed, 41 insertions(+), 14 deletions(-)

-- 
2.43.0


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

* [PATCH v3 1/3] gpio: tps65215: Add TPS65215 to platform_device_id table
  2025-01-13 22:55 [PATCH v3 0/3] Add TI TPS65215 PMIC GPIO Support Shree Ramamoorthy
@ 2025-01-13 22:55 ` Shree Ramamoorthy
  2025-01-17 17:46   ` kernel test robot
  2025-01-17 19:33   ` kernel test robot
  2025-01-13 22:55 ` [PATCH v3 2/3] gpio: tps65215: Update GPIO0_IDX macro prefix Shree Ramamoorthy
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 12+ messages in thread
From: Shree Ramamoorthy @ 2025-01-13 22:55 UTC (permalink / raw)
  To: aaro.koskinen, andreas, khilman, rogerq, tony, linus.walleij,
	brgl, linux-omap, linux-kernel, linux-gpio
  Cc: m-leonard, praneeth, christophe.jaillet

Add platform_device_id struct and use the platform_get_device_id() output
to match which PMIC device is in use. With new name options, the gpio_chip
.label field is now assigned to the platform_device name match.

Remove MODULE_ALIAS since it is now generated by MODULE_DEVICE_TABLE.

Signed-off-by: Shree Ramamoorthy <s-ramamoorthy@ti.com>
---
 drivers/gpio/gpio-tps65219.c | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/drivers/gpio/gpio-tps65219.c b/drivers/gpio/gpio-tps65219.c
index 526640c39a11..7e03be0c7c92 100644
--- a/drivers/gpio/gpio-tps65219.c
+++ b/drivers/gpio/gpio-tps65219.c
@@ -1,8 +1,8 @@
 // SPDX-License-Identifier: GPL-2.0
 /*
- * GPIO driver for TI TPS65219 PMICs
+ * GPIO driver for TI TPS65215/TPS65219 PMICs
  *
- * Copyright (C) 2022 Texas Instruments Incorporated - http://www.ti.com/
+ * Copyright (C) 2024 Texas Instruments Incorporated - http://www.ti.com/
  */
 
 #include <linux/bits.h>
@@ -141,7 +141,6 @@ static int tps65219_gpio_direction_output(struct gpio_chip *gc, unsigned int off
 }
 
 static const struct gpio_chip tps65219_template_chip = {
-	.label			= "tps65219-gpio",
 	.owner			= THIS_MODULE,
 	.get_direction		= tps65219_gpio_get_direction,
 	.direction_input	= tps65219_gpio_direction_input,
@@ -164,20 +163,28 @@ static int tps65219_gpio_probe(struct platform_device *pdev)
 
 	gpio->tps = tps;
 	gpio->gpio_chip = tps65219_template_chip;
+	gpio->gpio_chip.label = dev_name(&pdev->dev);
 	gpio->gpio_chip.parent = tps->dev;
 
 	return devm_gpiochip_add_data(&pdev->dev, &gpio->gpio_chip, gpio);
 }
 
+static const struct platform_device_id tps6521x_gpio_id_table[] = {
+	{ "tps65215-gpio", TPS65215 },
+	{ "tps65219-gpio", TPS65219 },
+	{ }
+};
+MODULE_DEVICE_TABLE(platform, tps6521x_gpio_id_table);
+
 static struct platform_driver tps65219_gpio_driver = {
 	.driver = {
 		.name = "tps65219-gpio",
 	},
 	.probe = tps65219_gpio_probe,
+	.id_table = tps6521x_gpio_id_table,
 };
 module_platform_driver(tps65219_gpio_driver);
 
-MODULE_ALIAS("platform:tps65219-gpio");
 MODULE_AUTHOR("Jonathan Cormier <jcormier@criticallink.com>");
-MODULE_DESCRIPTION("TPS65219 GPIO driver");
+MODULE_DESCRIPTION("TPS65215/TPS65219 GPIO driver");
 MODULE_LICENSE("GPL");
-- 
2.43.0


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

* [PATCH v3 2/3] gpio: tps65215: Update GPIO0_IDX macro prefix
  2025-01-13 22:55 [PATCH v3 0/3] Add TI TPS65215 PMIC GPIO Support Shree Ramamoorthy
  2025-01-13 22:55 ` [PATCH v3 1/3] gpio: tps65215: Add TPS65215 to platform_device_id table Shree Ramamoorthy
@ 2025-01-13 22:55 ` Shree Ramamoorthy
  2025-01-13 22:55 ` [PATCH v3 3/3] gpio tps65215: Add support for varying gpio/offset values Shree Ramamoorthy
  2025-02-07  8:53 ` [PATCH v3 0/3] Add TI TPS65215 PMIC GPIO Support Bartosz Golaszewski
  3 siblings, 0 replies; 12+ messages in thread
From: Shree Ramamoorthy @ 2025-01-13 22:55 UTC (permalink / raw)
  To: aaro.koskinen, andreas, khilman, rogerq, tony, linus.walleij,
	brgl, linux-omap, linux-kernel, linux-gpio
  Cc: m-leonard, praneeth, christophe.jaillet

Updating the macro name to TPS6521X_GPIO0_IDX is meant to indicate this
macro applies to both PMIC devices.

Signed-off-by: Shree Ramamoorthy <s-ramamoorthy@ti.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
---
 drivers/gpio/gpio-tps65219.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpio/gpio-tps65219.c b/drivers/gpio/gpio-tps65219.c
index 7e03be0c7c92..70a4410c473a 100644
--- a/drivers/gpio/gpio-tps65219.c
+++ b/drivers/gpio/gpio-tps65219.c
@@ -14,7 +14,7 @@
 
 #define TPS65219_GPIO0_DIR_MASK		BIT(3)
 #define TPS65219_GPIO0_OFFSET		2
-#define TPS65219_GPIO0_IDX		0
+#define TPS6521X_GPIO0_IDX			0
 
 struct tps65219_gpio {
 	struct gpio_chip gpio_chip;
@@ -26,7 +26,7 @@ static int tps65219_gpio_get_direction(struct gpio_chip *gc, unsigned int offset
 	struct tps65219_gpio *gpio = gpiochip_get_data(gc);
 	int ret, val;
 
-	if (offset != TPS65219_GPIO0_IDX)
+	if (offset != TPS6521X_GPIO0_IDX)
 		return GPIO_LINE_DIRECTION_OUT;
 
 	ret = regmap_read(gpio->tps->regmap, TPS65219_REG_MFP_1_CONFIG, &val);
@@ -42,7 +42,7 @@ static int tps65219_gpio_get(struct gpio_chip *gc, unsigned int offset)
 	struct device *dev = gpio->tps->dev;
 	int ret, val;
 
-	if (offset != TPS65219_GPIO0_IDX) {
+	if (offset != TPS6521X_GPIO0_IDX) {
 		dev_err(dev, "GPIO%d is output only, cannot get\n", offset);
 		return -ENOTSUPP;
 	}
@@ -71,7 +71,7 @@ static void tps65219_gpio_set(struct gpio_chip *gc, unsigned int offset, int val
 	struct device *dev = gpio->tps->dev;
 	int v, mask, bit;
 
-	bit = (offset == TPS65219_GPIO0_IDX) ? TPS65219_GPIO0_OFFSET : offset - 1;
+	bit = (offset == TPS6521X_GPIO0_IDX) ? TPS65219_GPIO0_OFFSET : offset - 1;
 
 	mask = BIT(bit);
 	v = value ? mask : 0;
@@ -117,7 +117,7 @@ static int tps65219_gpio_direction_input(struct gpio_chip *gc, unsigned int offs
 	struct tps65219_gpio *gpio = gpiochip_get_data(gc);
 	struct device *dev = gpio->tps->dev;
 
-	if (offset != TPS65219_GPIO0_IDX) {
+	if (offset != TPS6521X_GPIO0_IDX) {
 		dev_err(dev, "GPIO%d is output only, cannot change to input\n", offset);
 		return -ENOTSUPP;
 	}
@@ -131,7 +131,7 @@ static int tps65219_gpio_direction_input(struct gpio_chip *gc, unsigned int offs
 static int tps65219_gpio_direction_output(struct gpio_chip *gc, unsigned int offset, int value)
 {
 	tps65219_gpio_set(gc, offset, value);
-	if (offset != TPS65219_GPIO0_IDX)
+	if (offset != TPS6521X_GPIO0_IDX)
 		return 0;
 
 	if (tps65219_gpio_get_direction(gc, offset) == GPIO_LINE_DIRECTION_OUT)
-- 
2.43.0


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

* [PATCH v3 3/3] gpio tps65215: Add support for varying gpio/offset values
  2025-01-13 22:55 [PATCH v3 0/3] Add TI TPS65215 PMIC GPIO Support Shree Ramamoorthy
  2025-01-13 22:55 ` [PATCH v3 1/3] gpio: tps65215: Add TPS65215 to platform_device_id table Shree Ramamoorthy
  2025-01-13 22:55 ` [PATCH v3 2/3] gpio: tps65215: Update GPIO0_IDX macro prefix Shree Ramamoorthy
@ 2025-01-13 22:55 ` Shree Ramamoorthy
  2025-01-17 19:34   ` kernel test robot
  2025-02-07  8:53 ` [PATCH v3 0/3] Add TI TPS65215 PMIC GPIO Support Bartosz Golaszewski
  3 siblings, 1 reply; 12+ messages in thread
From: Shree Ramamoorthy @ 2025-01-13 22:55 UTC (permalink / raw)
  To: aaro.koskinen, andreas, khilman, rogerq, tony, linus.walleij,
	brgl, linux-omap, linux-kernel, linux-gpio
  Cc: m-leonard, praneeth, christophe.jaillet

Add device-specific structs to select the different PMIC .npgio and .offset
values. With the chip_data struct values selected based on the match data,
having a separate GPIO0_OFFSET macro is no longer needed.

Signed-off-by: Shree Ramamoorthy <s-ramamoorthy@ti.com>
---
 drivers/gpio/gpio-tps65219.c | 28 ++++++++++++++++++++++++----
 1 file changed, 24 insertions(+), 4 deletions(-)

diff --git a/drivers/gpio/gpio-tps65219.c b/drivers/gpio/gpio-tps65219.c
index 70a4410c473a..f2d8fd65d422 100644
--- a/drivers/gpio/gpio-tps65219.c
+++ b/drivers/gpio/gpio-tps65219.c
@@ -13,7 +13,6 @@
 #include <linux/regmap.h>
 
 #define TPS65219_GPIO0_DIR_MASK		BIT(3)
-#define TPS65219_GPIO0_OFFSET		2
 #define TPS6521X_GPIO0_IDX			0
 
 struct tps65219_gpio {
@@ -21,6 +20,11 @@ struct tps65219_gpio {
 	struct tps65219 *tps;
 };
 
+struct tps65219_chip_data {
+	int ngpio;
+	int offset;
+};
+
 static int tps65219_gpio_get_direction(struct gpio_chip *gc, unsigned int offset)
 {
 	struct tps65219_gpio *gpio = gpiochip_get_data(gc);
@@ -71,7 +75,7 @@ static void tps65219_gpio_set(struct gpio_chip *gc, unsigned int offset, int val
 	struct device *dev = gpio->tps->dev;
 	int v, mask, bit;
 
-	bit = (offset == TPS6521X_GPIO0_IDX) ? TPS65219_GPIO0_OFFSET : offset - 1;
+	bit = (offset == TPS6521X_GPIO0_IDX) ? (gpio->gpio_chip.offset - 1) : offset - 1;
 
 	mask = BIT(bit);
 	v = value ? mask : 0;
@@ -148,14 +152,28 @@ static const struct gpio_chip tps65219_template_chip = {
 	.get			= tps65219_gpio_get,
 	.set			= tps65219_gpio_set,
 	.base			= -1,
-	.ngpio			= 3,
 	.can_sleep		= true,
 };
 
+static const struct tps65219_chip_data chip_info_table[] = {
+	[TPS65215] = {
+		.ngpio = 2,
+		.offset = 1,
+	},
+	[TPS65219] = {
+		.ngpio = 3,
+		.offset = 2,
+	},
+};
+
 static int tps65219_gpio_probe(struct platform_device *pdev)
 {
-	struct tps65219 *tps = dev_get_drvdata(pdev->dev.parent);
 	struct tps65219_gpio *gpio;
+	const struct tps65219_chip_data *pmic;
+
+	struct tps65219 *tps = dev_get_drvdata(pdev->dev.parent);
+	enum pmic_id chip = platform_get_device_id(pdev)->driver_data;
+	pmic = &chip_info_table[chip];
 
 	gpio = devm_kzalloc(&pdev->dev, sizeof(*gpio), GFP_KERNEL);
 	if (!gpio)
@@ -164,6 +182,8 @@ static int tps65219_gpio_probe(struct platform_device *pdev)
 	gpio->tps = tps;
 	gpio->gpio_chip = tps65219_template_chip;
 	gpio->gpio_chip.label = dev_name(&pdev->dev);
+	gpio->gpio_chip.ngpio =  pmic->ngpio;
+	gpio->gpio_chip.offset = pmic->offset;
 	gpio->gpio_chip.parent = tps->dev;
 
 	return devm_gpiochip_add_data(&pdev->dev, &gpio->gpio_chip, gpio);
-- 
2.43.0


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

* Re: [PATCH v3 1/3] gpio: tps65215: Add TPS65215 to platform_device_id table
  2025-01-13 22:55 ` [PATCH v3 1/3] gpio: tps65215: Add TPS65215 to platform_device_id table Shree Ramamoorthy
@ 2025-01-17 17:46   ` kernel test robot
  2025-01-17 19:33   ` kernel test robot
  1 sibling, 0 replies; 12+ messages in thread
From: kernel test robot @ 2025-01-17 17:46 UTC (permalink / raw)
  To: Shree Ramamoorthy, aaro.koskinen, andreas, khilman, rogerq, tony,
	linus.walleij, brgl, linux-omap, linux-kernel, linux-gpio
  Cc: llvm, oe-kbuild-all, m-leonard, praneeth, christophe.jaillet

Hi Shree,

kernel test robot noticed the following build errors:

[auto build test ERROR on next-20250113]
[also build test ERROR on linus/master v6.13-rc7]
[cannot apply to tmlind-omap/for-next v6.13-rc7 v6.13-rc6 v6.13-rc5]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Shree-Ramamoorthy/gpio-tps65215-Add-TPS65215-to-platform_device_id-table/20250114-065813
base:   next-20250113
patch link:    https://lore.kernel.org/r/20250113225530.124213-2-s-ramamoorthy%40ti.com
patch subject: [PATCH v3 1/3] gpio: tps65215: Add TPS65215 to platform_device_id table
config: i386-randconfig-004-20250117 (https://download.01.org/0day-ci/archive/20250118/202501180129.Eu47rQjQ-lkp@intel.com/config)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250118/202501180129.Eu47rQjQ-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202501180129.Eu47rQjQ-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/gpio/gpio-tps65219.c:173:21: error: use of undeclared identifier 'TPS65215'
     173 |         { "tps65215-gpio", TPS65215 },
         |                            ^
>> drivers/gpio/gpio-tps65219.c:177:1: error: definition of variable with array type needs an explicit size or an initializer
     177 | MODULE_DEVICE_TABLE(platform, tps6521x_gpio_id_table);
         | ^
   include/linux/module.h:250:21: note: expanded from macro 'MODULE_DEVICE_TABLE'
     250 | extern typeof(name) __mod_device_table__##type##__##name                \
         |                     ^
   <scratch space>:249:1: note: expanded from here
     249 | __mod_device_table__platform__tps6521x_gpio_id_table
         | ^
   2 errors generated.


vim +/TPS65215 +173 drivers/gpio/gpio-tps65219.c

   171	
   172	static const struct platform_device_id tps6521x_gpio_id_table[] = {
 > 173		{ "tps65215-gpio", TPS65215 },
   174		{ "tps65219-gpio", TPS65219 },
   175		{ }
   176	};
 > 177	MODULE_DEVICE_TABLE(platform, tps6521x_gpio_id_table);
   178	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH v3 1/3] gpio: tps65215: Add TPS65215 to platform_device_id table
  2025-01-13 22:55 ` [PATCH v3 1/3] gpio: tps65215: Add TPS65215 to platform_device_id table Shree Ramamoorthy
  2025-01-17 17:46   ` kernel test robot
@ 2025-01-17 19:33   ` kernel test robot
  1 sibling, 0 replies; 12+ messages in thread
From: kernel test robot @ 2025-01-17 19:33 UTC (permalink / raw)
  To: Shree Ramamoorthy, aaro.koskinen, andreas, khilman, rogerq, tony,
	linus.walleij, brgl, linux-omap, linux-kernel, linux-gpio
  Cc: oe-kbuild-all, m-leonard, praneeth, christophe.jaillet

Hi Shree,

kernel test robot noticed the following build errors:

[auto build test ERROR on next-20250113]
[also build test ERROR on linus/master v6.13-rc7]
[cannot apply to tmlind-omap/for-next v6.13-rc7 v6.13-rc6 v6.13-rc5]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Shree-Ramamoorthy/gpio-tps65215-Add-TPS65215-to-platform_device_id-table/20250114-065813
base:   next-20250113
patch link:    https://lore.kernel.org/r/20250113225530.124213-2-s-ramamoorthy%40ti.com
patch subject: [PATCH v3 1/3] gpio: tps65215: Add TPS65215 to platform_device_id table
config: i386-randconfig-003-20250117 (https://download.01.org/0day-ci/archive/20250118/202501180342.Bi6C2Axf-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250118/202501180342.Bi6C2Axf-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202501180342.Bi6C2Axf-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/gpio/gpio-tps65219.c:173:28: error: 'TPS65215' undeclared here (not in a function); did you mean 'TPS65219'?
     173 |         { "tps65215-gpio", TPS65215 },
         |                            ^~~~~~~~
         |                            TPS65219


vim +173 drivers/gpio/gpio-tps65219.c

   171	
   172	static const struct platform_device_id tps6521x_gpio_id_table[] = {
 > 173		{ "tps65215-gpio", TPS65215 },
   174		{ "tps65219-gpio", TPS65219 },
   175		{ }
   176	};
   177	MODULE_DEVICE_TABLE(platform, tps6521x_gpio_id_table);
   178	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH v3 3/3] gpio tps65215: Add support for varying gpio/offset values
  2025-01-13 22:55 ` [PATCH v3 3/3] gpio tps65215: Add support for varying gpio/offset values Shree Ramamoorthy
@ 2025-01-17 19:34   ` kernel test robot
  0 siblings, 0 replies; 12+ messages in thread
From: kernel test robot @ 2025-01-17 19:34 UTC (permalink / raw)
  To: Shree Ramamoorthy, aaro.koskinen, andreas, khilman, rogerq, tony,
	linus.walleij, brgl, linux-omap, linux-kernel, linux-gpio
  Cc: llvm, oe-kbuild-all, m-leonard, praneeth, christophe.jaillet

Hi Shree,

kernel test robot noticed the following build errors:

[auto build test ERROR on next-20250113]
[cannot apply to tmlind-omap/for-next v6.13-rc7 v6.13-rc6 v6.13-rc5 linus/master v6.13-rc7]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Shree-Ramamoorthy/gpio-tps65215-Add-TPS65215-to-platform_device_id-table/20250114-065813
base:   next-20250113
patch link:    https://lore.kernel.org/r/20250113225530.124213-4-s-ramamoorthy%40ti.com
patch subject: [PATCH v3 3/3] gpio tps65215: Add support for varying gpio/offset values
config: i386-randconfig-004-20250117 (https://download.01.org/0day-ci/archive/20250118/202501180331.d5V1SdDH-lkp@intel.com/config)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250118/202501180331.d5V1SdDH-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202501180331.d5V1SdDH-lkp@intel.com/

All errors (new ones prefixed by >>):

   drivers/gpio/gpio-tps65219.c:159:3: error: use of undeclared identifier 'TPS65215'
     159 |         [TPS65215] = {
         |          ^
>> drivers/gpio/gpio-tps65219.c:175:15: error: variable has incomplete type 'enum pmic_id'
     175 |         enum pmic_id chip = platform_get_device_id(pdev)->driver_data;
         |                      ^
   drivers/gpio/gpio-tps65219.c:175:7: note: forward declaration of 'enum pmic_id'
     175 |         enum pmic_id chip = platform_get_device_id(pdev)->driver_data;
         |              ^
   drivers/gpio/gpio-tps65219.c:193:21: error: use of undeclared identifier 'TPS65215'
     193 |         { "tps65215-gpio", TPS65215 },
         |                            ^
   drivers/gpio/gpio-tps65219.c:197:1: error: definition of variable with array type needs an explicit size or an initializer
     197 | MODULE_DEVICE_TABLE(platform, tps6521x_gpio_id_table);
         | ^
   include/linux/module.h:250:21: note: expanded from macro 'MODULE_DEVICE_TABLE'
     250 | extern typeof(name) __mod_device_table__##type##__##name                \
         |                     ^
   <scratch space>:249:1: note: expanded from here
     249 | __mod_device_table__platform__tps6521x_gpio_id_table
         | ^
   4 errors generated.


vim +175 drivers/gpio/gpio-tps65219.c

   168	
   169	static int tps65219_gpio_probe(struct platform_device *pdev)
   170	{
   171		struct tps65219_gpio *gpio;
   172		const struct tps65219_chip_data *pmic;
   173	
   174		struct tps65219 *tps = dev_get_drvdata(pdev->dev.parent);
 > 175		enum pmic_id chip = platform_get_device_id(pdev)->driver_data;
   176		pmic = &chip_info_table[chip];
   177	
   178		gpio = devm_kzalloc(&pdev->dev, sizeof(*gpio), GFP_KERNEL);
   179		if (!gpio)
   180			return -ENOMEM;
   181	
   182		gpio->tps = tps;
   183		gpio->gpio_chip = tps65219_template_chip;
   184		gpio->gpio_chip.label = dev_name(&pdev->dev);
   185		gpio->gpio_chip.ngpio =  pmic->ngpio;
   186		gpio->gpio_chip.offset = pmic->offset;
   187		gpio->gpio_chip.parent = tps->dev;
   188	
   189		return devm_gpiochip_add_data(&pdev->dev, &gpio->gpio_chip, gpio);
   190	}
   191	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

* Re: [PATCH v3 0/3] Add TI TPS65215 PMIC GPIO Support
  2025-01-13 22:55 [PATCH v3 0/3] Add TI TPS65215 PMIC GPIO Support Shree Ramamoorthy
                   ` (2 preceding siblings ...)
  2025-01-13 22:55 ` [PATCH v3 3/3] gpio tps65215: Add support for varying gpio/offset values Shree Ramamoorthy
@ 2025-02-07  8:53 ` Bartosz Golaszewski
  2025-02-07 17:02   ` Shree Ramamoorthy
  2025-02-12 21:12   ` Shree Ramamoorthy
  3 siblings, 2 replies; 12+ messages in thread
From: Bartosz Golaszewski @ 2025-02-07  8:53 UTC (permalink / raw)
  To: Shree Ramamoorthy
  Cc: aaro.koskinen, andreas, khilman, rogerq, tony, linus.walleij,
	linux-omap, linux-kernel, linux-gpio, m-leonard, praneeth,
	christophe.jaillet

On Mon, Jan 13, 2025 at 11:55 PM Shree Ramamoorthy <s-ramamoorthy@ti.com> wrote:
>
> TPS65215 is a Power Management Integrated Circuit (PMIC) that has
> significant register map overlap with TPS65219. The series introduces
> TPS65215 and restructures the existing driver to support multiple devices.
>
> This follow-up series is dependent on:
> Commit f84464ec8190 ("regulator: dt-bindings: Add TI TPS65215 PMIC bindings")
> Commit 8206c20f4c82 ("mfd: tps65215: Add support for TI TPS65215 PMIC")
> Commit 0e0b7f00c111 ("mfd: tps65215: Remove regmap_read check")
>

Did these go into v6.14?

Bart

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

* Re: [PATCH v3 0/3] Add TI TPS65215 PMIC GPIO Support
  2025-02-07  8:53 ` [PATCH v3 0/3] Add TI TPS65215 PMIC GPIO Support Bartosz Golaszewski
@ 2025-02-07 17:02   ` Shree Ramamoorthy
  2025-02-12 21:12   ` Shree Ramamoorthy
  1 sibling, 0 replies; 12+ messages in thread
From: Shree Ramamoorthy @ 2025-02-07 17:02 UTC (permalink / raw)
  To: Bartosz Golaszewski
  Cc: aaro.koskinen, andreas, khilman, rogerq, tony, linus.walleij,
	linux-omap, linux-kernel, linux-gpio, m-leonard, praneeth,
	christophe.jaillet

Hi,

On 2/7/2025 2:53 AM, Bartosz Golaszewski wrote:
> On Mon, Jan 13, 2025 at 11:55 PM Shree Ramamoorthy <s-ramamoorthy@ti.com> wrote:
>> TPS65215 is a Power Management Integrated Circuit (PMIC) that has
>> significant register map overlap with TPS65219. The series introduces
>> TPS65215 and restructures the existing driver to support multiple devices.
>>
>> This follow-up series is dependent on:
>> Commit f84464ec8190 ("regulator: dt-bindings: Add TI TPS65215 PMIC bindings")
>> Commit 8206c20f4c82 ("mfd: tps65215: Add support for TI TPS65215 PMIC")
>> Commit 0e0b7f00c111 ("mfd: tps65215: Remove regmap_read check")
>>
> Did these go into v6.14?
>
> Bart

These didn't. I figured with the dependency feedback, it was easier to combine the series for TPS65215 and TPS65214 into 1 series.

I submitted the combined mfd + dt-binding series [0] first, and once that was ACK'd, I will follow up with the gpio series for both devices.
Let me know if there's a different approach you would recommend!

[0]: https://lore.kernel.org/all/20250206173725.386720-1-s-ramamoorthy@ti.com/


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

* Re: [PATCH v3 0/3] Add TI TPS65215 PMIC GPIO Support
  2025-02-07  8:53 ` [PATCH v3 0/3] Add TI TPS65215 PMIC GPIO Support Bartosz Golaszewski
  2025-02-07 17:02   ` Shree Ramamoorthy
@ 2025-02-12 21:12   ` Shree Ramamoorthy
  2025-02-13  8:11     ` Bartosz Golaszewski
  1 sibling, 1 reply; 12+ messages in thread
From: Shree Ramamoorthy @ 2025-02-12 21:12 UTC (permalink / raw)
  To: Bartosz Golaszewski
  Cc: aaro.koskinen, andreas, khilman, rogerq, tony, linus.walleij,
	linux-omap, linux-kernel, linux-gpio, m-leonard, praneeth,
	christophe.jaillet

Hi,


On 2/7/25 2:53 AM, Bartosz Golaszewski wrote:
> On Mon, Jan 13, 2025 at 11:55 PM Shree Ramamoorthy <s-ramamoorthy@ti.com> wrote:
>> TPS65215 is a Power Management Integrated Circuit (PMIC) that has
>> significant register map overlap with TPS65219. The series introduces
>> TPS65215 and restructures the existing driver to support multiple devices.
>>
>> This follow-up series is dependent on:
>> Commit f84464ec8190 ("regulator: dt-bindings: Add TI TPS65215 PMIC bindings")
>> Commit 8206c20f4c82 ("mfd: tps65215: Add support for TI TPS65215 PMIC")
>> Commit 0e0b7f00c111 ("mfd: tps65215: Remove regmap_read check")
>>
> Did these go into v6.14?
>
> Bart

The dependencies listed in the cover letter were just applied by Lee Jones:
https://lore.kernel.org/all/173928615760.2233464.12306998726512431222.b4-ty@kernel.org/

The rest of this series still applies without a need for code modifications.


-- 
Best,
Shree Ramamoorthy
PMIC Software Engineer


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

* Re: [PATCH v3 0/3] Add TI TPS65215 PMIC GPIO Support
  2025-02-12 21:12   ` Shree Ramamoorthy
@ 2025-02-13  8:11     ` Bartosz Golaszewski
  2025-02-18 17:33       ` Shree Ramamoorthy
  0 siblings, 1 reply; 12+ messages in thread
From: Bartosz Golaszewski @ 2025-02-13  8:11 UTC (permalink / raw)
  To: Shree Ramamoorthy
  Cc: aaro.koskinen, andreas, khilman, rogerq, tony, linus.walleij,
	linux-omap, linux-kernel, linux-gpio, m-leonard, praneeth,
	christophe.jaillet

On Wed, Feb 12, 2025 at 10:12 PM Shree Ramamoorthy <s-ramamoorthy@ti.com> wrote:
>
> Hi,
>
>
> On 2/7/25 2:53 AM, Bartosz Golaszewski wrote:
> > On Mon, Jan 13, 2025 at 11:55 PM Shree Ramamoorthy <s-ramamoorthy@ti.com> wrote:
> >> TPS65215 is a Power Management Integrated Circuit (PMIC) that has
> >> significant register map overlap with TPS65219. The series introduces
> >> TPS65215 and restructures the existing driver to support multiple devices.
> >>
> >> This follow-up series is dependent on:
> >> Commit f84464ec8190 ("regulator: dt-bindings: Add TI TPS65215 PMIC bindings")
> >> Commit 8206c20f4c82 ("mfd: tps65215: Add support for TI TPS65215 PMIC")
> >> Commit 0e0b7f00c111 ("mfd: tps65215: Remove regmap_read check")
> >>
> > Did these go into v6.14?
> >
> > Bart
>
> The dependencies listed in the cover letter were just applied by Lee Jones:
> https://lore.kernel.org/all/173928615760.2233464.12306998726512431222.b4-ty@kernel.org/
>
> The rest of this series still applies without a need for code modifications.
>

I'm not sure I'm following: should this series wait until v6.15-rc1 is
tagged? Or did you ask Lee to create an immutable branch? Or doesn't
this series depend on the MFD changes at all after all?

Bart

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

* Re: [PATCH v3 0/3] Add TI TPS65215 PMIC GPIO Support
  2025-02-13  8:11     ` Bartosz Golaszewski
@ 2025-02-18 17:33       ` Shree Ramamoorthy
  0 siblings, 0 replies; 12+ messages in thread
From: Shree Ramamoorthy @ 2025-02-18 17:33 UTC (permalink / raw)
  To: Bartosz Golaszewski
  Cc: aaro.koskinen, andreas, khilman, rogerq, tony, linus.walleij,
	linux-omap, linux-kernel, linux-gpio, m-leonard, praneeth,
	christophe.jaillet

Hi,


On 2/13/25 2:11 AM, Bartosz Golaszewski wrote:
> On Wed, Feb 12, 2025 at 10:12 PM Shree Ramamoorthy <s-ramamoorthy@ti.com> wrote:
>> Hi,
>>
>>
>> On 2/7/25 2:53 AM, Bartosz Golaszewski wrote:
>>> On Mon, Jan 13, 2025 at 11:55 PM Shree Ramamoorthy <s-ramamoorthy@ti.com> wrote:
>>>> TPS65215 is a Power Management Integrated Circuit (PMIC) that has
>>>> significant register map overlap with TPS65219. The series introduces
>>>> TPS65215 and restructures the existing driver to support multiple devices.
>>>>
>>>> This follow-up series is dependent on:
>>>> Commit f84464ec8190 ("regulator: dt-bindings: Add TI TPS65215 PMIC bindings")
>>>> Commit 8206c20f4c82 ("mfd: tps65215: Add support for TI TPS65215 PMIC")
>>>> Commit 0e0b7f00c111 ("mfd: tps65215: Remove regmap_read check")
>>>>
>>> Did these go into v6.14?
>>>
>>> Bart
>> The dependencies listed in the cover letter were just applied by Lee Jones:
>> https://lore.kernel.org/all/173928615760.2233464.12306998726512431222.b4-ty@kernel.org/
>>
>> The rest of this series still applies without a need for code modifications.
>>
> I'm not sure I'm following: should this series wait until v6.15-rc1 is
> tagged? Or did you ask Lee to create an immutable branch? Or doesn't
> this series depend on the MFD changes at all after all?
>
> Bart

Sorry about the confusion. Lee didn't create an immutable branch and the series does depend on the MFD changes,
so this GPIO series should wait till v6.15-rc1 is tagged. Thank you!


-- 
Best,
Shree Ramamoorthy
PMIC Software Engineer


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

end of thread, other threads:[~2025-02-18 17:34 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-13 22:55 [PATCH v3 0/3] Add TI TPS65215 PMIC GPIO Support Shree Ramamoorthy
2025-01-13 22:55 ` [PATCH v3 1/3] gpio: tps65215: Add TPS65215 to platform_device_id table Shree Ramamoorthy
2025-01-17 17:46   ` kernel test robot
2025-01-17 19:33   ` kernel test robot
2025-01-13 22:55 ` [PATCH v3 2/3] gpio: tps65215: Update GPIO0_IDX macro prefix Shree Ramamoorthy
2025-01-13 22:55 ` [PATCH v3 3/3] gpio tps65215: Add support for varying gpio/offset values Shree Ramamoorthy
2025-01-17 19:34   ` kernel test robot
2025-02-07  8:53 ` [PATCH v3 0/3] Add TI TPS65215 PMIC GPIO Support Bartosz Golaszewski
2025-02-07 17:02   ` Shree Ramamoorthy
2025-02-12 21:12   ` Shree Ramamoorthy
2025-02-13  8:11     ` Bartosz Golaszewski
2025-02-18 17:33       ` Shree Ramamoorthy

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