From: Angus Ainslie <angus@akkea.ca>
To: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
Cc: mazzisaccount@gmail.com, Lee Jones <lee.jones@linaro.org>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
heikki.haikola@fi.rohmeurope.com,
mikko.mutanen@fi.rohmeurope.com, Robin Gong <yibin.gong@nxp.com>,
Elven Wang <elven.wang@nxp.com>,
Anson Huang <anson.huang@nxp.com>,
Angus Ainslie <angus.ainslie@puri.sm>,
linux-kernel-owner@vger.kernel.org
Subject: Re: [PATCH v3 2/3] regulator: add regulator_desc_list_voltage_linear_range
Date: Thu, 14 Feb 2019 06:59:58 -0800 [thread overview]
Message-ID: <5c0051887c28c07493a535593d452f11@www.akkea.ca> (raw)
In-Reply-To: <82443305a32c1e4b8a1ae383f5291ff544bcaf45.1550135853.git.matti.vaittinen@fi.rohmeurope.com>
On 2019-02-14 01:38, Matti Vaittinen wrote:
> Add regulator_desc_list_voltage_linear_range which can be used
> by drivers for getting the voltages before regulator is registered.
> This may be useful for drivers which need to fetch the voltage
> selectors at device-tree parsing callback.
>
> Signed-off-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
> Acked-by: Mark Brown <broonie@kernel.org>
Tested-by: Angus Ainslie <angus@akkea.ca>
Reviewed-by: Angus Ainslie <angus@akkea.ca>
> ---
>
> Mark, I converted your:
> "This seems fine." from RFC patch v1 into acked-by. This should
> be unchanged. Please let me know if that's not Ok.
>
> drivers/regulator/helpers.c | 39
> +++++++++++++++++++++++++++++----------
> include/linux/regulator/driver.h | 6 ++++++
> 2 files changed, 35 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/regulator/helpers.c b/drivers/regulator/helpers.c
> index 5686a1335bd3..68ac6017ef28 100644
> --- a/drivers/regulator/helpers.c
> +++ b/drivers/regulator/helpers.c
> @@ -594,28 +594,30 @@ int
> regulator_list_voltage_pickable_linear_range(struct regulator_dev
> *rdev,
> EXPORT_SYMBOL_GPL(regulator_list_voltage_pickable_linear_range);
>
> /**
> - * regulator_list_voltage_linear_range - List voltages for linear
> ranges
> + * regulator_desc_list_voltage_linear_range - List voltages for linear
> ranges
> *
> - * @rdev: Regulator device
> + * @desc: Regulator desc for regulator which volatges are to be listed
> * @selector: Selector to convert into a voltage
> *
> * Regulators with a series of simple linear mappings between voltages
> - * and selectors can set linear_ranges in the regulator descriptor and
> - * then use this function as their list_voltage() operation,
> + * and selectors who have set linear_ranges in the regulator
> descriptor
> + * can use this function prior regulator registration to list
> voltages.
> + * This is useful when voltages need to be listed during device-tree
> + * parsing.
> */
> -int regulator_list_voltage_linear_range(struct regulator_dev *rdev,
> - unsigned int selector)
> +int regulator_desc_list_voltage_linear_range(const struct
> regulator_desc *desc,
> + unsigned int selector)
> {
> const struct regulator_linear_range *range;
> int i;
>
> - if (!rdev->desc->n_linear_ranges) {
> - BUG_ON(!rdev->desc->n_linear_ranges);
> + if (!desc->n_linear_ranges) {
> + BUG_ON(!desc->n_linear_ranges);
> return -EINVAL;
> }
>
> - for (i = 0; i < rdev->desc->n_linear_ranges; i++) {
> - range = &rdev->desc->linear_ranges[i];
> + for (i = 0; i < desc->n_linear_ranges; i++) {
> + range = &desc->linear_ranges[i];
>
> if (!(selector >= range->min_sel &&
> selector <= range->max_sel))
> @@ -628,6 +630,23 @@ int regulator_list_voltage_linear_range(struct
> regulator_dev *rdev,
>
> return -EINVAL;
> }
> +EXPORT_SYMBOL_GPL(regulator_desc_list_voltage_linear_range);
> +
> +/**
> + * regulator_list_voltage_linear_range - List voltages for linear
> ranges
> + *
> + * @rdev: Regulator device
> + * @selector: Selector to convert into a voltage
> + *
> + * Regulators with a series of simple linear mappings between voltages
> + * and selectors can set linear_ranges in the regulator descriptor and
> + * then use this function as their list_voltage() operation,
> + */
> +int regulator_list_voltage_linear_range(struct regulator_dev *rdev,
> + unsigned int selector)
> +{
> + return regulator_desc_list_voltage_linear_range(rdev->desc,
> selector);
> +}
> EXPORT_SYMBOL_GPL(regulator_list_voltage_linear_range);
>
> /**
> diff --git a/include/linux/regulator/driver.h
> b/include/linux/regulator/driver.h
> index 7f8345bff4e1..05efe2b057c1 100644
> --- a/include/linux/regulator/driver.h
> +++ b/include/linux/regulator/driver.h
> @@ -539,4 +539,10 @@ void *regulator_get_init_drvdata(struct
> regulator_init_data *reg_init_data);
> void regulator_lock(struct regulator_dev *rdev);
> void regulator_unlock(struct regulator_dev *rdev);
>
> +/*
> + * Helper functions intended to be used by regulator drivers prior
> registering
> + * their regulators.
> + */
> +int regulator_desc_list_voltage_linear_range(const struct
> regulator_desc *desc,
> + unsigned int selector);
> #endif
> --
> 2.14.3
next prev parent reply other threads:[~2019-02-14 15:00 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-14 9:34 [PATCH v3 0/3] bd718x7: Support SNVS low power state Matti Vaittinen
2019-02-14 9:34 ` [PATCH v3 1/3] devicetree: bindings: bd718x7: document HW state related ROHM specific properties Matti Vaittinen
2019-02-14 14:58 ` Angus Ainslie
2019-03-20 13:02 ` Lee Jones
2019-03-20 14:17 ` Matti Vaittinen
2019-03-21 8:23 ` Lee Jones
2019-03-21 12:50 ` Vaittinen, Matti
2019-03-25 6:28 ` Lee Jones
2019-02-14 9:38 ` [PATCH v3 2/3] regulator: add regulator_desc_list_voltage_linear_range Matti Vaittinen
2019-02-14 14:59 ` Angus Ainslie [this message]
2019-02-14 9:39 ` [PATCH v3 3/3] regulator: bd718x7: Support SNVS low power state Matti Vaittinen
2019-02-14 15:00 ` Angus Ainslie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5c0051887c28c07493a535593d452f11@www.akkea.ca \
--to=angus@akkea.ca \
--cc=angus.ainslie@puri.sm \
--cc=anson.huang@nxp.com \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=elven.wang@nxp.com \
--cc=heikki.haikola@fi.rohmeurope.com \
--cc=lee.jones@linaro.org \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel-owner@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=matti.vaittinen@fi.rohmeurope.com \
--cc=mazzisaccount@gmail.com \
--cc=mikko.mutanen@fi.rohmeurope.com \
--cc=robh+dt@kernel.org \
--cc=yibin.gong@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.