Re: [PATCH v1 1/2] clk: starfive: Fix RESET_STARFIVE_JH7110 can't be selected in a specified case

From: Hal Feng
Date: Mon Apr 17 2023 - 22:14:15 EST


On Mon, 17 Apr 2023 17:22:01 -0700, Stephen Boyd wrote:
> Quoting Conor Dooley (2023-04-17 03:18:35)
>> On Mon, Apr 17, 2023 at 06:06:29PM +0800, Hal Feng wrote:
>> > On Mon, 17 Apr 2023 10:54:09 +0100, Conor Dooley wrote:
>> > > On Mon, Apr 17, 2023 at 03:41:14PM +0800, Hal Feng wrote:
>> > >> When (ARCH_STARFIVE [=n] && COMPILE_TEST [=y] && RESET_CONTROLLER [=n]),
>> > >> RESET_STARFIVE_JH7110 can't be selected by CLK_STARFIVE_JH7110_SYS
>> > >> and CLK_STARFIVE_JH7110_AON.
>> > >>
>> > >> Considering RESET_STARFIVE_JH7110 is not a necessary option for compilation
>> > >> test, we should select it only if ARCH_STARFIVE=y. Also, delete redundant
>> > >> selected options of CLK_STARFIVE_JH7110_AON because these options are
>> > >> already selected by the dependency.
>> > >>
>> > >> Fixes: edab7204afe5 ("clk: starfive: Add StarFive JH7110 system clock driver")
>> > >> Fixes: b2ab3c94f41f ("clk: starfive: Add StarFive JH7110 always-on clock driver")
>> > >> Signed-off-by: Hal Feng <hal.feng@xxxxxxxxxxxxxxxx>
>> > >> ---
>> > >> drivers/clk/starfive/Kconfig | 5 +----
>> > >> 1 file changed, 1 insertion(+), 4 deletions(-)
>> > >>
>> > >> diff --git a/drivers/clk/starfive/Kconfig b/drivers/clk/starfive/Kconfig
>> > >> index 71c1148ee5f6..3fad4adee841 100644
>> > >> --- a/drivers/clk/starfive/Kconfig
>> > >> +++ b/drivers/clk/starfive/Kconfig
>> > >> @@ -26,7 +26,7 @@ config CLK_STARFIVE_JH7110_SYS
>> > >> depends on ARCH_STARFIVE || COMPILE_TEST
>> > >> select AUXILIARY_BUS
>> > >> select CLK_STARFIVE_JH71X0
>> > >> - select RESET_STARFIVE_JH7110
>> > >> + select RESET_STARFIVE_JH7110 if ARCH_STARFIVE
>> > >
>> > > Hmm, I don't really follow the logic above.
>> > > Why not just make the if be `if RESET_CONTROLLER` rather than
>> > > ARCH_STARFIVE?
>> > > I'm probably missing some obvious reason why not.
>> >
>> > Note that RESET_CONTROLLER is selected by ARCH_STARFIVE. Thanks.
>>
>> Aye, just the explicit dependency seems like it'd be less fragile and
>> more obvious in the future.
>
> Agreed. Be explicit so we don't have to hunt down select dependencies.

With further consideration, on the other hand, if we set `if ARCH_STARFIVE`
here, it can point out that we need the reset driver to boot up JH7110
besides the clock drivers, and the reset driver is not a necessary option
for compilation test. So the reset driver is independent to the clock
drivers when you doing a compilation test.

If we set `if RESET_CONTROLLER` here, the reset driver will be compiled
automatically when (ARCH_STARFIVE [=n] && COMPILE_TEST [=y] &&
RESET_CONTROLLER [=y] && CLK_STARFIVE_JH7110_SYS [=y]).

Best regards,
Hal