[PATCH 1/2] Add initial regulator support

Sascha Hauer s.hauer at pengutronix.de
Mon Apr 28 11:47:02 PDT 2014


On Mon, Apr 28, 2014 at 06:30:19PM +0200, Alexander Aring wrote:
> Hi Sascha,
> 
> On Mon, Apr 28, 2014 at 10:18:40AM +0200, Sascha Hauer wrote:
> > Provide minimal regulator support. Only supported operations are enabling
> > and disabling regulators. Association of devices with their regulators is
> > limited to devicetree only. If regulator support is disabled the API expands
> > to static inline stubs so consumers can still use the API.
> > 
> > Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
> > ---
> >  commands/Kconfig           |   8 ++
> >  commands/Makefile          |   1 +
> >  commands/regulator.c       |  33 ++++++
> >  drivers/Kconfig            |   1 +
> >  drivers/Makefile           |   1 +
> >  drivers/regulator/Kconfig  |  13 +++
> >  drivers/regulator/Makefile |   2 +
> >  drivers/regulator/core.c   | 262 +++++++++++++++++++++++++++++++++++++++++++++
> >  drivers/regulator/fixed.c  | 103 ++++++++++++++++++
> >  include/regulator.h        |  47 ++++++++
> >  10 files changed, 471 insertions(+)
> >  create mode 100644 commands/regulator.c
> >  create mode 100644 drivers/regulator/Kconfig
> >  create mode 100644 drivers/regulator/Makefile
> >  create mode 100644 drivers/regulator/core.c
> >  create mode 100644 drivers/regulator/fixed.c
> >  create mode 100644 include/regulator.h
> > 
> > diff --git a/commands/Kconfig b/commands/Kconfig
> > index cc014f3..510cc91 100644
> > --- a/commands/Kconfig
> > +++ b/commands/Kconfig
> > @@ -690,6 +690,14 @@ config CMD_GPIO
> >  	  include gpio_set_value, gpio_get_value, gpio_direction_input and
> >  	  gpio_direction_output commands to control gpios.
> >  
> > +config CMD_REGULATOR
> > +	bool
> > +	depends on REGULATOR
> > +	prompt "regulator command"
> > +	help
> > +	  the regulator command lists the currently registered regulators and
> > +	  their current state.
> > +
> >  config CMD_UNCOMPRESS
> >  	bool
> >  	select UNCOMPRESS
> > diff --git a/commands/Makefile b/commands/Makefile
> > index e463031..7836515 100644
> > --- a/commands/Makefile
> > +++ b/commands/Makefile
> > @@ -95,3 +95,4 @@ obj-$(CONFIG_CMD_BOOT)		+= boot.o
> ...
> > +};
> > +
> > +static int regulator_fixed_enable(struct regulator_dev *rdev)
> > +{
> > +	struct regulator_fixed *fix = container_of(rdev, struct regulator_fixed, rdev);
> > +
> > +	if (!gpio_is_valid(fix->gpio))
> > +		return 0;
> > +
> This should return a errno like the above one "-EINVAL". Or?
> 
> > +	return gpio_direction_output(fix->gpio, !fix->active_low);
> > +}
> > +
> > +static int regulator_fixed_disable(struct regulator_dev *rdev)
> > +{
> > +	struct regulator_fixed *fix = container_of(rdev, struct regulator_fixed, rdev);
> > +
> > +	if (!gpio_is_valid(fix->gpio))
> > +		return -EINVAL;
> > +
> 
> like this.

I think both functions should return 0 without a valid gpio instead.
Anyway, there's something wrong here.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list