diff mbox

[RESEND] clk: stm32: fix: stm32 clock drivers are not compiled by default

Message ID 152548833044.138124.7516235724401510636@swboyd.mtv.corp.google.com (mailing list archive)
State Rejected
Headers show

Commit Message

Stephen Boyd May 5, 2018, 2:45 a.m. UTC
Quoting Alexandre Torgue (2018-05-04 00:54:16)
> Stephen
> 
> On 05/03/2018 08:40 AM, gabriel.fernandez@st.com wrote:
> > From: Gabriel Fernandez <gabriel.fernandez@st.com>
> > 
> > Clock driver is mandatory if the machine is selected.
> > Then don't use 'bool' and 'depends on' commands, but 'def_bool'
> > with the machine(s).
> > 
> > Fixes: da32d3539fca ("clk: stm32: add configuration flags for each of the stm32 drivers")
> > 
> 
> Sorry to insist but we need it to have STM32 MCUs booting on Kernel v4.17.

Thanks for the bump. I missed this one. Of course, the user can still select
the configs now, just it's annoying for upgrade path.

> 
> > Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com>
> > Acked-by: Alexandre TORGUE <alexandre.torgue@st.com>
> > ---
> >   drivers/clk/Kconfig | 6 ++----
> >   1 file changed, 2 insertions(+), 4 deletions(-)
> > 
> > diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
> > index 24a5bc3..721572a 100644
> > --- a/drivers/clk/Kconfig
> > +++ b/drivers/clk/Kconfig
> > @@ -266,15 +266,13 @@ config COMMON_CLK_STM32MP157
> >         Support for stm32mp157 SoC family clocks
> >   
> >   config COMMON_CLK_STM32F
> > -     bool "Clock driver for stm32f4 and stm32f7 SoC families"
> > -     depends on MACH_STM32F429 || MACH_STM32F469 || MACH_STM32F746
> > +     def_bool COMMON_CLK && (MACH_STM32F429 || MACH_STM32F469 || MACH_STM32F746)

But the point of the change this patch is fixing was to expose these to
the user to turn off they wanted. You'll need to do something like that
again here, instead of removing the prompt and replacing it with a
def_bool.

So this patch instead? It leaves it around for the whole arch, but
limits the default to be the machines that matter. I suppose we could
put an 'if EXPERT' on the bool part too if we don't even want to expose
the options to normal users.

-----8<-----
From: Gabriel Fernandez <gabriel.fernandez@st.com>
Date: Thu, 3 May 2018 08:40:09 +0200
Subject: [PATCH] clk: stm32: fix: stm32 clock drivers are not compiled by
 default
Cc: <linux-kernel@vger.kernel.org>,
    <linux-arm-kernel@lists.infradead.org>

Clock driver is mandatory if the machine is selected. Add a default
of the machines that need the clk driver, so that the user can turn it
off if they want, but otherwise it's exposed on the SoCs the driver
is for.

Fixes: da32d3539fca ("clk: stm32: add configuration flags for each of the stm32 drivers")
Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com>
Acked-by: Alexandre TORGUE <alexandre.torgue@st.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
---
 drivers/clk/Kconfig | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

Comments

Alexandre TORGUE May 14, 2018, 12:45 p.m. UTC | #1
On 05/05/2018 04:45 AM, Stephen Boyd wrote:
> Quoting Alexandre Torgue (2018-05-04 00:54:16)
>> Stephen
>>
>> On 05/03/2018 08:40 AM, gabriel.fernandez@st.com wrote:
>>> From: Gabriel Fernandez <gabriel.fernandez@st.com>
>>>
>>> Clock driver is mandatory if the machine is selected.
>>> Then don't use 'bool' and 'depends on' commands, but 'def_bool'
>>> with the machine(s).
>>>
>>> Fixes: da32d3539fca ("clk: stm32: add configuration flags for each of the stm32 drivers")
>>>
>>
>> Sorry to insist but we need it to have STM32 MCUs booting on Kernel v4.17.
> 
> Thanks for the bump. I missed this one. Of course, the user can still select
> the configs now, just it's annoying for upgrade path.
> 
>>
>>> Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com>
>>> Acked-by: Alexandre TORGUE <alexandre.torgue@st.com>
>>> ---
>>>    drivers/clk/Kconfig | 6 ++----
>>>    1 file changed, 2 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
>>> index 24a5bc3..721572a 100644
>>> --- a/drivers/clk/Kconfig
>>> +++ b/drivers/clk/Kconfig
>>> @@ -266,15 +266,13 @@ config COMMON_CLK_STM32MP157
>>>          Support for stm32mp157 SoC family clocks
>>>    
>>>    config COMMON_CLK_STM32F
>>> -     bool "Clock driver for stm32f4 and stm32f7 SoC families"
>>> -     depends on MACH_STM32F429 || MACH_STM32F469 || MACH_STM32F746
>>> +     def_bool COMMON_CLK && (MACH_STM32F429 || MACH_STM32F469 || MACH_STM32F746)
> 
> But the point of the change this patch is fixing was to expose these to
> the user to turn off they wanted. You'll need to do something like that
> again here, instead of removing the prompt and replacing it with a
> def_bool.
> 

Sorry I don't understand. Clock driver is mandatory to boot each 
platform and depends on machine type. Do you see a use case where we 
could need to disable the clock driver? (it would impose to change 
devicetree to use fixed clocks and to have a booloader which configures 
all PLL and clocks).

> So this patch instead? It leaves it around for the whole arch, but
> limits the default to be the machines that matter. I suppose we could
> put an 'if EXPERT' on the bool part too if we don't even want to expose
> the options to normal users.
> 
> -----8<-----
> From: Gabriel Fernandez <gabriel.fernandez@st.com>
> Date: Thu, 3 May 2018 08:40:09 +0200
> Subject: [PATCH] clk: stm32: fix: stm32 clock drivers are not compiled by
>   default
> Cc: <linux-kernel@vger.kernel.org>,
>      <linux-arm-kernel@lists.infradead.org>
> 
> Clock driver is mandatory if the machine is selected. Add a default
> of the machines that need the clk driver, so that the user can turn it
> off if they want, but otherwise it's exposed on the SoCs the driver
> is for.
> 
> Fixes: da32d3539fca ("clk: stm32: add configuration flags for each of the stm32 drivers")
> Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com>
> Acked-by: Alexandre TORGUE <alexandre.torgue@st.com>
> Signed-off-by: Stephen Boyd <sboyd@kernel.org>
> ---
>   drivers/clk/Kconfig | 7 ++++---
>   1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
> index 41492e980ef4..ac3f0e2bc03f 100644
> --- a/drivers/clk/Kconfig
> +++ b/drivers/clk/Kconfig
> @@ -267,15 +267,16 @@ config COMMON_CLK_STM32MP157
>   
>   config COMMON_CLK_STM32F
>   	bool "Clock driver for stm32f4 and stm32f7 SoC families"
> -	depends on MACH_STM32F429 || MACH_STM32F469 || MACH_STM32F746
> +	depends on ARCH_STM32
> +	default MACH_STM32F429 || MACH_STM32F469 || MACH_STM32F746
>   	help
>   	---help---
>   	  Support for stm32f4 and stm32f7 SoC families clocks
>   
>   config COMMON_CLK_STM32H7
>   	bool "Clock driver for stm32h7 SoC family"
> -	depends on MACH_STM32H743
> -	help
> +	depends on ARCH_STM32
> +	default MACH_STM32H743
>   	---help---
>   	  Support for stm32h7 SoC family clocks
>   
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-clk" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Stephen Boyd May 15, 2018, 9:48 p.m. UTC | #2
Quoting Alexandre Torgue (2018-05-14 05:45:57)
> 
> 
> On 05/05/2018 04:45 AM, Stephen Boyd wrote:
> > Quoting Alexandre Torgue (2018-05-04 00:54:16)
> >> Stephen
> >>
> >> On 05/03/2018 08:40 AM, gabriel.fernandez@st.com wrote:
> >>> From: Gabriel Fernandez <gabriel.fernandez@st.com>
> >>>
> >>> Clock driver is mandatory if the machine is selected.
> >>> Then don't use 'bool' and 'depends on' commands, but 'def_bool'
> >>> with the machine(s).
> >>>
> >>> Fixes: da32d3539fca ("clk: stm32: add configuration flags for each of the stm32 drivers")
> >>>
> >>
> >> Sorry to insist but we need it to have STM32 MCUs booting on Kernel v4.17.
> > 
> > Thanks for the bump. I missed this one. Of course, the user can still select
> > the configs now, just it's annoying for upgrade path.
> > 
> >>
> >>> Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com>
> >>> Acked-by: Alexandre TORGUE <alexandre.torgue@st.com>
> >>> ---
> >>>    drivers/clk/Kconfig | 6 ++----
> >>>    1 file changed, 2 insertions(+), 4 deletions(-)
> >>>
> >>> diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
> >>> index 24a5bc3..721572a 100644
> >>> --- a/drivers/clk/Kconfig
> >>> +++ b/drivers/clk/Kconfig
> >>> @@ -266,15 +266,13 @@ config COMMON_CLK_STM32MP157
> >>>          Support for stm32mp157 SoC family clocks
> >>>    
> >>>    config COMMON_CLK_STM32F
> >>> -     bool "Clock driver for stm32f4 and stm32f7 SoC families"
> >>> -     depends on MACH_STM32F429 || MACH_STM32F469 || MACH_STM32F746
> >>> +     def_bool COMMON_CLK && (MACH_STM32F429 || MACH_STM32F469 || MACH_STM32F746)
> > 
> > But the point of the change this patch is fixing was to expose these to
> > the user to turn off they wanted. You'll need to do something like that
> > again here, instead of removing the prompt and replacing it with a
> > def_bool.
> > 
> 
> Sorry I don't understand. Clock driver is mandatory to boot each 
> platform and depends on machine type. Do you see a use case where we 
> could need to disable the clock driver? (it would impose to change 
> devicetree to use fixed clocks and to have a booloader which configures 
> all PLL and clocks).

No. My understanding of the patch that introduced the options was to
allow the user to disable these drivers if they wanted to. I'm just
reiterating the spirit of that patch. That must be wrong?

--
To unsubscribe from this list: send the line "unsubscribe linux-clk" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Alexandre TORGUE May 16, 2018, 7:34 a.m. UTC | #3
On 05/15/2018 11:48 PM, Stephen Boyd wrote:
> Quoting Alexandre Torgue (2018-05-14 05:45:57)
>>
>>
>> On 05/05/2018 04:45 AM, Stephen Boyd wrote:
>>> Quoting Alexandre Torgue (2018-05-04 00:54:16)
>>>> Stephen
>>>>
>>>> On 05/03/2018 08:40 AM, gabriel.fernandez@st.com wrote:
>>>>> From: Gabriel Fernandez <gabriel.fernandez@st.com>
>>>>>
>>>>> Clock driver is mandatory if the machine is selected.
>>>>> Then don't use 'bool' and 'depends on' commands, but 'def_bool'
>>>>> with the machine(s).
>>>>>
>>>>> Fixes: da32d3539fca ("clk: stm32: add configuration flags for each of the stm32 drivers")
>>>>>
>>>>
>>>> Sorry to insist but we need it to have STM32 MCUs booting on Kernel v4.17.
>>>
>>> Thanks for the bump. I missed this one. Of course, the user can still select
>>> the configs now, just it's annoying for upgrade path.
>>>
>>>>
>>>>> Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com>
>>>>> Acked-by: Alexandre TORGUE <alexandre.torgue@st.com>
>>>>> ---
>>>>>     drivers/clk/Kconfig | 6 ++----
>>>>>     1 file changed, 2 insertions(+), 4 deletions(-)
>>>>>
>>>>> diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
>>>>> index 24a5bc3..721572a 100644
>>>>> --- a/drivers/clk/Kconfig
>>>>> +++ b/drivers/clk/Kconfig
>>>>> @@ -266,15 +266,13 @@ config COMMON_CLK_STM32MP157
>>>>>           Support for stm32mp157 SoC family clocks
>>>>>     
>>>>>     config COMMON_CLK_STM32F
>>>>> -     bool "Clock driver for stm32f4 and stm32f7 SoC families"
>>>>> -     depends on MACH_STM32F429 || MACH_STM32F469 || MACH_STM32F746
>>>>> +     def_bool COMMON_CLK && (MACH_STM32F429 || MACH_STM32F469 || MACH_STM32F746)
>>>
>>> But the point of the change this patch is fixing was to expose these to
>>> the user to turn off they wanted. You'll need to do something like that
>>> again here, instead of removing the prompt and replacing it with a
>>> def_bool.
>>>
>>
>> Sorry I don't understand. Clock driver is mandatory to boot each
>> platform and depends on machine type. Do you see a use case where we
>> could need to disable the clock driver? (it would impose to change
>> devicetree to use fixed clocks and to have a booloader which configures
>> all PLL and clocks).
> 
> No. My understanding of the patch that introduced the options was to
> allow the user to disable these drivers if they wanted to. I'm just
> reiterating the spirit of that patch. That must be wrong?
> 
Actually initial patch is a mistake. You can't boot STM32 platform 
without clock driver. This patch fixes that, and offers the possibility 
to not build the clock driver of the machine which are not used 
(currently all machine are selected but to reduce memory footprint you 
could disable not used machine in defconfig).

--
To unsubscribe from this list: send the line "unsubscribe linux-clk" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Stephen Boyd May 16, 2018, 7:57 a.m. UTC | #4
Quoting Alexandre Torgue (2018-05-16 00:34:21)
> >>
> >> Sorry I don't understand. Clock driver is mandatory to boot each
> >> platform and depends on machine type. Do you see a use case where we
> >> could need to disable the clock driver? (it would impose to change
> >> devicetree to use fixed clocks and to have a booloader which configures
> >> all PLL and clocks).
> > 
> > No. My understanding of the patch that introduced the options was to
> > allow the user to disable these drivers if they wanted to. I'm just
> > reiterating the spirit of that patch. That must be wrong?
> > 
> Actually initial patch is a mistake. You can't boot STM32 platform 
> without clock driver. This patch fixes that, and offers the possibility 
> to not build the clock driver of the machine which are not used 
> (currently all machine are selected but to reduce memory footprint you 
> could disable not used machine in defconfig).

Ok I stuck the patch into clk-fixes. Will send off to Linus tomorrow or the
next day.
--
To unsubscribe from this list: send the line "unsubscribe linux-clk" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Alexandre TORGUE May 16, 2018, 8:01 a.m. UTC | #5
On 05/16/2018 09:57 AM, Stephen Boyd wrote:
> Quoting Alexandre Torgue (2018-05-16 00:34:21)
>>>>
>>>> Sorry I don't understand. Clock driver is mandatory to boot each
>>>> platform and depends on machine type. Do you see a use case where we
>>>> could need to disable the clock driver? (it would impose to change
>>>> devicetree to use fixed clocks and to have a booloader which configures
>>>> all PLL and clocks).
>>>
>>> No. My understanding of the patch that introduced the options was to
>>> allow the user to disable these drivers if they wanted to. I'm just
>>> reiterating the spirit of that patch. That must be wrong?
>>>
>> Actually initial patch is a mistake. You can't boot STM32 platform
>> without clock driver. This patch fixes that, and offers the possibility
>> to not build the clock driver of the machine which are not used
>> (currently all machine are selected but to reduce memory footprint you
>> could disable not used machine in defconfig).
> 
> Ok I stuck the patch into clk-fixes. Will send off to Linus tomorrow or the
> next day.
> 
Thanks Stephen
--
To unsubscribe from this list: send the line "unsubscribe linux-clk" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
index 41492e980ef4..ac3f0e2bc03f 100644
--- a/drivers/clk/Kconfig
+++ b/drivers/clk/Kconfig
@@ -267,15 +267,16 @@  config COMMON_CLK_STM32MP157
 
 config COMMON_CLK_STM32F
 	bool "Clock driver for stm32f4 and stm32f7 SoC families"
-	depends on MACH_STM32F429 || MACH_STM32F469 || MACH_STM32F746
+	depends on ARCH_STM32
+	default MACH_STM32F429 || MACH_STM32F469 || MACH_STM32F746
 	help
 	---help---
 	  Support for stm32f4 and stm32f7 SoC families clocks
 
 config COMMON_CLK_STM32H7
 	bool "Clock driver for stm32h7 SoC family"
-	depends on MACH_STM32H743
-	help
+	depends on ARCH_STM32
+	default MACH_STM32H743
 	---help---
 	  Support for stm32h7 SoC family clocks