]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
power: reset: sc27xx: Add platform_device_id table
authorOtto Pflüger <otto.pflueger@abscue.de>
Thu, 28 May 2026 16:18:24 +0000 (18:18 +0200)
committerSebastian Reichel <sebastian.reichel@collabora.com>
Mon, 1 Jun 2026 23:37:00 +0000 (01:37 +0200)
Make the poweroff driver for SC27xx-series PMICs probe automatically.
Since the device representing the poweroff functionality of the SC27xx
PMIC is not supposed to have a dedicated device tree node without any
corresponding DT resources [1], an of_device_id table cannot be used
here. Instead, use a platform_device_id table to match the poweroff
sub-device instantiated by the parent MFD driver.

[1]: https://lore.kernel.org/all/20251002025344.GA2958334-robh@kernel.org/

Signed-off-by: Otto Pflüger <otto.pflueger@abscue.de>
Link: https://patch.msgid.link/20260528-sc27xx-mfd-cells-v3-2-25cd685d2743@abscue.de
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
drivers/power/reset/sc27xx-poweroff.c

index 393bd1c33b73b1416942a80b60b53cfe89ed5f12..6376706bf561efed6bedd11cfa2d2b450e4f6544 100644 (file)
@@ -6,6 +6,7 @@
 
 #include <linux/cpu.h>
 #include <linux/kernel.h>
+#include <linux/mod_devicetable.h>
 #include <linux/module.h>
 #include <linux/platform_device.h>
 #include <linux/pm.h>
@@ -70,11 +71,18 @@ static int sc27xx_poweroff_probe(struct platform_device *pdev)
        return 0;
 }
 
+static const struct platform_device_id sc27xx_poweroff_id_table[] = {
+       { "sc2731-poweroff" },
+       { }
+};
+MODULE_DEVICE_TABLE(platform, sc27xx_poweroff_id_table);
+
 static struct platform_driver sc27xx_poweroff_driver = {
        .probe = sc27xx_poweroff_probe,
        .driver = {
                .name = "sc27xx-poweroff",
        },
+       .id_table = sc27xx_poweroff_id_table,
 };
 module_platform_driver(sc27xx_poweroff_driver);