[v2] mfd: rk808: permit having multiple PMIC instances

Message ID 20221025-rk808-multi-v2-0-d292d51ada81@linaro.org
State New
Headers
Series [v2] mfd: rk808: permit having multiple PMIC instances |

Commit Message

Neil Armstrong Oct. 31, 2022, 4:05 p.m. UTC
  This set each cells id to PLATFORM_DEVID_NONE to allow multiple
instances of each cell in case multiple PMICs handled by the rk808
driver are probed.

This fixes probing a RK818 and a RK817 on the Odroid Go Ultra
devices.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
---
Cc: Lee Jones <lee@kernel.org>
Cc: linux-kernel@vger.kernel.org
---
Changes in v2:
- replaced -1 by PLATFORM_DEVID_NONE
- Link to v1: https://lore.kernel.org/r/20221025-rk808-multi-v1-0-c07b7cf3fd67@linaro.org
---
 drivers/mfd/rk808.c | 26 ++++++++++++++++----------
 1 file changed, 16 insertions(+), 10 deletions(-)


---
base-commit: 247f34f7b80357943234f93f247a1ae6b6c3a740
change-id: 20221025-rk808-multi-65dd03a92705

Best regards,
  

Comments

Lee Jones Nov. 1, 2022, 10:26 a.m. UTC | #1
On Mon, 31 Oct 2022, Neil Armstrong wrote:

> This set each cells id to PLATFORM_DEVID_NONE to allow multiple
> instances of each cell in case multiple PMICs handled by the rk808
> driver are probed.
> 
> This fixes probing a RK818 and a RK817 on the Odroid Go Ultra
> devices.
> 
> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
> ---
> Cc: Lee Jones <lee@kernel.org>
> Cc: linux-kernel@vger.kernel.org
> ---
> Changes in v2:
> - replaced -1 by PLATFORM_DEVID_NONE

Thanks.

> - Link to v1: https://lore.kernel.org/r/20221025-rk808-multi-v1-0-c07b7cf3fd67@linaro.org
> ---
>  drivers/mfd/rk808.c | 26 ++++++++++++++++----------
>  1 file changed, 16 insertions(+), 10 deletions(-)

Applied, thanks.
  

Patch

diff --git a/drivers/mfd/rk808.c b/drivers/mfd/rk808.c
index e00da7c7e3b1..c9337c1fd748 100644
--- a/drivers/mfd/rk808.c
+++ b/drivers/mfd/rk808.c
@@ -137,58 +137,64 @@  static const struct resource rk817_charger_resources[] = {
 };
 
 static const struct mfd_cell rk805s[] = {
-	{ .name = "rk808-clkout", },
-	{ .name = "rk808-regulator", },
-	{ .name = "rk805-pinctrl", },
+	{ .name = "rk808-clkout", .id = PLATFORM_DEVID_NONE, },
+	{ .name = "rk808-regulator", .id = PLATFORM_DEVID_NONE, },
+	{ .name = "rk805-pinctrl", .id = PLATFORM_DEVID_NONE, },
 	{
 		.name = "rk808-rtc",
 		.num_resources = ARRAY_SIZE(rtc_resources),
 		.resources = &rtc_resources[0],
+		.id = PLATFORM_DEVID_NONE,
 	},
 	{	.name = "rk805-pwrkey",
 		.num_resources = ARRAY_SIZE(rk805_key_resources),
 		.resources = &rk805_key_resources[0],
+		.id = PLATFORM_DEVID_NONE,
 	},
 };
 
 static const struct mfd_cell rk808s[] = {
-	{ .name = "rk808-clkout", },
-	{ .name = "rk808-regulator", },
+	{ .name = "rk808-clkout", .id = PLATFORM_DEVID_NONE, },
+	{ .name = "rk808-regulator", .id = PLATFORM_DEVID_NONE, },
 	{
 		.name = "rk808-rtc",
 		.num_resources = ARRAY_SIZE(rtc_resources),
 		.resources = rtc_resources,
+		.id = PLATFORM_DEVID_NONE,
 	},
 };
 
 static const struct mfd_cell rk817s[] = {
-	{ .name = "rk808-clkout",},
-	{ .name = "rk808-regulator",},
+	{ .name = "rk808-clkout", .id = PLATFORM_DEVID_NONE, },
+	{ .name = "rk808-regulator", .id = PLATFORM_DEVID_NONE, },
 	{
 		.name = "rk805-pwrkey",
 		.num_resources = ARRAY_SIZE(rk817_pwrkey_resources),
 		.resources = &rk817_pwrkey_resources[0],
+		.id = PLATFORM_DEVID_NONE,
 	},
 	{
 		.name = "rk808-rtc",
 		.num_resources = ARRAY_SIZE(rk817_rtc_resources),
 		.resources = &rk817_rtc_resources[0],
+		.id = PLATFORM_DEVID_NONE,
 	},
-	{ .name = "rk817-codec",},
+	{ .name = "rk817-codec", .id = PLATFORM_DEVID_NONE, },
 	{
 		.name = "rk817-charger",
 		.num_resources = ARRAY_SIZE(rk817_charger_resources),
 		.resources = &rk817_charger_resources[0],
+		.id = PLATFORM_DEVID_NONE,
 	},
 };
 
 static const struct mfd_cell rk818s[] = {
-	{ .name = "rk808-clkout", },
-	{ .name = "rk808-regulator", },
+	{ .name = "rk808-regulator", .id = PLATFORM_DEVID_NONE, },
 	{
 		.name = "rk808-rtc",
 		.num_resources = ARRAY_SIZE(rtc_resources),
 		.resources = rtc_resources,
+		.id = PLATFORM_DEVID_NONE,
 	},
 };