lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8958966b96140aaaae97b480b7a6c1698a6d2ae2.camel@collabora.com>
Date: Thu, 03 Jul 2025 12:38:59 +0200
From: Louis-Alexis Eyraud <louisalexis.eyraud@...labora.com>
To: Dmitry Torokhov <dmitry.torokhov@...il.com>, Lee Jones <lee@...nel.org>
Cc: Matthias Brugger <matthias.bgg@...il.com>, AngeloGioacchino Del Regno
	 <angelogioacchino.delregno@...labora.com>, Yassine Oudjana
	 <y.oudjana@...tonmail.com>, Nícolas "F. R. A. Prado"
	 <nfraprado@...labora.com>, Fabien Parent <fparent@...libre.com>, 
	linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org, 
	linux-mediatek@...ts.infradead.org
Subject: Re: [PATCH] MFD: mt6397: do not use generic name for keypad
 sub-devices

Hi Dmitry,

On Mon, 2025-06-30 at 16:01 -0700, Dmitry Torokhov wrote:
> Do not use "mtk-pmic-keys" when creating sub-device for the keypad to
> make sure the keypad driver will only bind to the sub-device if it
> has
> support for the variant/has matching compatible.
> 
> Reported-by: Louis-Alexis Eyraud <louisalexis.eyraud@...labora.com>
> Fixes: 6e31bb8d3a63 ("mfd: mt6397: Add initial support for MT6328")
> Fixes: de58cee8c6b8 ("mfd: mt6397-core: Add MT6357 PMIC support")
> Fixes: 4a901e305011 ("mfd: mt6397-core: Add resources for PMIC keys
> for MT6359")
> Cc: stable@...r.kernel.org
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@...il.com>
> ---
> 
> This is not tested so if someone with hardware could try it out that
> would be great. I *think* it should work...
> 
>  drivers/mfd/mt6397-core.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/mfd/mt6397-core.c b/drivers/mfd/mt6397-core.c
> index 5f8ed8988907..3e58d0764c7e 100644
> --- a/drivers/mfd/mt6397-core.c
> +++ b/drivers/mfd/mt6397-core.c
> @@ -136,7 +136,7 @@ static const struct mfd_cell mt6323_devs[] = {
>  		.name = "mt6323-led",
>  		.of_compatible = "mediatek,mt6323-led"
>  	}, {
> -		.name = "mtk-pmic-keys",
> +		.name = "mt6323-keys",
>  		.num_resources = ARRAY_SIZE(mt6323_keys_resources),
>  		.resources = mt6323_keys_resources,
>  		.of_compatible = "mediatek,mt6323-keys"
> @@ -153,7 +153,7 @@ static const struct mfd_cell mt6328_devs[] = {
>  		.name = "mt6328-regulator",
>  		.of_compatible = "mediatek,mt6328-regulator"
>  	}, {
> -		.name = "mtk-pmic-keys",
> +		.name = "mt6328-keys",
>  		.num_resources = ARRAY_SIZE(mt6328_keys_resources),
>  		.resources = mt6328_keys_resources,
>  		.of_compatible = "mediatek,mt6328-keys"
> @@ -175,7 +175,7 @@ static const struct mfd_cell mt6357_devs[] = {
>  		.name = "mt6357-sound",
>  		.of_compatible = "mediatek,mt6357-sound"
>  	}, {
> -		.name = "mtk-pmic-keys",
> +		.name = "mt6357-keys",
>  		.num_resources = ARRAY_SIZE(mt6357_keys_resources),
>  		.resources = mt6357_keys_resources,
>  		.of_compatible = "mediatek,mt6357-keys"
> @@ -196,7 +196,7 @@ static const struct mfd_cell mt6331_mt6332_devs[]
> = {
>  		.name = "mt6332-regulator",
>  		.of_compatible = "mediatek,mt6332-regulator"
>  	}, {
> -		.name = "mtk-pmic-keys",
> +		.name = "mt6331-keys",
>  		.num_resources = ARRAY_SIZE(mt6331_keys_resources),
>  		.resources = mt6331_keys_resources,
>  		.of_compatible = "mediatek,mt6331-keys"
> @@ -240,7 +240,7 @@ static const struct mfd_cell mt6359_devs[] = {
>  	},
>  	{ .name = "mt6359-sound", },
>  	{
> -		.name = "mtk-pmic-keys",
> +		.name = "mt6359-keys",
>  		.num_resources = ARRAY_SIZE(mt6359_keys_resources),
>  		.resources = mt6359_keys_resources,
>  		.of_compatible = "mediatek,mt6359-keys"
> @@ -272,7 +272,7 @@ static const struct mfd_cell mt6397_devs[] = {
>  		.name = "mt6397-pinctrl",
>  		.of_compatible = "mediatek,mt6397-pinctrl",
>  	}, {
> -		.name = "mtk-pmic-keys",
> +		.name = "mt6397-keys",
>  		.num_resources = ARRAY_SIZE(mt6397_keys_resources),
>  		.resources = mt6397_keys_resources,
>  		.of_compatible = "mediatek,mt6397-keys"
> -- 
> 2.50.0.727.gbf7dc18ff4-goog
> 
Thanks for the patch.

I've tested it with a kernel based on next-20250702 on both Mediatek
Genio 350-EVK and Genio 1200-EVK boards with mtk-pmic-keys driver
enabled either as builtin or module.

With the Genio 350-EVK, the mtk-pmic-keys driver probes OK: 
```
[    0.601874] input: mtk-pmic-keys as
/devices/platform/soc/1000d000.pwrap/1000d000.pwrap:pmic/mt6357-
keys/input/input0
```
The keys work too.

For the Genio 1200-EVK, it fails to probe as expected (because
'mediatek,mt6359-keys' compatible is missing) and there is indeed no
kernel panic in the builtin case (the issue I reported with my patch)
```
[    0.459178] mt6359-keys: Failed to locate of_node [id: -1]
```

Tested-by: Louis-Alexis Eyraud <louisalexis.eyraud@...labora.com> # on
Mediatek Genio 350-EVK and Genio 1200-EVK

Regards,
Louis-Alexis

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ