openwrt/target/linux/generic/pending-4.19/0931-w1-gpio-fix-problem-with-platfom-data-in-w1-gpio.patch
Hauke Mehrtens 52a82ce3dd kernel: Copy patches from kernel 4.14 to 4.19
This just copies the files from the kernel 4.14 specific folders into
the kernel 4.19 specific folder, no changes are done to the files in
this commit.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-12-15 12:50:06 +01:00

39 lines
1.2 KiB
Diff

From d9c8bc8c1408f3e8529db6e4e04017b4c579c342 Mon Sep 17 00:00:00 2001
From: Pawel Dembicki <paweldembicki@gmail.com>
Date: Sun, 18 Feb 2018 17:08:04 +0100
Subject: [PATCH] w1: gpio: fix problem with platfom data in w1-gpio
In devices, where fdt is used, is impossible to apply platform data
without proper fdt node.
This patch allow to use platform data in devices with fdt.
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
---
drivers/w1/masters/w1-gpio.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
--- a/drivers/w1/masters/w1-gpio.c
+++ b/drivers/w1/masters/w1-gpio.c
@@ -112,17 +112,16 @@ static int w1_gpio_probe_dt(struct platf
static int w1_gpio_probe(struct platform_device *pdev)
{
struct w1_bus_master *master;
- struct w1_gpio_platform_data *pdata;
+ struct w1_gpio_platform_data *pdata = dev_get_platdata(&pdev->dev);
int err;
- if (of_have_populated_dt()) {
+ if (of_have_populated_dt() && !pdata) {
err = w1_gpio_probe_dt(pdev);
if (err < 0)
return err;
+ pdata = dev_get_platdata(&pdev->dev);
}
- pdata = dev_get_platdata(&pdev->dev);
-
if (!pdata) {
dev_err(&pdev->dev, "No configuration data\n");
return -ENXIO;