* [PATCH v4 0/3] spacemit: fix P1 sub-device Kconfig defaults and dependencies
@ 2025-12-25 7:46 Troy Mitchell
2025-12-25 7:46 ` [PATCH v4 1/3] regulator: spacemit: MFD_SPACEMIT_P1 as dependencies Troy Mitchell
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Troy Mitchell @ 2025-12-25 7:46 UTC (permalink / raw)
To: Lee Jones, Yixun Lan, Alex Elder, Andi Shyti, Alexandre Belloni,
Liam Girdwood, Mark Brown
Cc: linux-kernel, linux-riscv, spacemit, linux-i2c, linux-rtc,
Troy Mitchell
This series fixes Kconfig default value and dependency handling for
the SpacemiT P1 PMIC and its sub-devices.
Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com>
---
Troy Mitchell (3):
regulator: spacemit: MFD_SPACEMIT_P1 as dependencies
mfd: simple-mfd-i2c: add default value
rtc: spacemit: default module when MFD_SPACEMIT_P1 is enabled
drivers/mfd/Kconfig | 1 +
drivers/regulator/Kconfig | 5 ++---
drivers/rtc/Kconfig | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
---
base-commit: b87881a3c93345252ce8559ad763369febfdb75d
change-id: 20251021-p1-kconfig-fix-6d2b59d03b8f
Best regards,
--
Troy Mitchell <troy.mitchell@linux.spacemit.com>
^ permalink raw reply [flat|nested] 12+ messages in thread* [PATCH v4 1/3] regulator: spacemit: MFD_SPACEMIT_P1 as dependencies 2025-12-25 7:46 [PATCH v4 0/3] spacemit: fix P1 sub-device Kconfig defaults and dependencies Troy Mitchell @ 2025-12-25 7:46 ` Troy Mitchell 2025-12-25 7:46 ` [PATCH v4 2/3] mfd: simple-mfd-i2c: add default value Troy Mitchell 2025-12-25 7:46 ` [PATCH v4 3/3] rtc: spacemit: default module when MFD_SPACEMIT_P1 is enabled Troy Mitchell 2 siblings, 0 replies; 12+ messages in thread From: Troy Mitchell @ 2025-12-25 7:46 UTC (permalink / raw) To: Lee Jones, Yixun Lan, Alex Elder, Andi Shyti, Alexandre Belloni, Liam Girdwood, Mark Brown Cc: linux-kernel, linux-riscv, spacemit, linux-i2c, linux-rtc, Troy Mitchell REGULATOR_SPACEMIT_P1 is a subdevice of P1 and should depend on MFD_SPACEMIT_P1 rather than selecting it directly. Using 'select' does not always respect the parent's dependencies, so 'depends on' is the safer and more correct choice. Since MFD_SPACEMIT_P1 already depends on I2C_K1, the dependency in REGULATOR_SPACEMIT_P1 is now redundant. Additionally, the default value depends on MFD_SPACEMIT_P1 rather than ARCH_SPACEMIT. Acked-by: Mark Brown <broonie@kernel.org> Acked-by: Alex Elder <elder@riscstar.com> Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com> --- Change log in v4: - default m if MFD_SPACEMIT_P1 instead of default MFD_SPACEMIT_P1 Link to v3: https://lore.kernel.org/all/20251118-p1-kconfig-fix-v3-3-8839c5ac5db3@linux.spacemit.com/ Changelog in v3: - modify commit message - change default value from ARCH_SPACEMIT to MFD_SPACEMIT_P1 - Link to v2: https://lore.kernel.org/all/20251027-p1-kconfig-fix-v2-4-49688f30bae8@linux.spacemit.com/ --- drivers/regulator/Kconfig | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig index d2335276cce5ffbd500bbaf251d1761a9116aee9..b51888a9a78f399a6af3294fc19f60792576332c 100644 --- a/drivers/regulator/Kconfig +++ b/drivers/regulator/Kconfig @@ -1496,9 +1496,8 @@ config REGULATOR_SLG51000 config REGULATOR_SPACEMIT_P1 tristate "SpacemiT P1 regulators" depends on ARCH_SPACEMIT || COMPILE_TEST - depends on I2C - select MFD_SPACEMIT_P1 - default ARCH_SPACEMIT + depends on MFD_SPACEMIT_P1 + default m if MFD_SPACEMIT_P1 help Enable support for regulators implemented by the SpacemiT P1 power controller. The P1 implements 6 high-efficiency buck -- 2.52.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v4 2/3] mfd: simple-mfd-i2c: add default value 2025-12-25 7:46 [PATCH v4 0/3] spacemit: fix P1 sub-device Kconfig defaults and dependencies Troy Mitchell 2025-12-25 7:46 ` [PATCH v4 1/3] regulator: spacemit: MFD_SPACEMIT_P1 as dependencies Troy Mitchell @ 2025-12-25 7:46 ` Troy Mitchell 2026-01-09 16:41 ` (subset) " Lee Jones 2025-12-25 7:46 ` [PATCH v4 3/3] rtc: spacemit: default module when MFD_SPACEMIT_P1 is enabled Troy Mitchell 2 siblings, 1 reply; 12+ messages in thread From: Troy Mitchell @ 2025-12-25 7:46 UTC (permalink / raw) To: Lee Jones, Yixun Lan, Alex Elder, Andi Shyti, Alexandre Belloni, Liam Girdwood, Mark Brown Cc: linux-kernel, linux-riscv, spacemit, linux-i2c, linux-rtc, Troy Mitchell The default value of the P1 sub-device depends on the value of P1, so P1 should have a default value here. Acked-by: Alex Elder <elder@riscstar.com> Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com> --- Change log in v4: - default m if ARCH_SPACEMIT instead of default ARCH_SPACEMIT - Link to v3: https://lore.kernel.org/all/20251118-p1-kconfig-fix-v3-4-8839c5ac5db3@linux.spacemit.com/ --- drivers/mfd/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index aace5766b38aa5e46e32a8a7b42eea238159fbcf..c757bc365029dc794c658fc5b10084a0f29ac9b6 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -1276,6 +1276,7 @@ config MFD_SPACEMIT_P1 depends on ARCH_SPACEMIT || COMPILE_TEST depends on I2C select MFD_SIMPLE_MFD_I2C + default m if ARCH_SPACEMIT help This option supports the I2C-based SpacemiT P1 PMIC, which contains regulators, a power switch, GPIOs, an RTC, and more. -- 2.52.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: (subset) [PATCH v4 2/3] mfd: simple-mfd-i2c: add default value 2025-12-25 7:46 ` [PATCH v4 2/3] mfd: simple-mfd-i2c: add default value Troy Mitchell @ 2026-01-09 16:41 ` Lee Jones 0 siblings, 0 replies; 12+ messages in thread From: Lee Jones @ 2026-01-09 16:41 UTC (permalink / raw) To: Lee Jones, Yixun Lan, Alex Elder, Andi Shyti, Alexandre Belloni, Liam Girdwood, Mark Brown, Troy Mitchell Cc: linux-kernel, linux-riscv, spacemit, linux-i2c, linux-rtc On Thu, 25 Dec 2025 15:46:32 +0800, Troy Mitchell wrote: > The default value of the P1 sub-device depends on the value > of P1, so P1 should have a default value here. > > Applied, thanks! [2/3] mfd: simple-mfd-i2c: add default value commit: 77df11d1f1f962636e897f3fcf0977109aa74791 -- Lee Jones [李琼斯] ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v4 3/3] rtc: spacemit: default module when MFD_SPACEMIT_P1 is enabled 2025-12-25 7:46 [PATCH v4 0/3] spacemit: fix P1 sub-device Kconfig defaults and dependencies Troy Mitchell 2025-12-25 7:46 ` [PATCH v4 1/3] regulator: spacemit: MFD_SPACEMIT_P1 as dependencies Troy Mitchell 2025-12-25 7:46 ` [PATCH v4 2/3] mfd: simple-mfd-i2c: add default value Troy Mitchell @ 2025-12-25 7:46 ` Troy Mitchell 2025-12-25 16:53 ` Alexandre Belloni 2 siblings, 1 reply; 12+ messages in thread From: Troy Mitchell @ 2025-12-25 7:46 UTC (permalink / raw) To: Lee Jones, Yixun Lan, Alex Elder, Andi Shyti, Alexandre Belloni, Liam Girdwood, Mark Brown Cc: linux-kernel, linux-riscv, spacemit, linux-i2c, linux-rtc, Troy Mitchell The RTC driver defaulted to the same value as MFD_SPACEMIT_P1, which caused it to be built-in automatically whenever the PMIC support was set to y. This is not always desirable, as the RTC function is not required on all platforms using the SpacemiT P1 PMIC. Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com> --- drivers/rtc/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig index 50dc779f7f983074df7882200c90f0df21d142f2..53866493e9bbaf35ff0de85cbfe43e8343eadc1e 100644 --- a/drivers/rtc/Kconfig +++ b/drivers/rtc/Kconfig @@ -410,7 +410,7 @@ config RTC_DRV_SPACEMIT_P1 tristate "SpacemiT P1 RTC" depends on ARCH_SPACEMIT || COMPILE_TEST depends on MFD_SPACEMIT_P1 - default MFD_SPACEMIT_P1 + default m if MFD_SPACEMIT_P1 help Enable support for the RTC function in the SpacemiT P1 PMIC. This driver can also be built as a module, which will be called -- 2.52.0 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v4 3/3] rtc: spacemit: default module when MFD_SPACEMIT_P1 is enabled 2025-12-25 7:46 ` [PATCH v4 3/3] rtc: spacemit: default module when MFD_SPACEMIT_P1 is enabled Troy Mitchell @ 2025-12-25 16:53 ` Alexandre Belloni 2025-12-29 18:02 ` Alex Elder 0 siblings, 1 reply; 12+ messages in thread From: Alexandre Belloni @ 2025-12-25 16:53 UTC (permalink / raw) To: Troy Mitchell Cc: Lee Jones, Yixun Lan, Alex Elder, Andi Shyti, Liam Girdwood, Mark Brown, linux-kernel, linux-riscv, spacemit, linux-i2c, linux-rtc On 25/12/2025 15:46:33+0800, Troy Mitchell wrote: > The RTC driver defaulted to the same value as MFD_SPACEMIT_P1, which > caused it to be built-in automatically whenever the PMIC support was > set to y. > > This is not always desirable, as the RTC function is not required on > all platforms using the SpacemiT P1 PMIC. But then, can't people simply change the config? I don't feel like this is an improvement. > > Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com> > --- > drivers/rtc/Kconfig | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig > index 50dc779f7f983074df7882200c90f0df21d142f2..53866493e9bbaf35ff0de85cbfe43e8343eadc1e 100644 > --- a/drivers/rtc/Kconfig > +++ b/drivers/rtc/Kconfig > @@ -410,7 +410,7 @@ config RTC_DRV_SPACEMIT_P1 > tristate "SpacemiT P1 RTC" > depends on ARCH_SPACEMIT || COMPILE_TEST > depends on MFD_SPACEMIT_P1 > - default MFD_SPACEMIT_P1 > + default m if MFD_SPACEMIT_P1 > help > Enable support for the RTC function in the SpacemiT P1 PMIC. > This driver can also be built as a module, which will be called > > -- > 2.52.0 > -- Alexandre Belloni, co-owner and COO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v4 3/3] rtc: spacemit: default module when MFD_SPACEMIT_P1 is enabled 2025-12-25 16:53 ` Alexandre Belloni @ 2025-12-29 18:02 ` Alex Elder 2025-12-30 0:51 ` Alexandre Belloni 0 siblings, 1 reply; 12+ messages in thread From: Alex Elder @ 2025-12-29 18:02 UTC (permalink / raw) To: Alexandre Belloni, Troy Mitchell Cc: Lee Jones, Yixun Lan, Andi Shyti, Liam Girdwood, Mark Brown, linux-kernel, linux-riscv, spacemit, linux-i2c, linux-rtc On 12/25/25 10:53 AM, Alexandre Belloni wrote: > On 25/12/2025 15:46:33+0800, Troy Mitchell wrote: >> The RTC driver defaulted to the same value as MFD_SPACEMIT_P1, which >> caused it to be built-in automatically whenever the PMIC support was >> set to y. >> >> This is not always desirable, as the RTC function is not required on >> all platforms using the SpacemiT P1 PMIC. > > But then, can't people simply change the config? I don't feel like > this is an improvement. It's not an improvement for people who want to use the SpacemiT P1 PMIC, but it's an improvement for all the other RISC-V builds using "defconfig" that would rather have that support be modular to avoid needlessly consuming resources. I haven't done any testing on this but it looks fine to me. Acked-by: Alex Elder <elder@riscstar.com> I think it's a small change worth merging. I don't think doing so does any harm. Your call or course, Alexandre. -Alex >> Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com> >> --- >> drivers/rtc/Kconfig | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig >> index 50dc779f7f983074df7882200c90f0df21d142f2..53866493e9bbaf35ff0de85cbfe43e8343eadc1e 100644 >> --- a/drivers/rtc/Kconfig >> +++ b/drivers/rtc/Kconfig >> @@ -410,7 +410,7 @@ config RTC_DRV_SPACEMIT_P1 >> tristate "SpacemiT P1 RTC" >> depends on ARCH_SPACEMIT || COMPILE_TEST >> depends on MFD_SPACEMIT_P1 >> - default MFD_SPACEMIT_P1 >> + default m if MFD_SPACEMIT_P1 >> help >> Enable support for the RTC function in the SpacemiT P1 PMIC. >> This driver can also be built as a module, which will be called >> >> -- >> 2.52.0 >> > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v4 3/3] rtc: spacemit: default module when MFD_SPACEMIT_P1 is enabled 2025-12-29 18:02 ` Alex Elder @ 2025-12-30 0:51 ` Alexandre Belloni 2025-12-30 1:46 ` Alex Elder 0 siblings, 1 reply; 12+ messages in thread From: Alexandre Belloni @ 2025-12-30 0:51 UTC (permalink / raw) To: Alex Elder Cc: Troy Mitchell, Lee Jones, Yixun Lan, Andi Shyti, Liam Girdwood, Mark Brown, linux-kernel, linux-riscv, spacemit, linux-i2c, linux-rtc On 29/12/2025 12:02:23-0600, Alex Elder wrote: > On 12/25/25 10:53 AM, Alexandre Belloni wrote: > > On 25/12/2025 15:46:33+0800, Troy Mitchell wrote: > > > The RTC driver defaulted to the same value as MFD_SPACEMIT_P1, which > > > caused it to be built-in automatically whenever the PMIC support was > > > set to y. > > > > > > This is not always desirable, as the RTC function is not required on > > > all platforms using the SpacemiT P1 PMIC. > > > > But then, can't people simply change the config? I don't feel like > > this is an improvement. > > It's not an improvement for people who want to use the SpacemiT > P1 PMIC, but it's an improvement for all the other RISC-V builds > using "defconfig" that would rather have that support be modular > to avoid needlessly consuming resources. But then, wouldn't MFD_SPACEMIT_P1 be simply not set or set to m ? So this doesn't have any impact on other RISC-V builds while it makes people using the SpacemiT P1 PMIC jump through hoops to be able to use the RTC as this is a very uncommon way to set default values. My point is: - other RISC-V platforms would simply not select MFD_SPACEMIT_P1 or have MFD_SPACEMIT_P1 set to m - having RTC_DRV_SPACEMIT_P1 built-in by default when MFD_SPACEMIT_P1 is built-in doesn't really hurt any SpacemiT P1 users but would be the expectation of those using the RTC. - those wanting to optimise because they won't use the RTC, they can already simply unselect RTC_DRV_SPACEMIT_P1 or set it to m. > > I haven't done any testing on this but it looks fine to me. > > Acked-by: Alex Elder <elder@riscstar.com> > > I think it's a small change worth merging. I don't think > doing so does any harm. Your call or course, Alexandre. > > -Alex > > > > Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com> > > > --- > > > drivers/rtc/Kconfig | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig > > > index 50dc779f7f983074df7882200c90f0df21d142f2..53866493e9bbaf35ff0de85cbfe43e8343eadc1e 100644 > > > --- a/drivers/rtc/Kconfig > > > +++ b/drivers/rtc/Kconfig > > > @@ -410,7 +410,7 @@ config RTC_DRV_SPACEMIT_P1 > > > tristate "SpacemiT P1 RTC" > > > depends on ARCH_SPACEMIT || COMPILE_TEST > > > depends on MFD_SPACEMIT_P1 > > > - default MFD_SPACEMIT_P1 > > > + default m if MFD_SPACEMIT_P1 > > > help > > > Enable support for the RTC function in the SpacemiT P1 PMIC. > > > This driver can also be built as a module, which will be called > > > > > > -- > > > 2.52.0 > > > > > > -- Alexandre Belloni, co-owner and COO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v4 3/3] rtc: spacemit: default module when MFD_SPACEMIT_P1 is enabled 2025-12-30 0:51 ` Alexandre Belloni @ 2025-12-30 1:46 ` Alex Elder 2026-01-09 22:36 ` Alexandre Belloni 0 siblings, 1 reply; 12+ messages in thread From: Alex Elder @ 2025-12-30 1:46 UTC (permalink / raw) To: Alexandre Belloni Cc: Troy Mitchell, Lee Jones, Yixun Lan, Andi Shyti, Liam Girdwood, Mark Brown, linux-kernel, linux-riscv, spacemit, linux-i2c, linux-rtc On 12/29/25 6:51 PM, Alexandre Belloni wrote: > On 29/12/2025 12:02:23-0600, Alex Elder wrote: >> On 12/25/25 10:53 AM, Alexandre Belloni wrote: >>> On 25/12/2025 15:46:33+0800, Troy Mitchell wrote: >>>> The RTC driver defaulted to the same value as MFD_SPACEMIT_P1, which >>>> caused it to be built-in automatically whenever the PMIC support was >>>> set to y. >>>> >>>> This is not always desirable, as the RTC function is not required on >>>> all platforms using the SpacemiT P1 PMIC. >>> >>> But then, can't people simply change the config? I don't feel like >>> this is an improvement. >> >> It's not an improvement for people who want to use the SpacemiT >> P1 PMIC, but it's an improvement for all the other RISC-V builds >> using "defconfig" that would rather have that support be modular >> to avoid needlessly consuming resources. > > But then, wouldn't MFD_SPACEMIT_P1 be simply not set or set to m ? So > this doesn't have any impact on other RISC-V builds while it makes > people using the SpacemiT P1 PMIC jump through hoops to be able to use > the RTC as this is a very uncommon way to set default values. > > My point is: > - other RISC-V platforms would simply not select MFD_SPACEMIT_P1 or > have MFD_SPACEMIT_P1 set to m > - having RTC_DRV_SPACEMIT_P1 built-in by default when MFD_SPACEMIT_P1 > is built-in doesn't really hurt any SpacemiT P1 users but would be > the expectation of those using the RTC. The "hurt" isn't about P1 users, it's about everyone else. > - those wanting to optimise because they won't use the RTC, they can > already simply unselect RTC_DRV_SPACEMIT_P1 or set it to m. The purpose is to make the driver a module (not built-in) when "defconfig" is used (without the need for any Kconfig fragments to unselect things). In arch/riscv/configs/defconfig, we have this: CONFIG_ARCH_SPACEMIT=y In drivers/mfd/Kconfig b/drivers/mfd/Kconfig, we have this (added by patch 2 in this series): config MFD_SPACEMIT_P1 default m if ARCH_SPACEMIT So when using defconfig (alone), MFD_SPACEMIT_P1 is set to m, to benefit non-SpacemiT RISC-V platforms. This patch is trying to do the same thing for the RTC, i.e. having RTC_DRV_SPACEMIT_P1 be defined as a module by default. I think you understand. -Alex >> I haven't done any testing on this but it looks fine to me. >> >> Acked-by: Alex Elder <elder@riscstar.com> >> >> I think it's a small change worth merging. I don't think >> doing so does any harm. Your call or course, Alexandre. >> >> -Alex >> >>>> Signed-off-by: Troy Mitchell <troy.mitchell@linux.spacemit.com> >>>> --- >>>> drivers/rtc/Kconfig | 2 +- >>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>> >>>> diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig >>>> index 50dc779f7f983074df7882200c90f0df21d142f2..53866493e9bbaf35ff0de85cbfe43e8343eadc1e 100644 >>>> --- a/drivers/rtc/Kconfig >>>> +++ b/drivers/rtc/Kconfig >>>> @@ -410,7 +410,7 @@ config RTC_DRV_SPACEMIT_P1 >>>> tristate "SpacemiT P1 RTC" >>>> depends on ARCH_SPACEMIT || COMPILE_TEST >>>> depends on MFD_SPACEMIT_P1 >>>> - default MFD_SPACEMIT_P1 >>>> + default m if MFD_SPACEMIT_P1 >>>> help >>>> Enable support for the RTC function in the SpacemiT P1 PMIC. >>>> This driver can also be built as a module, which will be called >>>> >>>> -- >>>> 2.52.0 >>>> >>> >> > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v4 3/3] rtc: spacemit: default module when MFD_SPACEMIT_P1 is enabled 2025-12-30 1:46 ` Alex Elder @ 2026-01-09 22:36 ` Alexandre Belloni 2026-01-11 19:55 ` Alex Elder 0 siblings, 1 reply; 12+ messages in thread From: Alexandre Belloni @ 2026-01-09 22:36 UTC (permalink / raw) To: Alex Elder Cc: Troy Mitchell, Lee Jones, Yixun Lan, Andi Shyti, Liam Girdwood, Mark Brown, linux-kernel, linux-riscv, spacemit, linux-i2c, linux-rtc On 29/12/2025 19:46:59-0600, Alex Elder wrote: > On 12/29/25 6:51 PM, Alexandre Belloni wrote: > > On 29/12/2025 12:02:23-0600, Alex Elder wrote: > > > On 12/25/25 10:53 AM, Alexandre Belloni wrote: > > > > On 25/12/2025 15:46:33+0800, Troy Mitchell wrote: > > > > > The RTC driver defaulted to the same value as MFD_SPACEMIT_P1, which > > > > > caused it to be built-in automatically whenever the PMIC support was > > > > > set to y. > > > > > > > > > > This is not always desirable, as the RTC function is not required on > > > > > all platforms using the SpacemiT P1 PMIC. > > > > > > > > But then, can't people simply change the config? I don't feel like > > > > this is an improvement. > > > > > > It's not an improvement for people who want to use the SpacemiT > > > P1 PMIC, but it's an improvement for all the other RISC-V builds > > > using "defconfig" that would rather have that support be modular > > > to avoid needlessly consuming resources. > > > > But then, wouldn't MFD_SPACEMIT_P1 be simply not set or set to m ? So > > this doesn't have any impact on other RISC-V builds while it makes > > people using the SpacemiT P1 PMIC jump through hoops to be able to use > > the RTC as this is a very uncommon way to set default values. > > > > My point is: > > - other RISC-V platforms would simply not select MFD_SPACEMIT_P1 or > > have MFD_SPACEMIT_P1 set to m > > - having RTC_DRV_SPACEMIT_P1 built-in by default when MFD_SPACEMIT_P1 > > is built-in doesn't really hurt any SpacemiT P1 users but would be > > the expectation of those using the RTC. > > The "hurt" isn't about P1 users, it's about everyone else. > > > - those wanting to optimise because they won't use the RTC, they can > > already simply unselect RTC_DRV_SPACEMIT_P1 or set it to m. > > > The purpose is to make the driver a module (not built-in) > when "defconfig" is used (without the need for any Kconfig > fragments to unselect things). > > > In arch/riscv/configs/defconfig, we have this: > CONFIG_ARCH_SPACEMIT=y > > In drivers/mfd/Kconfig b/drivers/mfd/Kconfig, we have this > (added by patch 2 in this series): > config MFD_SPACEMIT_P1 > default m if ARCH_SPACEMIT > > So when using defconfig (alone), MFD_SPACEMIT_P1 is set to m, > to benefit non-SpacemiT RISC-V platforms. > > This patch is trying to do the same thing for the RTC, > i.e. having RTC_DRV_SPACEMIT_P1 be defined as a module > by default. > > I think you understand. I'm sorry, I must be dumb but I don't understand. The current behaviour is that when MFD_SPACEMIT_P1 is m, then the default value for RTC_DRV_SPACEMIT_P1 will be m. Since patch 2 makes it exactly that way (MFD_SPACEMIT_P set to m), I don't get why it is necessary to mess with the default of RTC_DRV_SPACEMIT_P1. The current default behaviour of RTC_DRV_SPACEMIT_P1 seems to be the correct one and the proper fix is then patch 2. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v4 3/3] rtc: spacemit: default module when MFD_SPACEMIT_P1 is enabled 2026-01-09 22:36 ` Alexandre Belloni @ 2026-01-11 19:55 ` Alex Elder 2026-01-12 1:49 ` Troy Mitchell 0 siblings, 1 reply; 12+ messages in thread From: Alex Elder @ 2026-01-11 19:55 UTC (permalink / raw) To: Alexandre Belloni Cc: Troy Mitchell, Lee Jones, Yixun Lan, Andi Shyti, Liam Girdwood, Mark Brown, linux-kernel, linux-riscv, spacemit, linux-i2c, linux-rtc On 1/9/26 4:36 PM, Alexandre Belloni wrote: >> The purpose is to make the driver a module (not built-in) >> when "defconfig" is used (without the need for any Kconfig >> fragments to unselect things). >> >> >> In arch/riscv/configs/defconfig, we have this: >> CONFIG_ARCH_SPACEMIT=y >> >> In drivers/mfd/Kconfig b/drivers/mfd/Kconfig, we have this >> (added by patch 2 in this series): >> config MFD_SPACEMIT_P1 >> default m if ARCH_SPACEMIT >> >> So when using defconfig (alone), MFD_SPACEMIT_P1 is set to m, >> to benefit non-SpacemiT RISC-V platforms. >> >> This patch is trying to do the same thing for the RTC, >> i.e. having RTC_DRV_SPACEMIT_P1 be defined as a module >> by default. >> >> I think you understand. > I'm sorry, I must be dumb but I don't understand. The current behaviour I think I'm the dumb one. I think I finally understand your point. > is that when MFD_SPACEMIT_P1 is m, then the default value for > RTC_DRV_SPACEMIT_P1 will be m. Since patch 2 makes it exactly that way > (MFD_SPACEMIT_P set to m), I don't get why it is necessary to mess with > the default of RTC_DRV_SPACEMIT_P1. Your point is that patch has no real effect, at least not on the scenario I was talking about. I.e., I was saying this mattered for using defconfig alone. But, as you point out, using defconfig alone gives us: ARCH_SPACMIT=y (in defconfig) MFD_SPACEMIT_P1=m (from patch 2) And then, *without* this patch: RTC_DRV_SPACEMIT_P1=MFD_SPACEMIT_P1 meaning RTC_DRV_SPACEMIT_P1=m And therefore there's no need for this patch to set the default to m rather than MFD_SPACEMIT_P1. > The current default behaviour of RTC_DRV_SPACEMIT_P1 seems to be the > correct one and the proper fix is then patch 2. Yes, now I understand. I'm sorry about my confusion. -Alex ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v4 3/3] rtc: spacemit: default module when MFD_SPACEMIT_P1 is enabled 2026-01-11 19:55 ` Alex Elder @ 2026-01-12 1:49 ` Troy Mitchell 0 siblings, 0 replies; 12+ messages in thread From: Troy Mitchell @ 2026-01-12 1:49 UTC (permalink / raw) To: Alex Elder, Alexandre Belloni Cc: Troy Mitchell, Lee Jones, Yixun Lan, Andi Shyti, Liam Girdwood, Mark Brown, linux-kernel, linux-riscv, spacemit, linux-i2c, linux-rtc On Mon Jan 12, 2026 at 3:55 AM CST, Alex Elder wrote: > On 1/9/26 4:36 PM, Alexandre Belloni wrote: >>> The purpose is to make the driver a module (not built-in) >>> when "defconfig" is used (without the need for any Kconfig >>> fragments to unselect things). >>> >>> >>> In arch/riscv/configs/defconfig, we have this: >>> CONFIG_ARCH_SPACEMIT=y >>> >>> In drivers/mfd/Kconfig b/drivers/mfd/Kconfig, we have this >>> (added by patch 2 in this series): >>> config MFD_SPACEMIT_P1 >>> default m if ARCH_SPACEMIT >>> >>> So when using defconfig (alone), MFD_SPACEMIT_P1 is set to m, >>> to benefit non-SpacemiT RISC-V platforms. >>> >>> This patch is trying to do the same thing for the RTC, >>> i.e. having RTC_DRV_SPACEMIT_P1 be defined as a module >>> by default. >>> >>> I think you understand. >> I'm sorry, I must be dumb but I don't understand. The current behaviour > > I think I'm the dumb one. I think I finally understand your > point. > >> is that when MFD_SPACEMIT_P1 is m, then the default value for >> RTC_DRV_SPACEMIT_P1 will be m. Since patch 2 makes it exactly that way >> (MFD_SPACEMIT_P set to m), I don't get why it is necessary to mess with >> the default of RTC_DRV_SPACEMIT_P1. > > Your point is that patch has no real effect, at least not > on the scenario I was talking about. > > I.e., I was saying this mattered for using defconfig alone. > But, as you point out, using defconfig alone gives us: > > ARCH_SPACMIT=y (in defconfig) > MFD_SPACEMIT_P1=m (from patch 2) > > And then, *without* this patch: > RTC_DRV_SPACEMIT_P1=MFD_SPACEMIT_P1 > meaning > RTC_DRV_SPACEMIT_P1=m > > And therefore there's no need for this patch to set the > default to m rather than MFD_SPACEMIT_P1. > Thanks Alex and Alexandre for the clarification. You're absolutely right - the patch is indeed redundant since RTC_DRV_SPACEMIT_P1 already inherits the correct default value (m) through its dependency on MFD_SPACEMIT_P1. I'll drop this patch in the next version and review the rest of the series for similar unnecessary default overrides. - Troy > > >> The current default behaviour of RTC_DRV_SPACEMIT_P1 seems to be the >> correct one and the proper fix is then patch 2. > > Yes, now I understand. I'm sorry about my confusion. > > -Alex ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2026-01-12 1:50 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-12-25 7:46 [PATCH v4 0/3] spacemit: fix P1 sub-device Kconfig defaults and dependencies Troy Mitchell 2025-12-25 7:46 ` [PATCH v4 1/3] regulator: spacemit: MFD_SPACEMIT_P1 as dependencies Troy Mitchell 2025-12-25 7:46 ` [PATCH v4 2/3] mfd: simple-mfd-i2c: add default value Troy Mitchell 2026-01-09 16:41 ` (subset) " Lee Jones 2025-12-25 7:46 ` [PATCH v4 3/3] rtc: spacemit: default module when MFD_SPACEMIT_P1 is enabled Troy Mitchell 2025-12-25 16:53 ` Alexandre Belloni 2025-12-29 18:02 ` Alex Elder 2025-12-30 0:51 ` Alexandre Belloni 2025-12-30 1:46 ` Alex Elder 2026-01-09 22:36 ` Alexandre Belloni 2026-01-11 19:55 ` Alex Elder 2026-01-12 1:49 ` Troy Mitchell
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox