* [PATCH] platform/x86: portwell-ec: Move watchdog device under correct platform hierarchy
@ 2025-06-13 8:26 Ivan Hu
2025-06-13 12:08 ` Ilpo Järvinen
0 siblings, 1 reply; 2+ messages in thread
From: Ivan Hu @ 2025-06-13 8:26 UTC (permalink / raw)
To: hdegoede, jesse.huang, ilpo.jarvinen
Cc: platform-driver-x86, linux-kernel, ivan.hu
Without explicitly setting a parent for the watchdog device, the device is
registered with a NULL parent. This causes device_add() (called internally
by devm_watchdog_register_device()) to register the device under
/sys/devices/virtual, since no parent is provided. The result is:
DEVPATH=/devices/virtual/watchdog/watchdog0
To fix this, assign &pdev->dev as the parent of the watchdog device before
calling devm_watchdog_register_device(). This ensures the device is
associated with the Portwell EC platform device and placed correctly in
sysfs as:
DEVPATH=/devices/platform/portwell-ec/watchdog/watchdog0
This aligns the device hierarchy with expectations and avoids misplacement
under the virtual class.
Signed-off-by: Ivan Hu <ivan.hu@canonical.com>
---
drivers/platform/x86/portwell-ec.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/platform/x86/portwell-ec.c b/drivers/platform/x86/portwell-ec.c
index 8b788822237b..3e019c51913e 100644
--- a/drivers/platform/x86/portwell-ec.c
+++ b/drivers/platform/x86/portwell-ec.c
@@ -236,6 +236,7 @@ static int pwec_probe(struct platform_device *pdev)
return ret;
}
+ ec_wdt_dev.parent = &pdev->dev;
ret = devm_watchdog_register_device(&pdev->dev, &ec_wdt_dev);
if (ret < 0) {
dev_err(&pdev->dev, "failed to register Portwell EC Watchdog\n");
--
2.34.1
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [PATCH] platform/x86: portwell-ec: Move watchdog device under correct platform hierarchy
2025-06-13 8:26 [PATCH] platform/x86: portwell-ec: Move watchdog device under correct platform hierarchy Ivan Hu
@ 2025-06-13 12:08 ` Ilpo Järvinen
0 siblings, 0 replies; 2+ messages in thread
From: Ilpo Järvinen @ 2025-06-13 12:08 UTC (permalink / raw)
To: Ivan Hu; +Cc: Hans de Goede, jesse.huang, platform-driver-x86, LKML
On Fri, 13 Jun 2025, Ivan Hu wrote:
> Without explicitly setting a parent for the watchdog device, the device is
> registered with a NULL parent. This causes device_add() (called internally
> by devm_watchdog_register_device()) to register the device under
> /sys/devices/virtual, since no parent is provided. The result is:
>
> DEVPATH=/devices/virtual/watchdog/watchdog0
>
> To fix this, assign &pdev->dev as the parent of the watchdog device before
> calling devm_watchdog_register_device(). This ensures the device is
> associated with the Portwell EC platform device and placed correctly in
> sysfs as:
>
> DEVPATH=/devices/platform/portwell-ec/watchdog/watchdog0
>
> This aligns the device hierarchy with expectations and avoids misplacement
> under the virtual class.
>
This is missing the Fixes tag.
> Signed-off-by: Ivan Hu <ivan.hu@canonical.com>
> ---
> drivers/platform/x86/portwell-ec.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/platform/x86/portwell-ec.c b/drivers/platform/x86/portwell-ec.c
> index 8b788822237b..3e019c51913e 100644
> --- a/drivers/platform/x86/portwell-ec.c
> +++ b/drivers/platform/x86/portwell-ec.c
> @@ -236,6 +236,7 @@ static int pwec_probe(struct platform_device *pdev)
> return ret;
> }
>
> + ec_wdt_dev.parent = &pdev->dev;
> ret = devm_watchdog_register_device(&pdev->dev, &ec_wdt_dev);
> if (ret < 0) {
> dev_err(&pdev->dev, "failed to register Portwell EC Watchdog\n");
>
--
i.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-06-13 12:08 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-06-13 8:26 [PATCH] platform/x86: portwell-ec: Move watchdog device under correct platform hierarchy Ivan Hu
2025-06-13 12:08 ` Ilpo Järvinen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®