Subject: Re: [PATCH v2] ARM: pxa: fix regulator related build fail in magician_defconfig

From: Paul Parsons <[email-masked]>
Date: Wed, 7 Mar 2012 01:46:54 +0000 (GMT)

--- On Tue, 6/3/12, Paul Gortmaker <[email-masked]> wrote:
> commit
> 737f360d5bef5e01c6cfa755dca0b449a154c1e0 (linux-next)
> 
>   "regulator: Remove support for supplies specified by
> struct device"
> 
> deletes the field from the struct, but this platform was
> still trying
> to set those fields.  Convert them to use the
> REGULATOR_SUPPLY macro
> so as to fix this failure:
> 
> arch/arm/mach-pxa/magician.c:581: error: unknown field 'dev'
> specified in initializer
> arch/arm/mach-pxa/magician.c:581: warning: initialization
> from incompatible pointer type
> arch/arm/mach-pxa/magician.c:585: error: unknown field 'dev'
> specified in initializer
> arch/arm/mach-pxa/magician.c:585: warning: initialization
> from incompatible pointer type
> 
> arch/arm/mach-pxa/hx4700.c:683: error: unknown field 'dev'
> specified in initializer
> arch/arm/mach-pxa/hx4700.c:683: warning: initialization from
> incompatible pointer type
> arch/arm/mach-pxa/hx4700.c:687: error: unknown field 'dev'
> specified in initializer
> arch/arm/mach-pxa/hx4700.c:687: warning: initialization from
> incompatible pointer type
> 
> Signed-off-by: Paul Gortmaker <[email-masked]>
> ---
> 
> [v2: convert to using REGULATOR_SUPPLY instead of just
> deleting the
>  instances of setting the .dev field ]
> 
> diff --git a/arch/arm/mach-pxa/hx4700.c
> b/arch/arm/mach-pxa/hx4700.c
> index f2c23ea..53c3366 100644
> --- a/arch/arm/mach-pxa/hx4700.c
> +++ b/arch/arm/mach-pxa/hx4700.c
> @@ -679,14 +679,8 @@ static struct platform_device
> power_supply = {
>   */
>  
>  static struct regulator_consumer_supply bq24022_consumers[]
> = {
> -    {
> -        .dev =
> &gpio_vbus.dev,
> -        .supply =
> "vbus_draw",
> -    },
> -    {
> -        .dev =
> &power_supply.dev,
> -        .supply = "ac_draw",
> -    },
> +    REGULATOR_SUPPLY("vbus_draw",
> "gpio_vbus"),
> +    REGULATOR_SUPPLY("ac_draw",
> "power_supply"),
>  };

The above hx4700 patch yields the following warnings:

_regulator_get: gpio-vbus supply vbus_draw not found, using dummy regulator
_regulator_get: pda-power supply ac_draw not found, using dummy regulator

I suggest the following lines instead:

	REGULATOR_SUPPLY("vbus_draw", "gpio-vbus"),
	REGULATOR_SUPPLY("ac_draw", "pda-power"),