public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Laxman Dewangan <ldewangan@nvidia.com>
To: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: "lrg@ti.com" <lrg@ti.com>,
	"jedu@slimlogic.co.uk" <jedu@slimlogic.co.uk>,
	"sameo@linux.intel.com" <sameo@linux.intel.com>,
	"gg@slimlogic.co.uk" <gg@slimlogic.co.uk>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>
Subject: Re: [PATCH V2] regulator: tps65910: Sleep control through external inputs
Date: Wed, 25 Jan 2012 18:17:43 +0530	[thread overview]
Message-ID: <4F1FF9EF.9000004@nvidia.com> (raw)
In-Reply-To: <20120125124250.GH3687@opensource.wolfsonmicro.com>

On Wednesday 25 January 2012 06:12 PM, Mark Brown wrote:
> * PGP Signed by an unknown key
>
> On Wed, Jan 25, 2012 at 04:27:48PM +0530, Laxman Dewangan wrote:
>
>> @@ -450,6 +489,29 @@ static int tps65910_set_mode(struct regulator_dev *dev, unsigned int mode)
>>   	struct tps65910 *mfd = pmic->mfd;
>>   	int reg, value, id = rdev_get_id(dev);
>>
>> +	/*
>> +	 * If regulator is controlled through external control then
>> +	 * mode can be identified by the input level of EN1/EN2/EN3.
>> +	 * If it is HIGH then regulators is on, full power.
>> +	 * If it is LOW then:
>> +	 *       - the regulator is set off if its corresponding Control
>> +	 *         bit = 0 in SLEEP_KEEP_XXX_ON.
>> +	 *       - the regulator is set in low-power mode if its corresponding
>> +	 *         control bit = 1 in SLEEP_KEEP_XXX_ON register.
>> +	 */
> This really isn't what the set_mode() API is for - especially the fact
> that it supports turning the regulator off which really isn't what
> set_mode() is supposed to do.  A generic driver using this API isn't
> going to play too well.
Then what should be the method? Is it through the macro similar to patch 
V1 where LOW_POWER mode option come from platform data? The idea  is to 
set the regulator in OFF or low power mode based on external control.

>> +	if (pmic->board_ext_control[id]) {
>> +		u8 regoffs = (pmic->ext_sleep_control[id]>>  8)&  0xFF;
>> +		u8 bit_pos = (1<<  pmic->ext_sleep_control[id]&  0xFF);
>> +		int ret = 0;
>> +		if ((mode == REGULATOR_MODE_IDLE) ||
>> +			(mode == REGULATOR_MODE_STANDBY))
>> +			ret = tps65910_set_bits(mfd,
>> +				TPS65910_SLEEP_KEEP_LDO_ON + regoffs, bit_pos);
> As a coding style thing this should be a switch statement.
I will take care in next patch once above question is clear.

> * Unknown Key
> * 0x6E30FDDD


  reply	other threads:[~2012-01-25 12:48 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-25 10:57 [PATCH V2] regulator: tps65910: Sleep control through external inputs Laxman Dewangan
2012-01-25 12:42 ` Mark Brown
2012-01-25 12:47   ` Laxman Dewangan [this message]
2012-01-25 12:50     ` Mark Brown
2012-01-25 14:07       ` Laxman Dewangan
2012-01-25 14:36         ` Mark Brown

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=4F1FF9EF.9000004@nvidia.com \
    --to=ldewangan@nvidia.com \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=gg@slimlogic.co.uk \
    --cc=jedu@slimlogic.co.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=lrg@ti.com \
    --cc=sameo@linux.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