Re: [PATCH] w1: gpio: fix problem with platfom data in w1-gpio

From: Andrew F. Davis
Date: Mon Feb 19 2018 - 08:30:06 EST


On 02/18/2018 11:19 AM, Pawel Dembicki wrote:
> 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@xxxxxxxxx>
> ---

Good catch,

Acked-by: Andrew F. Davis <afd@xxxxxx>

> drivers/w1/masters/w1-gpio.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/w1/masters/w1-gpio.c b/drivers/w1/masters/w1-gpio.c
> index a90728ceec5a..7b80762941af 100644
> --- 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 platform_device *pdev)
> 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;
>