OSDN Git Service

mfd: rk808: Permit having multiple PMIC instances
authorNeil Armstrong <neil.armstrong@linaro.org>
Mon, 31 Oct 2022 16:05:07 +0000 (17:05 +0100)
committerLee Jones <lee@kernel.org>
Wed, 7 Dec 2022 13:28:09 +0000 (13:28 +0000)
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>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20221025-rk808-multi-v2-0-d292d51ada81@linaro.org
drivers/mfd/rk808.c

index b390bba..f44fc3f 100644 (file)
@@ -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,
        },
 };