linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sebastian Reichel <sre@kernel.org>
To: Andreas Dannenberg <dannenberg@ti.com>
Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Laurentiu Palcu <laurentiu.palcu@intel.com>,
	Krzysztof Kozlowski <k.kozlowski@samsung.com>,
	Ramakrishna Pallala <ramakrishna.pallala@intel.com>,
	linux-pm@vger.kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v5 09/11] power: bq24257: Allow input current limit sysfs access
Date: Wed, 23 Sep 2015 20:53:59 +0200	[thread overview]
Message-ID: <20150923185358.GA4024@earth> (raw)
In-Reply-To: <20150923183254.GA26441@beast>

[-- Attachment #1: Type: text/plain, Size: 3318 bytes --]

Hi,

On Wed, Sep 23, 2015 at 01:32:58PM -0500, Andreas Dannenberg wrote:
> On Wed, Sep 23, 2015 at 05:02:28PM +0200, Sebastian Reichel wrote:
> > On Wed, Sep 23, 2015 at 09:11:46AM -0500, Andreas Dannenberg wrote:
> > > Ok. So how should we best go about extending the usage of the
> > > 'input_current_limit' sysfs node for this charger? You mentioned
> > > writing 'auto' into it should enable the auto-detection mode. I suppose
> > > writing a fixed current value will disable it. But how to indicate to
> > > the user when reading 'input_current_limit' whether auto mode is enabled
> > > or not (I think this is something we should do).
> > 
> > Right, I haven't thought of this.
> > 
> > > Can we return a mixed number/string like this?
> > > 
> > > # Example: charger auto detection mode is disabled, and input current
> > > # limit is configured as 500mA.
> > > 
> > > $ cat input_current_limit
> > > 500000
> > > 
> > > # Example: charger auto detection mode is enabled, and a charger
> > > # supporting 1A was detected (note the mixed number/string thats
> > > # returned)
> > > 
> > > $ cat input_current_limit
> > > 1000000 (auto)
> > > 
> > > Would that work?
> > 
> > No. sysfs nodes should only contain one value per file.
> > 
> > > Or should we introduce a new sysfs property?
> > 
> > So maybe keep this patch as is (disallow setting the limit in auto
> > mode) and create another file for setting (and getting) the mode.
> 
> Thanks for the continued feedback. Will look into this and add a new
> property.
>  
> > Also it might be a good idea to return to safe defaults when the
> > charger is disconnected (-> reset to DT specified values).
> 
> It already does this when the charger type auto-detection is enabled.
> When configured for manually setting the input current limit the use
> case is a bit more complex and I do not recommend resetting the limit to
> 500mA. Let me explain why:
>
> 1) Using USB chargers is only one of the ways the bq2525x devices can be
> used in a system. Imagine a shipping product that comes with its own
> proprietary wall power (or built-in) supply that let's say cranks out
> 2A.  As a vendor you want to configure your system (meaning, the bq2425x
> via DT) to a fixed value of 2A. The user un-plugging and re-plugging the
> power supply should not arbitrarily change that pre-configured limit

I did not write, that it should reset to 500mA, but that it should
reset to DT specified values. So e.g. if the device is confiured to
be in auto mode in DT, then configured to use fixed 1000mA, then it
should return to auto mode on unplug. OTOH if DT specifies 500mA
fixed and user sets 1000mA, then it should return to 500mA fixes.
So re-plugging returns to pre-configured limits.

> 2) Even in case of USB chargers, userspace could detect the power
> un-plug event, and re-configure the limit to something else.  So I think
> it's really policy that should not be implemented in the Kernel driver.

I think it should be done exactly the opposite way. Userspace should
set the custom value again. My main motivation is, that DT values
should be safe for all attachable power supplies, while the user
supplied value may only be safe with the currently connected power
supply.

-- Sebastian

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

  reply	other threads:[~2015-09-23 18:54 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-18 21:39 [PATCH v5 00/11] power: bq24257: Add support for bq24250/bq24251 Andreas Dannenberg
2015-09-18 21:39 ` [PATCH v5 01/11] dt: power: bq24257-charger: Cover additional devices Andreas Dannenberg
2015-09-22 16:24   ` Sebastian Reichel
2015-09-22 21:58     ` Andreas Dannenberg
2015-09-23  0:34       ` Sebastian Reichel
2015-09-23  8:14         ` Laurentiu Palcu
2015-09-23 14:13           ` Andreas Dannenberg
2015-09-18 21:39 ` [PATCH v5 02/11] power: bq24257: Add basic support for bq24250/bq24251 Andreas Dannenberg
2015-09-18 21:39 ` [PATCH v5 03/11] power: bq24257: Add bit definition for temp sense enable Andreas Dannenberg
2015-09-18 21:39 ` [PATCH v5 04/11] power: bq24257: Allow manual setting of input current limit Andreas Dannenberg
2015-09-18 21:39 ` [PATCH v5 06/11] power: bq24257: Use managed power supply register Andreas Dannenberg
2015-09-18 21:39 ` [PATCH v5 07/11] power: bq24257: Add over voltage protection setting support Andreas Dannenberg
2015-09-18 21:39 ` [PATCH v5 08/11] power: bq24257: Add input DPM voltage threshold " Andreas Dannenberg
     [not found] ` <1442612399-341-1-git-send-email-dannenberg-l0cyMroinI0@public.gmane.org>
2015-09-18 21:39   ` [PATCH v5 05/11] power: bq24257: Add SW-based approach for Power Good determination Andreas Dannenberg
2015-09-22 19:37     ` Sebastian Reichel
2015-09-23 19:34       ` Andreas Dannenberg
2015-09-23 20:02         ` Andreas Dannenberg
2015-09-18 21:39   ` [PATCH v5 09/11] power: bq24257: Allow input current limit sysfs access Andreas Dannenberg
2015-09-22 19:16     ` Sebastian Reichel
2015-09-22 22:10       ` Andreas Dannenberg
2015-09-23  0:29         ` Sebastian Reichel
2015-09-23 14:11           ` Andreas Dannenberg
2015-09-23 15:02             ` Sebastian Reichel
2015-09-23 18:32               ` Andreas Dannenberg
2015-09-23 18:53                 ` Sebastian Reichel [this message]
2015-09-23 19:47                   ` Andreas Dannenberg
2015-09-18 21:39 ` [PATCH v5 10/11] power: bq24257: Add various device-specific sysfs properties Andreas Dannenberg
2015-09-18 21:39 ` [PATCH v5 11/11] power: bq24257: Add platform data based initialization Andreas Dannenberg
2015-09-22 19:29   ` Sebastian Reichel
2015-09-22 19:31 ` [PATCH v5 00/11] power: bq24257: Add support for bq24250/bq24251 Sebastian Reichel

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=20150923185358.GA4024@earth \
    --to=sre@kernel.org \
    --cc=dannenberg@ti.com \
    --cc=dbaryshkov@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dwmw2@infradead.org \
    --cc=k.kozlowski@samsung.com \
    --cc=laurentiu.palcu@intel.com \
    --cc=linux-pm@vger.kernel.org \
    --cc=ramakrishna.pallala@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).