Re: [PATCH 9/9] clk: samsung: gs101: don't CLK_IGNORE_UNUSED peric1_sysreg clock
From: André Draszik
Date: Mon Jan 29 2024 - 08:49:03 EST
Hi Krzysztof,
On Mon, 2024-01-29 at 12:03 +0100, Krzysztof Kozlowski wrote:
> On 27/01/2024 01:19, André Draszik wrote:
> > Now that we have hooked it up in the DTS, we can drop the
>
> Your driver patch cannot depend on DTS. Not for a new platform. I am
> repeating this all the time last days...
>
> > CLK_IGNORE_UNUSED from here.
> >
> > Signed-off-by: André Draszik <andre.draszik@xxxxxxxxxx>
> > ---
> > drivers/clk/samsung/clk-gs101.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/clk/samsung/clk-gs101.c b/drivers/clk/samsung/clk-gs101.c
> > index 7f6c3b52d9ff..d55ed64d0e29 100644
> > --- a/drivers/clk/samsung/clk-gs101.c
> > +++ b/drivers/clk/samsung/clk-gs101.c
> > @@ -3393,7 +3393,7 @@ static const struct samsung_gate_clock peric1_gate_clks[] __initconst = {
> > GATE(CLK_GOUT_PERIC1_SYSREG_PERIC1_PCLK,
> > "gout_peric1_sysreg_peric1_pclk", "mout_peric1_bus_user",
> > CLK_CON_GAT_GOUT_BLK_PERIC1_UID_SYSREG_PERIC1_IPCLKPORT_PCLK,
> > - 21, CLK_IGNORE_UNUSED, 0),
>
> I don't understand. You just added this clock in this patchset. This
> means that your patch #3 is incorrect.
In patch #3 I'm hooking up all the clocks to Linux. If I don't CLK_IGNORE_UNUSED
for the 'sysreg' pclk in patch #3, then it'll hang on loading drivers that
require sysreg access (because Linux disabled the clock).
I can not change patch #8 to come between 2 and 3 either, because at that stage
neither the clock nor the DT node reference &cmu_peric1 actually exist, and the
clock and can't be claimed by sysreg.
Since we can not mix DT and driver changes in the same commit, I can not merge
patches #3 and #4 and #8 either.
I had to do it this way so that the platform always boots for every commit to keep
things bisectable.
Alternatively, I could merge patches #4 and #8 (but that seems wrong to me), or
drop patches #7, #8 and #9 from this series and apply it later in the -rc phase?
Is there a better way that you have in mind that we're missing, that keeps things
atomic and bootable/bisectable?
Cheers,
Andre'