From: Krzysztof Kozlowski <k.kozlowski@samsung.com>
To: Andreas Dannenberg <dannenberg@ti.com>,
Sebastian Reichel <sre@kernel.org>,
Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>,
David Woodhouse <dwmw2@infradead.org>,
Laurentiu Palcu <laurentiu.palcu@intel.com>
Cc: Ramakrishna Pallala <ramakrishna.pallala@intel.com>,
linux-pm@vger.kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v4 05/10] power: bq24257: Add SW-based approach for Power Good determination
Date: Wed, 16 Sep 2015 14:41:13 +0900 [thread overview]
Message-ID: <55F900F9.90306@samsung.com> (raw)
In-Reply-To: <1442339914-25843-6-git-send-email-dannenberg@ti.com>
On 16.09.2015 02:58, Andreas Dannenberg wrote:
> A software-based approach for determining the charger's input voltage
> "Power Good" state is introduced for devices like the bq24250 which
> don't have a dedicated hardware pin for that purpose. This SW-based
> approach is also used for other devices (with dedicated PG pin) as a
> fall back solution if that pin is not configured to be used through
> "pg-gpios".
>
> Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
> ---
> drivers/power/bq24257_charger.c | 49 ++++++++++++++++++++++++++++++++++++-----
> 1 file changed, 43 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/power/bq24257_charger.c b/drivers/power/bq24257_charger.c
> index 55e4ee4..d7488cf 100644
> --- a/drivers/power/bq24257_charger.c
> +++ b/drivers/power/bq24257_charger.c
> @@ -103,6 +103,7 @@ struct bq24257_device {
> struct mutex lock; /* protect state data */
>
> bool in_ilimit_autoset_disable;
> + bool pg_gpio_disable;
> };
>
> static bool bq24257_is_volatile_reg(struct device *dev, unsigned int reg)
> @@ -356,7 +357,26 @@ static int bq24257_get_chip_state(struct bq24257_device *bq,
>
> state->fault = ret;
>
> - state->power_good = !gpiod_get_value_cansleep(bq->pg);
> + if (bq->pg_gpio_disable)
> + /*
> + * If we have a chip without a dedicated power-good GPIO or
> + * some other explicit bit that would provide this information
> + * assume the power is good if there is no supply related
> + * fault - and not good otherwise. There is a possibility for
> + * other errors to mask that power in fact is not good but this
> + * is probably the best we can do here.
> + */
> + switch (state->fault) {
> + case FAULT_INPUT_OVP:
> + case FAULT_INPUT_UVLO:
> + case FAULT_INPUT_LDO_LOW:
> + state->power_good = false;
> + break;
> + default:
> + state->power_good = true;
> + }
> + else
> + state->power_good = !gpiod_get_value_cansleep(bq->pg);
>
> return 0;
> }
> @@ -676,7 +696,7 @@ static int bq24257_pg_gpio_probe(struct bq24257_device *bq)
> {
> bq->pg = devm_gpiod_get_index(bq->dev, BQ24257_PG_GPIO, 0, GPIOD_IN);
> if (IS_ERR(bq->pg)) {
> - dev_err(bq->dev, "could not probe PG pin\n");
> + dev_info(bq->dev, "could not probe PG pin\n");
I think if pg-gpio is provided (e.g. by DTS) but it is invalid (return
value != ENOENT) then it is an error you could print. The driver will
fallback to the software method but still user/developer may want to
notice the error (e.g. error in DTS).
Anyway it is up to you, rest looks good:
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Best regards,
Krzysztof
next prev parent reply other threads:[~2015-09-16 5:41 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-15 17:58 [PATCH v4 00/10] power: bq24257: Add support for bq24250/bq24251 Andreas Dannenberg
[not found] ` <1442339914-25843-1-git-send-email-dannenberg-l0cyMroinI0@public.gmane.org>
2015-09-15 17:58 ` [PATCH v4 01/10] dt: power: bq24257-charger: Cover additional devices Andreas Dannenberg
2015-09-16 0:10 ` Krzysztof Kozlowski
2015-09-15 17:58 ` [PATCH v4 05/10] power: bq24257: Add SW-based approach for Power Good determination Andreas Dannenberg
2015-09-16 5:41 ` Krzysztof Kozlowski [this message]
2015-09-18 21:28 ` Andreas Dannenberg
2015-09-15 17:58 ` [PATCH v4 02/10] power: bq24257: Add basic support for bq24250/bq24251 Andreas Dannenberg
2015-09-16 0:19 ` Krzysztof Kozlowski
2015-09-16 19:02 ` Andreas Dannenberg
2015-09-15 17:58 ` [PATCH v4 03/10] power: bq24257: Add bit definition for temp sense enable Andreas Dannenberg
2015-09-15 17:58 ` [PATCH v4 04/10] power: bq24257: Allow manual setting of input current limit Andreas Dannenberg
2015-09-16 0:41 ` Krzysztof Kozlowski
2015-09-16 19:23 ` Andreas Dannenberg
2015-09-17 0:10 ` Krzysztof Kozlowski
2015-09-15 17:58 ` [PATCH v4 06/10] power: bq24257: Add over voltage protection setting support Andreas Dannenberg
2015-09-16 5:55 ` Krzysztof Kozlowski
2015-09-16 19:34 ` Andreas Dannenberg
2015-09-15 17:58 ` [PATCH v4 07/10] power: bq24257: Add input DPM voltage threshold " Andreas Dannenberg
2015-09-16 6:06 ` Krzysztof Kozlowski
2015-09-16 19:40 ` Andreas Dannenberg
2015-09-15 17:58 ` [PATCH v4 08/10] power: bq24257: Allow input current limit sysfs access Andreas Dannenberg
2015-09-16 6:31 ` Krzysztof Kozlowski
2015-09-16 19:45 ` Andreas Dannenberg
2015-09-15 17:58 ` [PATCH v4 09/10] power: bq24257: Add various device-specific sysfs properties Andreas Dannenberg
2015-09-16 8:10 ` Krzysztof Kozlowski
2015-09-16 19:54 ` Andreas Dannenberg
2015-09-18 19:08 ` Andreas Dannenberg
2015-09-15 17:58 ` [PATCH v4 10/10] power: bq24257: Add platform data based initialization Andreas Dannenberg
2015-09-16 8:31 ` Krzysztof Kozlowski
2015-09-16 20:11 ` Andreas Dannenberg
2015-09-17 0:16 ` Krzysztof Kozlowski
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=55F900F9.90306@samsung.com \
--to=k.kozlowski@samsung.com \
--cc=dannenberg@ti.com \
--cc=dbaryshkov@gmail.com \
--cc=devicetree@vger.kernel.org \
--cc=dwmw2@infradead.org \
--cc=laurentiu.palcu@intel.com \
--cc=linux-pm@vger.kernel.org \
--cc=ramakrishna.pallala@intel.com \
--cc=sre@kernel.org \
/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.