All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Jisheng Zhang" <jszhang@kernel.org>
Cc: conor+dt@kernel.org, linux-serial@vger.kernel.org,
	"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
	devicetree@vger.kernel.org, Frank.Li@kernel.org,
	linux-i3c@lists.infradead.org, mfd@lists.linux.dev,
	robh@kernel.org, linux-clk@vger.kernel.org, lee@kernel.org
Subject: Re: [PATCH 16/20] clk: berlin: add Synaptics SL261X SoC clocks and plls
Date: Tue, 29 Sep 2026 06:50:20 +0000	[thread overview]
Message-ID: <20260929065021.5E2B11F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260929061417.20733-17-jszhang@kernel.org>

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] clk: berlin: missing .disable callbacks in sysmgr clock operations
- [Low] kbuild: Linker error due to missing Kconfig dependency for SL261X_PLL
--

commit 56d97606c2f6bbb88d4a36a5f8b06b807c05523d
Author: Jisheng Zhang <jszhang@kernel.org>

clk: berlin: add Synaptics SL261X SoC clocks and plls

Add support for clocks, plls in Synaptics SL261X SoCs.

> diff --git a/drivers/clk/berlin/Kconfig b/drivers/clk/berlin/Kconfig
> new file mode 100644
> --- /dev/null
> +++ b/drivers/clk/berlin/Kconfig
[ ... ]
> +config SL261X_CLK
> +	tristate "Synaptics SL261X Clock Driver"
> +	depends on ARCH_BERLIN || COMPILE_TEST
> +	select SL_COMMON_CLK
> +	select SL_SYSMGR_CLK
> +	default n

[Severity: Low]
Does this missing dependency lead to a linker error? The SL261X_CLK config
fails to declare a dependency or select on SL261X_PLL, but the clock driver
unconditionally calls sl261x_pll_register() defined in the PLL driver. If
CONFIG_SL261X_CLK=y but CONFIG_SL261X_PLL=n or m, the build will fail with an
undefined reference.

[ ... ]
> diff --git a/drivers/clk/berlin/sl-sysmgr-clk.c b/drivers/clk/berlin/sl-sysmgr-clk.c
> new file mode 100644
> --- /dev/null
> +++ b/drivers/clk/berlin/sl-sysmgr-clk.c
[ ... ]
> +static const struct clk_ops sl_sysmgr_gateclk_ops = {
> +	.enable		= sl_sysmgr_gateclk_enable,
> +	.is_enabled	= sl_sysmgr_gateclk_is_enabled,
> +};

[Severity: Medium]
Will this leave the gate clocks permanently enabled? The ops struct for gate
clocks implements .enable to ungate the clock but omits the .disable callback.
When a consumer driver calls clk_disable_unprepare(), the common clock
framework will silently skip the hardware operation, leaking power.

[ ... ]
> +static const struct clk_ops sl_sysmgr_clk_ops = {
> +	.recalc_rate	= sl_sysmgr_clk_recalc_rate,
> +	.enable		= sl_sysmgr_clk_enable,
> +	.is_enabled	= sl_sysmgr_clk_is_enabled,
> +};

[Severity: Medium]
Does this have the same issue with missing disable operations? The ops struct
for divider clocks implements .enable but also omits the .disable callback.

[ ... ]
> diff --git a/drivers/clk/berlin/sl261x-clks.c b/drivers/clk/berlin/sl261x-clks.c
> new file mode 100644
> --- /dev/null
> +++ b/drivers/clk/berlin/sl261x-clks.c
[ ... ]
> +static int sl261x_soc_clk_setup(struct platform_device *pdev)
> +{
[ ... ]
> +	/* sysplls */
> +	ret = sl261x_pll_register(dev, base + SYSPLL0_OFFSET,
> +				  clk_names[SYSPLL0_OUT], clk_names[SYSPLL0_OUTF]);

[Severity: Low]
This is the call to sl261x_pll_register() mentioned above that requires
SL261X_PLL to be selected or depended on in Kconfig to avoid linker errors.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260929061417.20733-1-jszhang@kernel.org?part=16

WARNING: multiple messages have this Message-ID (diff)
From: sashiko-bot@kernel.org
To: "Jisheng Zhang" <jszhang@kernel.org>
Cc: conor+dt@kernel.org, linux-serial@vger.kernel.org,
	"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
	devicetree@vger.kernel.org, Frank.Li@kernel.org,
	linux-i3c@lists.infradead.org, mfd@lists.linux.dev,
	robh@kernel.org, linux-clk@vger.kernel.org, lee@kernel.org
Subject: Re: [PATCH 16/20] clk: berlin: add Synaptics SL261X SoC clocks and plls
Date: Tue, 29 Sep 2026 06:50:20 +0000	[thread overview]
Message-ID: <20260929065021.5E2B11F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260929061417.20733-17-jszhang@kernel.org>

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] clk: berlin: missing .disable callbacks in sysmgr clock operations
- [Low] kbuild: Linker error due to missing Kconfig dependency for SL261X_PLL
--

commit 56d97606c2f6bbb88d4a36a5f8b06b807c05523d
Author: Jisheng Zhang <jszhang@kernel.org>

clk: berlin: add Synaptics SL261X SoC clocks and plls

Add support for clocks, plls in Synaptics SL261X SoCs.

> diff --git a/drivers/clk/berlin/Kconfig b/drivers/clk/berlin/Kconfig
> new file mode 100644
> --- /dev/null
> +++ b/drivers/clk/berlin/Kconfig
[ ... ]
> +config SL261X_CLK
> +	tristate "Synaptics SL261X Clock Driver"
> +	depends on ARCH_BERLIN || COMPILE_TEST
> +	select SL_COMMON_CLK
> +	select SL_SYSMGR_CLK
> +	default n

[Severity: Low]
Does this missing dependency lead to a linker error? The SL261X_CLK config
fails to declare a dependency or select on SL261X_PLL, but the clock driver
unconditionally calls sl261x_pll_register() defined in the PLL driver. If
CONFIG_SL261X_CLK=y but CONFIG_SL261X_PLL=n or m, the build will fail with an
undefined reference.

[ ... ]
> diff --git a/drivers/clk/berlin/sl-sysmgr-clk.c b/drivers/clk/berlin/sl-sysmgr-clk.c
> new file mode 100644
> --- /dev/null
> +++ b/drivers/clk/berlin/sl-sysmgr-clk.c
[ ... ]
> +static const struct clk_ops sl_sysmgr_gateclk_ops = {
> +	.enable		= sl_sysmgr_gateclk_enable,
> +	.is_enabled	= sl_sysmgr_gateclk_is_enabled,
> +};

[Severity: Medium]
Will this leave the gate clocks permanently enabled? The ops struct for gate
clocks implements .enable to ungate the clock but omits the .disable callback.
When a consumer driver calls clk_disable_unprepare(), the common clock
framework will silently skip the hardware operation, leaking power.

[ ... ]
> +static const struct clk_ops sl_sysmgr_clk_ops = {
> +	.recalc_rate	= sl_sysmgr_clk_recalc_rate,
> +	.enable		= sl_sysmgr_clk_enable,
> +	.is_enabled	= sl_sysmgr_clk_is_enabled,
> +};

[Severity: Medium]
Does this have the same issue with missing disable operations? The ops struct
for divider clocks implements .enable but also omits the .disable callback.

[ ... ]
> diff --git a/drivers/clk/berlin/sl261x-clks.c b/drivers/clk/berlin/sl261x-clks.c
> new file mode 100644
> --- /dev/null
> +++ b/drivers/clk/berlin/sl261x-clks.c
[ ... ]
> +static int sl261x_soc_clk_setup(struct platform_device *pdev)
> +{
[ ... ]
> +	/* sysplls */
> +	ret = sl261x_pll_register(dev, base + SYSPLL0_OFFSET,
> +				  clk_names[SYSPLL0_OUT], clk_names[SYSPLL0_OUTF]);

[Severity: Low]
This is the call to sl261x_pll_register() mentioned above that requires
SL261X_PLL to be selected or depended on in Kconfig to avoid linker errors.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260929061417.20733-1-jszhang@kernel.org?part=16

-- 
linux-i3c mailing list
linux-i3c@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-i3c

  reply	other threads:[~2026-09-29  6:50 UTC|newest]

Thread overview: 108+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-29  6:13 [PATCH 00/20] arm64: add Synaptics SL261X SoCs and RDK boards Jisheng Zhang
2026-09-29  6:13 ` Jisheng Zhang
2026-09-29  6:13 ` [PATCH 01/20] dt-bindings: serial: snps-dw-apb-uart: Add Synaptics sl261x uart Jisheng Zhang
2026-09-29  6:13   ` Jisheng Zhang
2026-09-29  6:44   ` sashiko-bot
2026-09-29  6:44     ` sashiko-bot
2026-09-29  6:13 ` [PATCH 02/20] dt-bindings: i2c: dw: Add Synaptics sl261x i2c Jisheng Zhang
2026-09-29  6:13   ` Jisheng Zhang
2026-09-29  6:39   ` sashiko-bot
2026-09-29  6:39     ` sashiko-bot
2026-09-29 20:57   ` Andi Shyti
2026-09-29 20:57     ` Andi Shyti
2026-09-29  6:14 ` [PATCH 03/20] spi: dt-bindings: snps,dw-apb-ssi: Add Synaptics sl261x spi Jisheng Zhang
2026-09-29  6:14   ` Jisheng Zhang
2026-09-29  6:39   ` sashiko-bot
2026-09-29  6:39     ` sashiko-bot
2026-09-29  6:14 ` [PATCH 04/20] dt-bindings: i3c: dw: support up to two reset lines Jisheng Zhang
2026-09-29  6:14   ` Jisheng Zhang
2026-09-29  6:43   ` sashiko-bot
2026-09-29  6:43     ` sashiko-bot
2026-09-29 19:40   ` Conor Dooley
2026-09-29  6:14 ` [PATCH 05/20] i3c: dw: switch to array-based exclusive reset control Jisheng Zhang
2026-09-29  6:14   ` Jisheng Zhang
2026-09-29  6:45   ` sashiko-bot
2026-09-29  6:45     ` sashiko-bot
2026-09-29 15:01   ` Frank Li
2026-09-29 15:01     ` Frank Li
2026-09-29  6:14 ` [PATCH 06/20] dt-bindings: i3c: Add Synaptics sl261x i3c Jisheng Zhang
2026-09-29  6:14   ` Jisheng Zhang
2026-09-29  6:41   ` sashiko-bot
2026-09-29  6:41     ` sashiko-bot
2026-09-29  6:14 ` [PATCH 07/20] arm64: kconfig: let ARCH_BERLIN cover Synaptics arm64 SoCs Jisheng Zhang
2026-09-29  6:14   ` Jisheng Zhang
2026-09-29  6:40   ` sashiko-bot
2026-09-29  6:40     ` sashiko-bot
2026-09-29  6:14 ` [PATCH 08/20] dt-bindings: reset: add Synaptics SL261X SoCs Jisheng Zhang
2026-09-29  6:14   ` Jisheng Zhang
2026-09-29  6:42   ` sashiko-bot
2026-09-29  6:42     ` sashiko-bot
2026-09-29 19:44   ` Conor Dooley
2026-09-30 15:15     ` Jisheng Zhang
2026-09-30 15:15       ` Jisheng Zhang
2026-09-30 16:49       ` Conor Dooley
2026-10-02 15:35         ` Jisheng Zhang
2026-10-02 15:35           ` Jisheng Zhang
2026-10-05 10:50           ` Conor Dooley
2026-09-29  6:14 ` [PATCH 09/20] reset: add Synaptics SL261x reset support Jisheng Zhang
2026-09-29  6:14   ` Jisheng Zhang
2026-09-29  6:47   ` sashiko-bot
2026-09-29  6:47     ` sashiko-bot
2026-09-29  6:14 ` [PATCH 10/20] pinctrl: berlin: use u16 instead of u8 for the offset Jisheng Zhang
2026-09-29  6:14   ` Jisheng Zhang
2026-09-29  6:42   ` sashiko-bot
2026-09-29  6:42     ` sashiko-bot
2026-09-29  6:14 ` [PATCH 11/20] pinctrl: berlin: enable module build support Jisheng Zhang
2026-09-29  6:14   ` Jisheng Zhang
2026-09-29  6:45   ` sashiko-bot
2026-09-29  6:45     ` sashiko-bot
2026-09-29  6:14 ` [PATCH 12/20] pinctrl: berlin: add optional pinconf support Jisheng Zhang
2026-09-29  6:14   ` Jisheng Zhang
2026-09-29  6:45   ` sashiko-bot
2026-09-29  6:45     ` sashiko-bot
2026-09-29  6:14 ` [PATCH 13/20] dt-bindings: pinctrl: berlin: Support Synaptics SL261X SoCs Jisheng Zhang
2026-09-29  6:14   ` Jisheng Zhang
2026-09-29  6:45   ` sashiko-bot
2026-09-29  6:45     ` sashiko-bot
2026-09-29  6:14 ` [PATCH 14/20] pinctrl: berlin: support " Jisheng Zhang
2026-09-29  6:14   ` Jisheng Zhang
2026-09-29  6:47   ` sashiko-bot
2026-09-29  6:47     ` sashiko-bot
2026-09-29 15:34   ` Uwe Kleine-König
2026-09-29  6:14 ` [PATCH 15/20] dt-bindings: clock: add Synaptics SL261X clock Jisheng Zhang
2026-09-29  6:14   ` Jisheng Zhang
2026-09-29  6:44   ` sashiko-bot
2026-09-29  6:44     ` sashiko-bot
2026-09-29 19:46   ` Conor Dooley
2026-09-29 20:49   ` Rob Herring (Arm)
2026-09-29 20:49     ` Rob Herring (Arm)
2026-09-30 14:18     ` Jisheng Zhang
2026-09-30 14:18       ` Jisheng Zhang
2026-09-29  6:14 ` [PATCH 16/20] clk: berlin: add Synaptics SL261X SoC clocks and plls Jisheng Zhang
2026-09-29  6:14   ` Jisheng Zhang
2026-09-29  6:50   ` sashiko-bot [this message]
2026-09-29  6:50     ` sashiko-bot
2026-09-29  6:14 ` [PATCH 17/20] dt-bindings: mfd: Add Synaptics SL261x global block binding Jisheng Zhang
2026-09-29  6:14   ` Jisheng Zhang
2026-09-29  6:45   ` sashiko-bot
2026-09-29  6:45     ` sashiko-bot
2026-09-29 19:55   ` Conor Dooley
2026-09-29  6:14 ` [PATCH 18/20] regulator: dt-bindings: sy8827n: support standard properties Jisheng Zhang
2026-09-29  6:14   ` Jisheng Zhang
2026-09-29  6:40   ` sashiko-bot
2026-09-29  6:40     ` sashiko-bot
2026-09-29 19:40   ` Conor Dooley
2026-09-29  6:14 ` [PATCH 19/20] dt-bindings: arm: berlin: Add Synaptics SL261X SoC and RDK board Jisheng Zhang
2026-09-29  6:14   ` Jisheng Zhang
2026-09-29  6:53   ` sashiko-bot
2026-09-29  6:53     ` sashiko-bot
2026-09-29  6:14 ` [PATCH 20/20] arm64: dts: synaptics: " Jisheng Zhang
2026-09-29  6:14   ` Jisheng Zhang
2026-09-29  6:52   ` sashiko-bot
2026-09-29  6:52     ` sashiko-bot
2026-09-29 19:38 ` [PATCH 00/20] arm64: add Synaptics SL261X SoCs and RDK boards Conor Dooley
2026-09-30 14:15   ` Jisheng Zhang
2026-09-30 14:15     ` Jisheng Zhang
2026-09-30 14:32   ` Jisheng Zhang
2026-09-30 14:32     ` Jisheng Zhang
2026-09-30 16:35     ` Conor Dooley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260929065021.5E2B11F000FF@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=Frank.Li@kernel.org \
    --cc=alexandre.belloni@bootlin.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=jszhang@kernel.org \
    --cc=lee@kernel.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-i3c@lists.infradead.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=mfd@lists.linux.dev \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.