[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