All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lee Jones <lee@kernel.org>
To: sashiko-reviews@lists.linux.dev
Cc: Ronald Claveau <linux-kernel-dev@aliel.fr>,
	neil.armstrong@linaro.org, linux-amlogic@lists.infradead.org,
	mfd@lists.linux.dev, conor+dt@kernel.org, robh@kernel.org,
	devicetree@vger.kernel.org
Subject: Re: [PATCH v9 3/6] mfd: khadas-mcu: Add support for VIM4 MCU variant
Date: Wed, 12 Aug 2026 13:00:07 +0100	[thread overview]
Message-ID: <20260812120007.GO1072730@google.com> (raw)
In-Reply-To: <20260805081913.272991F00A3A@smtp.kernel.org>

On Wed, 05 Aug 2026, sashiko-bot@kernel.org wrote:

> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
> - [High] The driver unconditionally fails to probe on generic Khadas MCU boards (VIM1/VIM2/VIM3) due to a NULL pointer check on valid match data.

Please review, explain or fix the Sashiko review(s).

If this is a set, this request includes the other patches too.

> --
> 
> --- Patch [3]: [PATCH v9 3/6] mfd: khadas-mcu: Add support for VIM4 MCU variant ---
> commit eab418dac1b5e94bd297b0a14e92e87b2063dc9b
> Author: Ronald Claveau <linux-kernel-dev@aliel.fr>
> 
> mfd: khadas-mcu: Add support for VIM4 MCU variant
> 
> This patch refactors the probe function to use per-variant values instead of
> hardcoded globals. It adds dedicated regmap configuration, fan control register,
> and duty-cycle levels for the VIM4 MCU variant. A new compatible string
> "khadas,vim4-mcu" is introduced for this new device.
> 
> > diff --git a/drivers/mfd/khadas-mcu.c b/drivers/mfd/khadas-mcu.c
> > index 0e74efe14f367..4cb305ac915e1 100644
> > --- a/drivers/mfd/khadas-mcu.c
> > +++ b/drivers/mfd/khadas-mcu.c
> [ ... ]
> > @@ -75,47 +75,138 @@ static const struct regmap_config khadas_mcu_regmap_config = {
> [ ... ]
> >  static int khadas_mcu_probe(struct i2c_client *client)
> >  {
> > +	const struct mfd_cell *cells, *fan_cells;
> > +	const struct regmap_config *regmap_cfg;
> >  	struct device *dev = &client->dev;
> > +	int ncells, nfan_cells, ret;
> >  	struct khadas_mcu *ddata;
> > -	int ret;
> > +	const void *match;
> >  
> >  	ddata = devm_kzalloc(dev, sizeof(*ddata), GFP_KERNEL);
> >  	if (!ddata)
> >  		return -ENOMEM;
> >  
> > +	match = i2c_get_match_data(client);
> > +	if (!match)
> > +		return -ENODEV;
> 
> [Severity: High]
> Does this code inadvertently break the probe for generic Khadas MCU boards
> (VIM1/VIM2/VIM3)?
> 
> Because KHADAS_MCU_GENERIC evaluates to 0 in its enum, i2c_get_match_data() will
> return a NULL pointer when matching "khadas,mcu" in khadas_mcu_probe() in
> drivers/mfd/khadas-mcu.c. This will cause the check here to evaluate to true and
> unconditionally abort the probe with -ENODEV.
> 
> [ ... ]
> > @@ -123,7 +214,8 @@ static int khadas_mcu_probe(struct i2c_client *client)
> >  
> >  #ifdef CONFIG_OF
> >  static const struct of_device_id khadas_mcu_of_match[] = {
> > -	{ .compatible = "khadas,mcu", },
> > +	{ .compatible = "khadas,mcu", .data = (void *)KHADAS_MCU_GENERIC },
> > +	{ .compatible = "khadas,vim4-mcu", .data = (void *)KHADAS_MCU_VIM4 },
> >  	{},
> >  };
> >  MODULE_DEVICE_TABLE(of, khadas_mcu_of_match);
> 
> -- 
> Sashiko AI review · https://sashiko.dev/#/patchset/20260805-add-mcu-fan-khadas-vim4-v9-0-75df78710b9e@aliel.fr?part=3

-- 
Lee Jones

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

WARNING: multiple messages have this Message-ID (diff)
From: Lee Jones <lee@kernel.org>
To: sashiko-reviews@lists.linux.dev
Cc: Ronald Claveau <linux-kernel-dev@aliel.fr>,
	neil.armstrong@linaro.org, linux-amlogic@lists.infradead.org,
	mfd@lists.linux.dev, conor+dt@kernel.org, robh@kernel.org,
	devicetree@vger.kernel.org
Subject: Re: [PATCH v9 3/6] mfd: khadas-mcu: Add support for VIM4 MCU variant
Date: Wed, 12 Aug 2026 13:00:07 +0100	[thread overview]
Message-ID: <20260812120007.GO1072730@google.com> (raw)
In-Reply-To: <20260805081913.272991F00A3A@smtp.kernel.org>

On Wed, 05 Aug 2026, sashiko-bot@kernel.org wrote:

> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
> - [High] The driver unconditionally fails to probe on generic Khadas MCU boards (VIM1/VIM2/VIM3) due to a NULL pointer check on valid match data.

Please review, explain or fix the Sashiko review(s).

If this is a set, this request includes the other patches too.

> --
> 
> --- Patch [3]: [PATCH v9 3/6] mfd: khadas-mcu: Add support for VIM4 MCU variant ---
> commit eab418dac1b5e94bd297b0a14e92e87b2063dc9b
> Author: Ronald Claveau <linux-kernel-dev@aliel.fr>
> 
> mfd: khadas-mcu: Add support for VIM4 MCU variant
> 
> This patch refactors the probe function to use per-variant values instead of
> hardcoded globals. It adds dedicated regmap configuration, fan control register,
> and duty-cycle levels for the VIM4 MCU variant. A new compatible string
> "khadas,vim4-mcu" is introduced for this new device.
> 
> > diff --git a/drivers/mfd/khadas-mcu.c b/drivers/mfd/khadas-mcu.c
> > index 0e74efe14f367..4cb305ac915e1 100644
> > --- a/drivers/mfd/khadas-mcu.c
> > +++ b/drivers/mfd/khadas-mcu.c
> [ ... ]
> > @@ -75,47 +75,138 @@ static const struct regmap_config khadas_mcu_regmap_config = {
> [ ... ]
> >  static int khadas_mcu_probe(struct i2c_client *client)
> >  {
> > +	const struct mfd_cell *cells, *fan_cells;
> > +	const struct regmap_config *regmap_cfg;
> >  	struct device *dev = &client->dev;
> > +	int ncells, nfan_cells, ret;
> >  	struct khadas_mcu *ddata;
> > -	int ret;
> > +	const void *match;
> >  
> >  	ddata = devm_kzalloc(dev, sizeof(*ddata), GFP_KERNEL);
> >  	if (!ddata)
> >  		return -ENOMEM;
> >  
> > +	match = i2c_get_match_data(client);
> > +	if (!match)
> > +		return -ENODEV;
> 
> [Severity: High]
> Does this code inadvertently break the probe for generic Khadas MCU boards
> (VIM1/VIM2/VIM3)?
> 
> Because KHADAS_MCU_GENERIC evaluates to 0 in its enum, i2c_get_match_data() will
> return a NULL pointer when matching "khadas,mcu" in khadas_mcu_probe() in
> drivers/mfd/khadas-mcu.c. This will cause the check here to evaluate to true and
> unconditionally abort the probe with -ENODEV.
> 
> [ ... ]
> > @@ -123,7 +214,8 @@ static int khadas_mcu_probe(struct i2c_client *client)
> >  
> >  #ifdef CONFIG_OF
> >  static const struct of_device_id khadas_mcu_of_match[] = {
> > -	{ .compatible = "khadas,mcu", },
> > +	{ .compatible = "khadas,mcu", .data = (void *)KHADAS_MCU_GENERIC },
> > +	{ .compatible = "khadas,vim4-mcu", .data = (void *)KHADAS_MCU_VIM4 },
> >  	{},
> >  };
> >  MODULE_DEVICE_TABLE(of, khadas_mcu_of_match);
> 
> -- 
> Sashiko AI review · https://sashiko.dev/#/patchset/20260805-add-mcu-fan-khadas-vim4-v9-0-75df78710b9e@aliel.fr?part=3

-- 
Lee Jones

  reply	other threads:[~2026-08-12 12:00 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-05  8:06 [PATCH v9 0/6] Add VIM4 MCU/FAN support Ronald Claveau via B4 Relay
2026-08-05  8:06 ` Ronald Claveau
2026-08-05  8:06 ` Ronald Claveau via B4 Relay
2026-08-05  8:06 ` [PATCH v9 1/6] mfd: khadas-mcu: Add per-variant configuration infrastructure and VIM4 support Ronald Claveau via B4 Relay
2026-08-05  8:06   ` Ronald Claveau
2026-08-05  8:06   ` Ronald Claveau via B4 Relay
2026-08-05  8:16   ` sashiko-bot
2026-08-05  8:16     ` sashiko-bot
2026-08-05  8:06 ` [PATCH v9 2/6] mfd: khadas-mcu: Use MFD_CELL_* macros for cell declarations Ronald Claveau via B4 Relay
2026-08-05  8:06   ` Ronald Claveau
2026-08-05  8:06   ` Ronald Claveau via B4 Relay
2026-08-05  8:16   ` sashiko-bot
2026-08-05  8:16     ` sashiko-bot
2026-08-05  8:06 ` [PATCH v9 3/6] mfd: khadas-mcu: Add support for VIM4 MCU variant Ronald Claveau via B4 Relay
2026-08-05  8:06   ` Ronald Claveau
2026-08-05  8:06   ` Ronald Claveau via B4 Relay
2026-08-05  8:19   ` sashiko-bot
2026-08-05  8:19     ` sashiko-bot
2026-08-12 12:00     ` Lee Jones [this message]
2026-08-12 12:00       ` Lee Jones
2026-08-05  8:06 ` [PATCH v9 4/6] thermal: khadas-mcu-fan: Add fan config from platform data Add regulator support Ronald Claveau via B4 Relay
2026-08-05  8:06   ` Ronald Claveau
2026-08-05  8:06   ` Ronald Claveau via B4 Relay
2026-08-05  8:21   ` sashiko-bot
2026-08-05  8:21     ` sashiko-bot
2026-08-07  2:34   ` Daniel Lezcano
2026-08-07  2:34     ` Daniel Lezcano
2026-08-05  8:06 ` [PATCH v9 5/6] arm64: dts: amlogic: t7: Add i2c controller node Ronald Claveau via B4 Relay
2026-08-05  8:06   ` Ronald Claveau
2026-08-05  8:06   ` Ronald Claveau via B4 Relay
2026-08-05  8:19   ` sashiko-bot
2026-08-05  8:19     ` sashiko-bot
2026-08-05  8:06 ` [PATCH v9 6/6] arm64: dts: amlogic: t7: khadas-vim4: Add i2c MCU fan node Ronald Claveau via B4 Relay
2026-08-05  8:06   ` Ronald Claveau
2026-08-05  8:06   ` Ronald Claveau via B4 Relay
2026-08-05  8:24   ` sashiko-bot
2026-08-05  8:24     ` sashiko-bot

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=20260812120007.GO1072730@google.com \
    --to=lee@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-amlogic@lists.infradead.org \
    --cc=linux-kernel-dev@aliel.fr \
    --cc=mfd@lists.linux.dev \
    --cc=neil.armstrong@linaro.org \
    --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.