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 09/10] power: bq24257: Add various device-specific sysfs properties
Date: Wed, 16 Sep 2015 17:10:06 +0900 [thread overview]
Message-ID: <55F923DE.5010809@samsung.com> (raw)
In-Reply-To: <1442339914-25843-10-git-send-email-dannenberg@ti.com>
On 16.09.2015 02:58, Andreas Dannenberg wrote:
> This patch adds support for enabling/disabling optional device specific
> features through sysfs properties at runtime.
>
> * High-impedance mode enable/disable
> * Sysoff enable/disable
>
> Refer to the respective device datasheets for more information:
>
> http://www.ti.com/product/bq24250
> http://www.ti.com/product/bq24251
> http://www.ti.com/product/bq24257
>
> Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
> ---
> drivers/power/bq24257_charger.c | 53 +++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 53 insertions(+)
>
> diff --git a/drivers/power/bq24257_charger.c b/drivers/power/bq24257_charger.c
> index 517a522..a0cb33c 100644
> --- a/drivers/power/bq24257_charger.c
> +++ b/drivers/power/bq24257_charger.c
> @@ -794,12 +794,65 @@ static ssize_t bq24257_show_in_dpm_voltage(struct device *dev,
> bq24257_vindpm_map[bq->init_data.vindpm]);
> }
>
> +static ssize_t bq24257_sysfs_show_enable(struct device *dev,
> + struct device_attribute *attr,
> + char *buf)
> +{
> + struct power_supply *psy = dev_get_drvdata(dev);
> + struct bq24257_device *bq = power_supply_get_drvdata(psy);
> + int ret;
> +
> + if (strcmp(attr->attr.name, "high_impedance_enable") == 0)
> + ret = bq24257_field_read(bq, F_HZ_MODE);
> + else if (strcmp(attr->attr.name, "sysoff_enable") == 0)
> + ret = bq24257_field_read(bq, F_SYSOFF);
> + else
> + return -EINVAL;
> +
> + if (ret < 0)
> + return ret;
> +
> + return scnprintf(buf, PAGE_SIZE, "%d\n", ret);
> +}
> +
> +static ssize_t bq24257_sysfs_set_enable(struct device *dev,
> + struct device_attribute *attr,
> + const char *buf,
> + size_t count)
> +{
> + struct power_supply *psy = dev_get_drvdata(dev);
> + struct bq24257_device *bq = power_supply_get_drvdata(psy);
> + long val;
> + int ret;
> +
> + if (kstrtol(buf, 10, &val) < 0)
> + return -EINVAL;
> +
There is no validation for input number. Although this is harmless but
one may expect that writing value of 1, 2 or 3 would give the same
result. But it would not. Value of 2 would be equal to 0, right?
> + if (strcmp(attr->attr.name, "high_impedance_enable") == 0)
> + ret = bq24257_field_write(bq, F_HZ_MODE, val);
> + else if (strcmp(attr->attr.name, "sysoff_enable") == 0)
> + ret = bq24257_field_write(bq, F_SYSOFF, val);
> + else
> + return -EINVAL;
> +
> + if (ret < 0)
> + return ret;
> +
> + return count;
> +}
> +
> static DEVICE_ATTR(ovp_voltage, S_IRUGO, bq24257_show_ovp_voltage, NULL);
> static DEVICE_ATTR(in_dpm_voltage, S_IRUGO, bq24257_show_in_dpm_voltage, NULL);
This applies to previous patches actually: DEVICE_ATTR_RO?
> +static DEVICE_ATTR(high_impedance_enable, S_IWUSR | S_IRUGO,
> + bq24257_sysfs_show_enable, bq24257_sysfs_set_enable);
> +static DEVICE_ATTR(sysoff_enable, S_IWUSR | S_IRUGO,
> + bq24257_sysfs_show_enable, bq24257_sysfs_set_enable);
DEVICE_ATTR_RW?
Best regards,
Krzysztof
next prev parent reply other threads:[~2015-09-16 8:10 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
2015-09-15 17:58 ` [PATCH v4 02/10] power: bq24257: Add basic " 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
[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
2015-09-18 21:28 ` Andreas Dannenberg
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 [this message]
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=55F923DE.5010809@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.