diff mbox series

[v3,1/2] regulator: mt6358: Add OF match table

Message ID 20210112100659.19350-1-matthias.bgg@kernel.org (mailing list archive)
State New
Headers show
Series [v3,1/2] regulator: mt6358: Add OF match table | expand

Commit Message

Matthias Brugger Jan. 12, 2021, 10:06 a.m. UTC
From: Matthias Brugger <mbrugger@suse.com>

The binding documentation mentions that a compatible is required for the
MT6358 device node. But the driver does not provide a OF match table.
This way auto-loading is broken as the MFD driver that registers the
device has a .of_compatible set which makes the platform .uevent
callback report a OF modalias, but that's not in the module.

Fixes: f67ff1bd58f0 ("regulator: mt6358: Add support for MT6358 regulator")
Signed-off-by: Matthias Brugger <mbrugger@suse.com>

---

Changes in v3:
- drop mt6360 patch

Changes in v2:
- check for CONFIG_OF
- add Fixes tag

 drivers/regulator/mt6358-regulator.c | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Mark Brown Jan. 12, 2021, 1:52 p.m. UTC | #1
On Tue, Jan 12, 2021 at 11:06:57AM +0100, matthias.bgg@kernel.org wrote:

> The binding documentation mentions that a compatible is required for the
> MT6358 device node. But the driver does not provide a OF match table.
> This way auto-loading is broken as the MFD driver that registers the
> device has a .of_compatible set which makes the platform .uevent
> callback report a OF modalias, but that's not in the module.

As previously discussed it'd be better to fix the binding document to
deprecate the requirement for the compatible and remove the usage from
the MFD.
diff mbox series

Patch

diff --git a/drivers/regulator/mt6358-regulator.c b/drivers/regulator/mt6358-regulator.c
index 13cb6ac9a892..a4ed19a54ec6 100644
--- a/drivers/regulator/mt6358-regulator.c
+++ b/drivers/regulator/mt6358-regulator.c
@@ -534,9 +534,18 @@  static const struct platform_device_id mt6358_platform_ids[] = {
 };
 MODULE_DEVICE_TABLE(platform, mt6358_platform_ids);
 
+#ifdef CONFIG_OF
+static const struct of_device_id mt6358_of_match[] = {
+	{ .compatible = "mediatek,mt6358-regulator", },
+	{ /* sentinel */ },
+};
+MODULE_DEVICE_TABLE(of, mt6358_of_match);
+#endif
+
 static struct platform_driver mt6358_regulator_driver = {
 	.driver = {
 		.name = "mt6358-regulator",
+		.of_match_table = of_match_ptr(mt6358_of_match),
 	},
 	.probe = mt6358_regulator_probe,
 	.id_table = mt6358_platform_ids,