drivers/watchdog/lenovo_se10_wdt.c | 66 +++++++++++++++++++++++++++++- 1 file changed, 65 insertions(+), 1 deletion(-)
The Lenovo SE10 Gen 2 platform uses a watchdog chip from the same family.
Watchdog functionality is the same, so update the driver with the new chip
ID.
Add the Gen 2 MTM's to enable support on the platform.
Tested on SE10 G2.
Signed-off-by: Mark Pearson <mpearson-lenovo@squebb.ca>
---
drivers/watchdog/lenovo_se10_wdt.c | 66 +++++++++++++++++++++++++++++-
1 file changed, 65 insertions(+), 1 deletion(-)
diff --git a/drivers/watchdog/lenovo_se10_wdt.c b/drivers/watchdog/lenovo_se10_wdt.c
index cd0500e5080b..99ff01af4124 100644
--- a/drivers/watchdog/lenovo_se10_wdt.c
+++ b/drivers/watchdog/lenovo_se10_wdt.c
@@ -178,7 +178,7 @@ static int se10_wdt_probe(struct platform_device *pdev)
return -EBUSY;
chip_id = get_chipID();
- if (chip_id != 0x5632) {
+ if (chip_id != 0x5632 && chip_id != 0x5652) {
release_region(CFG_PORT, CFG_SIZE);
return -ENODEV;
}
@@ -280,6 +280,70 @@ static const struct dmi_system_id se10_dmi_table[] __initconst = {
},
.callback = se10_create_platform_device,
},
+ {
+ .ident = "LENOVO-SE10-G2",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "13LJ"),
+ },
+ .callback = se10_create_platform_device,
+ },
+ {
+ .ident = "LENOVO-SE10-G2",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "13LK"),
+ },
+ .callback = se10_create_platform_device,
+ },
+ {
+ .ident = "LENOVO-SE10-G2",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "13S1"),
+ },
+ .callback = se10_create_platform_device,
+ },
+ {
+ .ident = "LENOVO-SE10-G2",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "13S2"),
+ },
+ .callback = se10_create_platform_device,
+ },
+ {
+ .ident = "LENOVO-SE10-G2",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "13S3"),
+ },
+ .callback = se10_create_platform_device,
+ },
+ {
+ .ident = "LENOVO-SE10-G2",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "13S4"),
+ },
+ .callback = se10_create_platform_device,
+ },
+ {
+ .ident = "LENOVO-SE10-G2",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "13S5"),
+ },
+ .callback = se10_create_platform_device,
+ },
+ {
+ .ident = "LENOVO-SE10-G2",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "13S6"),
+ },
+ .callback = se10_create_platform_device,
+ },
{}
};
MODULE_DEVICE_TABLE(dmi, se10_dmi_table);
--
2.43.0
On 4/28/26 05:49, Mark Pearson wrote:
> The Lenovo SE10 Gen 2 platform uses a watchdog chip from the same family.
> Watchdog functionality is the same, so update the driver with the new chip
> ID.
>
> Add the Gen 2 MTM's to enable support on the platform.
>
> Tested on SE10 G2.
>
> Signed-off-by: Mark Pearson <mpearson-lenovo@squebb.ca>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
... but you might want to have a look at the AI review.
It appears that the driver has some issues.
https://sashiko.dev/#/patchset/20260428124954.1193450-1-mpearson-lenovo%40squebb.ca
Patches welcome ...
Thanks,
Guenter
> ---
> drivers/watchdog/lenovo_se10_wdt.c | 66 +++++++++++++++++++++++++++++-
> 1 file changed, 65 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/watchdog/lenovo_se10_wdt.c b/drivers/watchdog/lenovo_se10_wdt.c
> index cd0500e5080b..99ff01af4124 100644
> --- a/drivers/watchdog/lenovo_se10_wdt.c
> +++ b/drivers/watchdog/lenovo_se10_wdt.c
> @@ -178,7 +178,7 @@ static int se10_wdt_probe(struct platform_device *pdev)
> return -EBUSY;
>
> chip_id = get_chipID();
> - if (chip_id != 0x5632) {
> + if (chip_id != 0x5632 && chip_id != 0x5652) {
> release_region(CFG_PORT, CFG_SIZE);
> return -ENODEV;
> }
> @@ -280,6 +280,70 @@ static const struct dmi_system_id se10_dmi_table[] __initconst = {
> },
> .callback = se10_create_platform_device,
> },
> + {
> + .ident = "LENOVO-SE10-G2",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_NAME, "13LJ"),
> + },
> + .callback = se10_create_platform_device,
> + },
> + {
> + .ident = "LENOVO-SE10-G2",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_NAME, "13LK"),
> + },
> + .callback = se10_create_platform_device,
> + },
> + {
> + .ident = "LENOVO-SE10-G2",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_NAME, "13S1"),
> + },
> + .callback = se10_create_platform_device,
> + },
> + {
> + .ident = "LENOVO-SE10-G2",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_NAME, "13S2"),
> + },
> + .callback = se10_create_platform_device,
> + },
> + {
> + .ident = "LENOVO-SE10-G2",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_NAME, "13S3"),
> + },
> + .callback = se10_create_platform_device,
> + },
> + {
> + .ident = "LENOVO-SE10-G2",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_NAME, "13S4"),
> + },
> + .callback = se10_create_platform_device,
> + },
> + {
> + .ident = "LENOVO-SE10-G2",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_NAME, "13S5"),
> + },
> + .callback = se10_create_platform_device,
> + },
> + {
> + .ident = "LENOVO-SE10-G2",
> + .matches = {
> + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_NAME, "13S6"),
> + },
> + .callback = se10_create_platform_device,
> + },
> {}
> };
> MODULE_DEVICE_TABLE(dmi, se10_dmi_table);
Hi Guenter, On Sun, May 3, 2026, at 5:53 PM, Guenter Roeck wrote: > On 4/28/26 05:49, Mark Pearson wrote: >> The Lenovo SE10 Gen 2 platform uses a watchdog chip from the same family. >> Watchdog functionality is the same, so update the driver with the new chip >> ID. >> >> Add the Gen 2 MTM's to enable support on the platform. >> >> Tested on SE10 G2. >> >> Signed-off-by: Mark Pearson <mpearson-lenovo@squebb.ca> > > Reviewed-by: Guenter Roeck <linux@roeck-us.net> > > ... but you might want to have a look at the AI review. > It appears that the driver has some issues. > > https://sashiko.dev/#/patchset/20260428124954.1193450-1-mpearson-lenovo%40squebb.ca > > Patches welcome ... > Thanks for the review. Ack on the AI review patch - thanks for flagging that as I was unaware of those (I'd heard about sashiko.dev - but hadn't thought to check it for results). It looks like a valid/good thing to fix. I assume it's OK if I push that as a separate patch rather than combining it with this? Mark
On 5/4/26 06:13, Mark Pearson wrote: > Hi Guenter, > > On Sun, May 3, 2026, at 5:53 PM, Guenter Roeck wrote: >> On 4/28/26 05:49, Mark Pearson wrote: >>> The Lenovo SE10 Gen 2 platform uses a watchdog chip from the same family. >>> Watchdog functionality is the same, so update the driver with the new chip >>> ID. >>> >>> Add the Gen 2 MTM's to enable support on the platform. >>> >>> Tested on SE10 G2. >>> >>> Signed-off-by: Mark Pearson <mpearson-lenovo@squebb.ca> >> >> Reviewed-by: Guenter Roeck <linux@roeck-us.net> >> >> ... but you might want to have a look at the AI review. >> It appears that the driver has some issues. >> >> https://sashiko.dev/#/patchset/20260428124954.1193450-1-mpearson-lenovo%40squebb.ca >> >> Patches welcome ... >> > Thanks for the review. > > Ack on the AI review patch - thanks for flagging that as I was unaware of those (I'd heard about sashiko.dev - but hadn't thought to check it for results). > It looks like a valid/good thing to fix. I assume it's OK if I push that as a separate patch rather than combining it with this? > Yes, please. I updated Sashiko's configuration to reply directly to the author and to the mailing list for watchdog patches, so going forward you (and everyone on the list) will get its feedback on watchdog patches by e-mail. Thanks, Guenter
© 2016 - 2026 Red Hat, Inc.