]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
watchdog: lenovo_se10_wdt: Add support for SE10 Gen 2 platform
authorMark Pearson <mpearson-lenovo@squebb.ca>
Tue, 28 Apr 2026 12:49:44 +0000 (08:49 -0400)
committerGuenter Roeck <linux@roeck-us.net>
Sun, 10 May 2026 15:31:34 +0000 (08:31 -0700)
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>
Link: https://lore.kernel.org/r/20260428124954.1193450-1-mpearson-lenovo@squebb.ca
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/watchdog/lenovo_se10_wdt.c

index cd0500e5080b49542a1d4d66bc6f62fd01df376d..99ff01af41243cdd52e7986cd4aed2cb4a2331eb 100644 (file)
@@ -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);