[PATCH v2 37/47] clk: mediatek: Split MT8195 clock drivers and allow module build
AngeloGioacchino Del Regno
angelogioacchino.delregno at collabora.com
Fri Feb 17 04:56:52 PST 2023
Il 17/02/23 08:37, Chen-Yu Tsai ha scritto:
> On Tue, Feb 14, 2023 at 9:42 PM AngeloGioacchino Del Regno
> <angelogioacchino.delregno at collabora.com> wrote:
>>
>> MT8195 clock drivers were encapsulated in one single (and big) Kconfig
>> option: there's no reason to do that, as it is totally unnecessary to
>> build in all or none of them.
>>
>> Split them out: keep boot-critical clocks as bool and allow choosing
>> non critical clocks as tristate.
>>
>> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>
>> ---
>> drivers/clk/mediatek/Kconfig | 86 +++++++++++++++++++++++++++++++++++
>> drivers/clk/mediatek/Makefile | 20 +++++---
>> 2 files changed, 99 insertions(+), 7 deletions(-)
>>
>> diff --git a/drivers/clk/mediatek/Kconfig b/drivers/clk/mediatek/Kconfig
>> index 45b7aea7648d..88937d111e98 100644
>> --- a/drivers/clk/mediatek/Kconfig
>> +++ b/drivers/clk/mediatek/Kconfig
>> @@ -692,6 +692,92 @@ config COMMON_CLK_MT8195
>> help
>> This driver supports MediaTek MT8195 clocks.
>>
>> +config COMMON_CLK_MT8195_APUSYS
>> + tristate "Clock driver for MediaTek MT8195 apusys"
>> + depends on COMMON_CLK_MT8195
>> + help
>> + This driver supports MediaTek MT8195 AI Processor Unit System clocks.
>> +
>> +config COMMON_CLK_MT8195_AUDSYS
>> + tristate "Clock driver for MediaTek MT8195 audsys"
>> + depends on COMMON_CLK_MT8195
>> + help
>> + This driver supports MediaTek MT8195 audsys clocks.
>> +
>> +config COMMON_CLK_MT8195_CAMSYS
>> + tristate "Clock driver for MediaTek MT8195 camsys"
>> + depends on COMMON_CLK_MT8195_VPPSYS
>
> One other thing. If a Kconfig option immediately follows its dependency,
> then it gets indented nicely in menuconfig, but only if.
> If other options are interspersed, then the indentation gets reset.
>
> So could you reorder the options to follow the dependency graph?
>
Sure, I will!
> Also how you chose the dependencies should be mentioned in the commit log.
> These are pure run time dependencies, not compile time nor link/load ones.
>
Right.
> Last, I think an argument could be made against the proliferation of
> Kconfig options, as it dramatically increases the combinations of
> allrandconfigs. Maybe Arnd (who IIRC frequently runs allrandconfig)
> could chime in on whether this is actually a concern or not.
>
I understand, but I don't see any way around that.
In my opinion, we shall give flexibility, and this is the only way to achieve
that: if you don't use IMGSYS, CAMSYS, WPESYS and IPESYS you should *not* be
forced to add that to the mix, as this would result in a footprint increase
for no *final* practical reason.
It's true, today we have big storage capacities and fast machines, but we can
still see a reduction in boot times (bootloader kernel load time, other than
actual kernel boot time), even if minimal, with this added flexibility.
Save a few milliseconds here, a few milliseconds there (not necessarily on
clock drivers, expand this to others) and you start reaching a meaningful
increase in boot performance.
>> + help
>> + This driver supports MediaTek MT8195 camsys and camsys_raw clocks.
>> +
>> +config COMMON_CLK_MT8195_IMGSYS
>> + tristate "Clock driver for MediaTek MT8195 imgsys"
>> + depends on COMMON_CLK_MT8195_VPPSYS
>> + help
>> + This driver supports MediaTek MT8195 imgsys and imgsys2 clocks.
>> +
>> +config COMMON_CLK_MT8195_IMP_IIC_WRAP
>> + tristate "Clock driver for MediaTek MT8195 imp_iic_wrap"
>> + depends on COMMON_CLK_MT8195
>> + help
>> + This driver supports MediaTek MT8195 I2C/I3C clocks.
>> +
>> +config COMMON_CLK_MT8195_IPESYS
>> + tristate "Clock driver for MediaTek MT8195 ipesys"
>> + depends on COMMON_CLK_MT8195_IMGSYS
>> + help
>> + This driver supports MediaTek MT8195 ipesys clocks.
>> +
>> +config COMMON_CLK_MT8195_MFGCFG
>> + tristate "Clock driver for MediaTek MT8195 mfgcfg"
>> + depends on COMMON_CLK_MT8195
>> + help
>> + This driver supports MediaTek MT8195 mfgcfg clocks.
>> +
>> +config COMMON_CLK_MT8195_VDOSYS
>> + tristate "Clock driver for MediaTek MT8195 vdosys"
>> + depends on COMMON_CLK_MT8195
>
> Not sure why this option is here, out of order?
My alphabet skills finally failed me, lol.
I'll fix that for v3 :-)
Thanks!
Angelo
More information about the linux-arm-kernel
mailing list