mbox series

[0/3] clk: mediatek: mt8183: Simplify with mtk_clk_simple_*()

Message ID 20220701145133.1152387-1-wenst@chromium.org (mailing list archive)
Headers show
Series clk: mediatek: mt8183: Simplify with mtk_clk_simple_*() | expand

Message

Chen-Yu Tsai July 1, 2022, 2:51 p.m. UTC
As part of clk driver support for MT8192, a pair of "simple"
probe/remove functions was introduced that provided boilerplate
driver functions for clk drivers that fit a simple model: they only
needed to register clock gates. Using them reduces the redundant
boilerplate code needed for each driver. Instead, only a data structure
pointing to the clock gate array and the number of clocks is needed.

This series converts all the MT8183 clock drivers that only contain
clock gates over to these wrapper functions. For instances where the
clk driver not only registers clock gates, the extra action is properly
sequenced with the wrapper functions instead of outright replacing
the probe functions. The converted drivers also get removal support.
This also reduces the overall size by nearly 600 bytes.

Patch 1 converts the MT8183 clk drivers that only do clock gate
registration.

Patch 2 converts the audio clk driver, which also populates sub-devices.

Patch 3 converts the mfgcfg (GPU wrapper) clk driver, which also needs
to enable runtime PM, as it is tied to a power domain.

Please have a look, and merge if possible.

Thanks
ChenYu


Chen-Yu Tsai (3):
  clk: mediatek: mt8183: Convert gate only drivers to mtk_clk_simple_*()
  clk: mediatek: mt8183-audio: Simplify with mtk_clk_simple_*()
  clk: mediatek: mt8183-mfgcfg: Simplify with mtk_clk_simple_*()

 drivers/clk/mediatek/clk-mt8183-audio.c   | 40 +++++++++++++++--------
 drivers/clk/mediatek/clk-mt8183-cam.c     | 21 +++++-------
 drivers/clk/mediatek/clk-mt8183-img.c     | 21 +++++-------
 drivers/clk/mediatek/clk-mt8183-ipu0.c    | 21 +++++-------
 drivers/clk/mediatek/clk-mt8183-ipu1.c    | 21 +++++-------
 drivers/clk/mediatek/clk-mt8183-ipu_adl.c | 21 +++++-------
 drivers/clk/mediatek/clk-mt8183-mfgcfg.c  | 23 +++++++------
 drivers/clk/mediatek/clk-mt8183-vdec.c    | 21 +++++-------
 drivers/clk/mediatek/clk-mt8183-venc.c    | 21 +++++-------
 9 files changed, 95 insertions(+), 115 deletions(-)

Comments

AngeloGioacchino Del Regno July 4, 2022, 8:46 a.m. UTC | #1
Il 01/07/22 16:51, Chen-Yu Tsai ha scritto:
> As part of clk driver support for MT8192, a pair of "simple"
> probe/remove functions was introduced that provided boilerplate
> driver functions for clk drivers that fit a simple model: they only
> needed to register clock gates. Using them reduces the redundant
> boilerplate code needed for each driver. Instead, only a data structure
> pointing to the clock gate array and the number of clocks is needed.
> 
> This series converts all the MT8183 clock drivers that only contain
> clock gates over to these wrapper functions. For instances where the
> clk driver not only registers clock gates, the extra action is properly
> sequenced with the wrapper functions instead of outright replacing
> the probe functions. The converted drivers also get removal support.
> This also reduces the overall size by nearly 600 bytes.
> 
> Patch 1 converts the MT8183 clk drivers that only do clock gate
> registration.
> 
> Patch 2 converts the audio clk driver, which also populates sub-devices.
> 
> Patch 3 converts the mfgcfg (GPU wrapper) clk driver, which also needs
> to enable runtime PM, as it is tied to a power domain.
> 
> Please have a look, and merge if possible.

Hello Chen-Yu,
great cleanup there!

...I *particularly like* the mfgcfg commit :-) :-)

For the entire series:

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>