[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20231029114909.15652-1-peter.ujfalusi@gmail.com>
Date: Sun, 29 Oct 2023 13:49:09 +0200
From: Peter Ujfalusi <peter.ujfalusi@...il.com>
To: tony@...mide.com, lee@...nel.org, robh@...nel.org
Cc: wens@...e.org, linux-omap@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH] mfd: twl4030-power: Revert to use of_match_device()
The core twl chip is probed via i2c and the dev->driver->of_match_table is
NULL, causing the driver to fail to probe.
This partially reverts commit 1e0c866887f4.
Fixes: 1e0c866887f4 ("mfd: Use device_get_match_data() in a bunch of drivers")
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@...il.com>
---
drivers/mfd/twl4030-power.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/mfd/twl4030-power.c b/drivers/mfd/twl4030-power.c
index 1595e9c76132..e35b0f788c50 100644
--- a/drivers/mfd/twl4030-power.c
+++ b/drivers/mfd/twl4030-power.c
@@ -27,8 +27,8 @@
#include <linux/pm.h>
#include <linux/mfd/twl.h>
#include <linux/platform_device.h>
-#include <linux/property.h>
#include <linux/of.h>
+#include <linux/of_device.h>
#include <asm/mach-types.h>
@@ -883,6 +883,7 @@ static int twl4030_power_probe(struct platform_device *pdev)
{
const struct twl4030_power_data *pdata = dev_get_platdata(&pdev->dev);
struct device_node *node = pdev->dev.of_node;
+ const struct of_device_id *match;
int err = 0;
int err2 = 0;
u8 val;
@@ -903,8 +904,10 @@ static int twl4030_power_probe(struct platform_device *pdev)
return err;
}
- if (node)
- pdata = device_get_match_data(&pdev->dev);
+ match = of_match_device(of_match_ptr(twl4030_power_of_match),
+ &pdev->dev);
+ if (match && match->data)
+ pdata = match->data;
if (pdata) {
err = twl4030_power_configure_scripts(pdata);
--
2.42.0
Powered by blists - more mailing lists