Matthias Brugger 3ccb28
From c42c2d2e04679d68cde5bf1f9861fdc24a87b56a Mon Sep 17 00:00:00 2001
Matthias Brugger 3ccb28
From: Matthias Brugger <mbrugger@suse.com>
Matthias Brugger 3ccb28
Date: Sat, 9 Jan 2021 02:41:09 +0100
Matthias Brugger 3ccb28
Subject: regulator: mt6358: Add OF match table
Matthias Brugger 3ccb28
Patch-mainline: Submitted, 20210109112612.1221-2-matthias.bgg@kernel.org
Matthias Brugger 3ccb28
References: bsc#1180731
Matthias Brugger 3ccb28
Matthias Brugger 3ccb28
The binding documentation mentions that a compatible is required for the
Matthias Brugger 3ccb28
MT6358 device node. But the driver does not provide a OF match table.
Matthias Brugger 3ccb28
This way auto-loading is broken as the MFD driver that registers the
Matthias Brugger 3ccb28
device has a .of_compatible set which makes the platform .uevent
Matthias Brugger 3ccb28
callback report a OF modalias, but that's not in the module.
Matthias Brugger 3ccb28
Matthias Brugger 3ccb28
Fixes: f67ff1bd58f0 ("regulator: mt6358: Add support for MT6358 regulator")
Matthias Brugger 3ccb28
Signed-off-by: Matthias Brugger <mbrugger@suse.com>
Matthias Brugger 3ccb28
---
Matthias Brugger 3ccb28
 drivers/regulator/mt6358-regulator.c | 9 +++++++++
Matthias Brugger 3ccb28
 1 file changed, 9 insertions(+)
Matthias Brugger 3ccb28
Matthias Brugger 3ccb28
diff --git a/drivers/regulator/mt6358-regulator.c b/drivers/regulator/mt6358-regulator.c
Matthias Brugger 3ccb28
index 13cb6ac9a892..a4ed19a54ec6 100644
Matthias Brugger 3ccb28
--- a/drivers/regulator/mt6358-regulator.c
Matthias Brugger 3ccb28
+++ b/drivers/regulator/mt6358-regulator.c
Matthias Brugger 3ccb28
@@ -534,9 +534,18 @@ static const struct platform_device_id mt6358_platform_ids[] = {
Matthias Brugger 3ccb28
 };
Matthias Brugger 3ccb28
 MODULE_DEVICE_TABLE(platform, mt6358_platform_ids);
Matthias Brugger 3ccb28
 
Matthias Brugger 3ccb28
+#ifdef CONFIG_OF
Matthias Brugger 3ccb28
+static const struct of_device_id mt6358_of_match[] = {
Matthias Brugger 3ccb28
+	{ .compatible = "mediatek,mt6358-regulator", },
Matthias Brugger 3ccb28
+	{ /* sentinel */ },
Matthias Brugger 3ccb28
+};
Matthias Brugger 3ccb28
+MODULE_DEVICE_TABLE(of, mt6358_of_match);
Matthias Brugger 3ccb28
+#endif
Matthias Brugger 3ccb28
+
Matthias Brugger 3ccb28
 static struct platform_driver mt6358_regulator_driver = {
Matthias Brugger 3ccb28
 	.driver = {
Matthias Brugger 3ccb28
 		.name = "mt6358-regulator",
Matthias Brugger 3ccb28
+		.of_match_table = of_match_ptr(mt6358_of_match),
Matthias Brugger 3ccb28
 	},
Matthias Brugger 3ccb28
 	.probe = mt6358_regulator_probe,
Matthias Brugger 3ccb28
 	.id_table = mt6358_platform_ids,
Matthias Brugger 3ccb28
-- 
Matthias Brugger 3ccb28
2.29.2
Matthias Brugger 3ccb28