Re: [PATCH 2/6] regulator: arizona-ldo1: Move setup processing from arizona-core

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Tue, 01 Apr 2014, Charles Keepax wrote:

> It is more idiomatic to process things relating to the regulator in its
> driver. This patch moves both processing of device tree relating to the
> regulator and checking if the regulator is external from arizona-core
> into the regulator driver.
> 
> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
> ---
>  drivers/mfd/arizona-core.c       |   12 +++---------
>  drivers/regulator/arizona-ldo1.c |   32 ++++++++++++++++++++++++++++++++
>  2 files changed, 35 insertions(+), 9 deletions(-)

[...]

> diff --git a/drivers/regulator/arizona-ldo1.c b/drivers/regulator/arizona-ldo1.c
> index b1033d3..211af83 100644
> --- a/drivers/regulator/arizona-ldo1.c
> +++ b/drivers/regulator/arizona-ldo1.c
> @@ -178,6 +178,22 @@ static const struct regulator_init_data arizona_ldo1_default = {
>  	.num_consumer_supplies = 1,
>  };
>  
> +#ifdef CONFIG_OF
> +static int arizona_ldo1_of_get_pdata(struct arizona *arizona)
> +{
> +	struct arizona_pdata *pdata = &arizona->pdata;
> +
> +	arizona_of_get_named_gpio(arizona, "wlf,ldoena", true, &pdata->ldoena);
> +
> +	return 0;
> +}
> +#else
> +static inline int arizona_ldo1_of_get_pdata(struct arizona *arizona)
> +{
> +	return 0;
> +}
> +#endif
> +

I think "if (IS_ENABLED(CONFIG_OF))" is preferred now, but I guess
that's up to Mark.

>  static int arizona_ldo1_probe(struct platform_device *pdev)
>  {
>  	struct arizona *arizona = dev_get_drvdata(pdev->dev.parent);
> @@ -186,6 +202,8 @@ static int arizona_ldo1_probe(struct platform_device *pdev)
>  	struct arizona_ldo1 *ldo1;
>  	int ret;
>  
> +	arizona->external_dcvdd = false;
> +
>  	ldo1 = devm_kzalloc(&pdev->dev, sizeof(*ldo1), GFP_KERNEL);
>  	if (!ldo1)
>  		return -ENOMEM;
> @@ -216,6 +234,13 @@ static int arizona_ldo1_probe(struct platform_device *pdev)
>  	config.dev = arizona->dev;
>  	config.driver_data = ldo1;
>  	config.regmap = arizona->regmap;
> +
> +	if (!dev_get_platdata(arizona->dev)) {
      
Here ^

> +		ret = arizona_ldo1_of_get_pdata(arizona);
> +		if (ret < 0)
> +			return ret;
> +	}
> +

For the MFD changes:
  Acked-by: Lee Jones <lee.jones@xxxxxxxxxx>

Mark,
  Post acceptance, I'd prefer to create an IB for this patch-set.

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux