Re: [PATCH v1 09/11] regulator: bd9576: switch to using devm_fwnode_gpiod_get()
From: Andy Shevchenko
Date: Mon Sep 05 2022 - 06:41:26 EST
On Mon, Sep 5, 2022 at 9:33 AM Dmitry Torokhov
<dmitry.torokhov@xxxxxxxxx> wrote:
>
> I would like to stop exporting OF-specific devm_gpiod_get_from_of_node()
> so that gpiolib can be cleaned a bit, so let's switch to the generic
> fwnode property API.
>
> While at it switch the rest of the calls to read properties in
> bd957x_probe() to the generic device property API as well.
With or without below addressed,
Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
>
> diff --git a/drivers/regulator/bd9576-regulator.c b/drivers/regulator/bd9576-regulator.c
> index aa42da4d141e..393c8693b327 100644
> --- a/drivers/regulator/bd9576-regulator.c
> +++ b/drivers/regulator/bd9576-regulator.c
> @@ -12,6 +12,7 @@
> #include <linux/module.h>
> #include <linux/of.h>
> #include <linux/platform_device.h>
> +#include <linux/property.h>
> #include <linux/regulator/driver.h>
> #include <linux/regulator/machine.h>
> #include <linux/regulator/of_regulator.h>
> @@ -939,8 +940,8 @@ static int bd957x_probe(struct platform_device *pdev)
> }
>
> ic_data->regmap = regmap;
> - vout_mode = of_property_read_bool(pdev->dev.parent->of_node,
> - "rohm,vout1-en-low");
> + vout_mode = device_property_read_bool(pdev->dev.parent,
> + "rohm,vout1-en-low");
They all using parent device and you may make code neater by adding
struct device *parent = pdev->dev.parent;
at the definition block of the probe function.
> if (vout_mode) {
> struct gpio_desc *en;
>
> @@ -948,10 +949,10 @@ static int bd957x_probe(struct platform_device *pdev)
>
> /* VOUT1 enable state judged by VOUT1_EN pin */
> /* See if we have GPIO defined */
> - en = devm_gpiod_get_from_of_node(&pdev->dev,
> - pdev->dev.parent->of_node,
> - "rohm,vout1-en-gpios", 0,
> - GPIOD_OUT_LOW, "vout1-en");
> + en = devm_fwnode_gpiod_get(&pdev->dev,
> + dev_fwnode(pdev->dev.parent),
> + "rohm,vout1-en", GPIOD_OUT_LOW,
> + "vout1-en");
> if (!IS_ERR(en)) {
> /* VOUT1_OPS gpio ctrl */
> /*
> @@ -986,8 +987,8 @@ static int bd957x_probe(struct platform_device *pdev)
> * like DDR voltage selection.
> */
> platform_set_drvdata(pdev, ic_data);
> - ddr_sel = of_property_read_bool(pdev->dev.parent->of_node,
> - "rohm,ddr-sel-low");
> + ddr_sel = device_property_read_bool(pdev->dev.parent,
> + "rohm,ddr-sel-low");
> if (ddr_sel)
> ic_data->regulator_data[2].desc.fixed_uV = 1350000;
> else
>
> --
> b4 0.10.0-dev-fc921
--
With Best Regards,
Andy Shevchenko