All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kishon Vijay Abraham I <kishon@ti.com>
To: Laxman Dewangan <ldewangan@nvidia.com>
Cc: "broonie@kernel.org" <broonie@kernel.org>,
	"grant.likely@linaro.org" <grant.likely@linaro.org>,
	"rob.herring@calxeda.com" <rob.herring@calxeda.com>,
	"rob@landley.net" <rob@landley.net>,
	"lgirdwood@gmail.com" <lgirdwood@gmail.com>,
	Stephen Warren <swarren@nvidia.com>,
	"gg@slimlogic.co.uk" <gg@slimlogic.co.uk>,
	"sameo@linux.intel.com" <sameo@linux.intel.com>,
	"devicetree-discuss@lists.ozlabs.org"
	<devicetree-discuss@lists.ozlabs.org>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 2/2] regulator: palmas: model SMPS10 as two regulators
Date: Thu, 20 Jun 2013 20:56:40 +0530	[thread overview]
Message-ID: <51C31F30.5000307@ti.com> (raw)
In-Reply-To: <51C31537.9030705@nvidia.com>

Hi,

On Thursday 20 June 2013 08:14 PM, Laxman Dewangan wrote:
> On Thursday 20 June 2013 07:49 PM, Kishon Vijay Abraham I wrote:
>> Hi,
>>
>> On Thursday 20 June 2013 07:33 PM, Laxman Dewangan wrote:
>>> On Thursday 20 June 2013 07:20 PM, Kishon Vijay Abraham I wrote:
>>>> Hi,
>>>>
>>>> On Thursday 20 June 2013 04:22 PM, Laxman Dewangan wrote:
>>>>> On Thursday 20 June 2013 02:07 PM, Kishon Vijay Abraham I wrote:
>>>>>> SMPS10 has two outputs OUT1 and OUT2 and have one input IN1.
>>>>>> SMPS10-OUT2 is connected to SMPS10-IN1 and can be configured either
>>>>>> in BOOST mode or BYPASS mode. regulator_enable of SMPS10-OUT2 configures
>>>>>> it in BOOST mode. For BYPASS mode regulator_allow_bypass() API can be
>>>>>> used. SMPS10-OUT1 is connected to SMPS10-OUT2 and can be enabled using
>>>>>> regulator_enable().
>>>>>>
>>>>>> Cc: Laxman Dewangan <ldewangan@nvidia.com>
>>>>>> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
>>>>>> ---
>>>>>>     drivers/regulator/palmas-regulator.c |   39
>>>>>> ++++++++++++++++++++++++++++++----
>>>>>>     include/linux/mfd/palmas.h           |    9 ++++----
>>>>>>     2 files changed, 40 insertions(+), 8 deletions(-)
>>>>>>
>>>>>> diff --git a/drivers/regulator/palmas-regulator.c
>>>>>> b/drivers/regulator/palmas-regulator.c
>>>>>> index 3ae44ac..7004bab 100644
>>>>>> --- a/drivers/regulator/palmas-regulator.c
>>>>>> +++ b/drivers/regulator/palmas-regulator.c
>>>>>> @@ -97,7 +97,12 @@ static const struct regs_info palmas_regs_info[] = {
>>>>>>             .ctrl_addr    = PALMAS_SMPS9_CTRL,
>>>>>>         },
>>>>>>         {
>>>>>> -        .name        = "SMPS10",
>>>>>> +        .name        = "SMPS10_OUT1",
>>>>>> +        .sname        = "smps10-out2",
>>>>>> +        .ctrl_addr    = PALMAS_SMPS10_CTRL,
>>>>>> +    },
>>>>>> +    {
>>>>>> +        .name        = "SMPS10_OUT2",
>>>>>>             .sname        = "smps10-in",
>>>>>>
>>>>> This sequence can create regulator to be never register.
>>>>> In probe, we register regulator from 0 to max_id.
>>>>> Here smps10-out1 comes first and see the supply as smps10-out2 which is not
>>>>> registered yet and so will fail with PROBE_DEFER
>>>>> When again it tries, the same issue.
>>>> hmm.. But I was able to get (regulator_get) *SMPS10_OUT1* without any issue
>>>> during my testing. From looking at the code, I couldn't see *sname* being used
>>>> anywhere.
>>> We used the sname as
>>> pmic->desc[id].supply_name = palmas_regs_info[id].sname;
>>>
>>> However, how you have populated your dt?
>>> Have you added like
>>> smps10-out2-supply = <&SMPS10_OUT2>
>>>
>>> for the palmas regualtor -dt.
>> I added the regulator data like
>>
>> +                       smps10_out1_reg: smps10_out1 {
>> +                               regulator-name = "smps10_out1";
>> +                               regulator-min-microvolt = <5000000>;
>> +                               regulator-max-microvolt = <5000000>;
>> +                               regulator-always-on;
>> +                               regulator-boot-on;
>> +                               regulator-allow-bypass;
>> +                               ti,warm_sleep = <0>;
>> +                               ti,roof_floor = <0>;
>> +                               ti,mode_sleep = <0>;
>> +                               ti,warm_reset = <0>;
>> +                               ti,tstep = <0>;
>> +                               ti,vsel = <0>;
>> +                       };
>>
>> and from my controller I reference it using
>> +               vbus-supply = <&smps10_out1_reg>;
>>
>> and in the controller driver I use
>> +               vbus_reg = devm_regulator_get(dev, "vbus");
>
> Have you added the regulator supply entries?
> Are you testing on mainline linux-next?

Not in linux-next :-( Tested only with mainline.
Does inverting the order helps?

Thanks
Kishon

  reply	other threads:[~2013-06-20 15:26 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-20  8:37 [PATCH 0/2] Model SMPS10 regulator Kishon Vijay Abraham I
2013-06-20  8:37 ` Kishon Vijay Abraham I
     [not found] ` <1371717458-10307-1-git-send-email-kishon-l0cyMroinI0@public.gmane.org>
2013-06-20  8:37   ` [PATCH 1/2] regulator: of: Added a property to indicate bypass mode support Kishon Vijay Abraham I
2013-06-20  8:37     ` Kishon Vijay Abraham I
     [not found]     ` <1371717458-10307-2-git-send-email-kishon-l0cyMroinI0@public.gmane.org>
2013-06-20 11:20       ` Mark Brown
2013-06-20 11:20         ` Mark Brown
2013-06-20  8:37   ` [PATCH 2/2] regulator: palmas: model SMPS10 as two regulators Kishon Vijay Abraham I
2013-06-20  8:37     ` Kishon Vijay Abraham I
2013-06-20 10:52     ` Laxman Dewangan
     [not found]       ` <51C2DEEB.9090600-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-06-20 13:50         ` Kishon Vijay Abraham I
2013-06-20 13:50           ` Kishon Vijay Abraham I
2013-06-20 14:03           ` Laxman Dewangan
     [not found]             ` <51C30B95.4010406-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-06-20 14:19               ` Kishon Vijay Abraham I
2013-06-20 14:19                 ` Kishon Vijay Abraham I
     [not found]                 ` <51C30F60.3060100-l0cyMroinI0@public.gmane.org>
2013-06-20 14:44                   ` Laxman Dewangan
2013-06-20 14:44                     ` Laxman Dewangan
2013-06-20 15:26                     ` Kishon Vijay Abraham I [this message]
2013-06-21 13:25                       ` Laxman Dewangan
     [not found]                         ` <51C45448.4080201-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-06-21 14:00                           ` Kishon Vijay Abraham I
2013-06-21 14:00                             ` Kishon Vijay Abraham I
2013-06-22 13:12                             ` Laxman Dewangan
     [not found]                               ` <51C5A2BC.5060401-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-06-24  5:23                                 ` Kishon Vijay Abraham I
2013-06-24  5:23                                   ` Kishon Vijay Abraham I

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=51C31F30.5000307@ti.com \
    --to=kishon@ti.com \
    --cc=broonie@kernel.org \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=gg@slimlogic.co.uk \
    --cc=grant.likely@linaro.org \
    --cc=ldewangan@nvidia.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rob.herring@calxeda.com \
    --cc=rob@landley.net \
    --cc=sameo@linux.intel.com \
    --cc=swarren@nvidia.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.