linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
To: Ulf Hansson <ulf.hansson@linaro.org>, Peter Chen <hzpeterchen@gmail.com>
Cc: "Rob Herring" <robh+dt@kernel.org>,
	"Peter Chen" <peter.chen@nxp.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Alan Stern" <stern@rowland.harvard.edu>,
	"Mark Brown" <broonie@kernel.org>,
	"Sebastian Reichel" <sre@kernel.org>,
	"Shawn Guo" <shawnguo@kernel.org>,
	"Dmitry Eremin-Solenikov" <dbaryshkov@gmail.com>,
	dwmw3@infradead.org, "Mark Rutland" <mark.rutland@arm.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"Krzysztof Kozłowski" <k.kozlowski@samsung.com>,
	"Linux USB List" <linux-usb@vger.kernel.org>,
	oscar@naiandei.net, "Paweł Moll" <pawel.moll@arm.com>,
	"Arnd Bergmann" <arnd@arndb.de>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	"Fabio Estevam" <festevam@gmail.com>,
	"Sascha Hauer" <s.hauer@pengutronix.de>,
	"Stephen Boyd" <stephen.boyd@linaro.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	troy.kisky@boundarydevices.com, stillcompiling@gmail.com,
	"Philipp Zabel" <p.zabel@pengutronix.de>,
	"Maciej S. Szmigiero" <mail@maciej.szmigiero.name>,
	mka@chromium.org,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v6 0/8] power: add power sequence library
Date: Mon, 19 Sep 2016 13:09:10 +0530	[thread overview]
Message-ID: <ecbc3c0d-4ce7-758d-7f7d-4b3f3003c1ac@linaro.org> (raw)
In-Reply-To: <CAPDyKFp0w0mBGNgu6uk7UevUka_ha6MvaVyOzXjCg3S8kdF7tg@mail.gmail.com>



On Friday 09 September 2016 02:17 PM, Ulf Hansson wrote:
> [...]
>
>>>>> We had an agreement that keep mmc's pwrseq framework unchanging.
>>>>> Unless Ulf and rob both agree to change.
>>>> Why 2 separate approach for same problem ?
>>>> And I see this as possible duplication of code/functionality :)
>>> How the new kernel compatibles old dts? If we do not need to
>>> consider this problem, the mmc can try to use power sequence library
>>> too in future.
>>
>> I think we should attempt to get both MMC and USB power seq
>> come on one agreement, so that it can be reused.
> That would be nice. Although, to do that you would have to allow some
> DT bindings to be deprecated in the new generic power seq bindings, as
> otherwise you would break existing DTBs.
>
> I guess that is what Rob was objecting to!?

yeah, thats right.

So lets adopt similar implementation for USB as well instead of
library, but keeping MMC untouched as of now.

What I am trying to propose here is,

Lets have power-sequence framework (similar to V1 of this series),
with,

pwrseq: Core framework for power sequence.
pwrseq_generic/simple: for all generic control, like reset and clock
pwrseq_emmc: probably duplication of existing code - the idea
                           here is, all future code should be using this new
                           binding, so that we can deprecate the 
drivers/mmc/core/pwrseq
pwrseq_arche: The usecase which I am dealing with today, which is more
                          complex in nature.

Then the respective drivers can add their drivers (if needed) based on
complexity.

comments ??

>> MMC Power Seq :
>>   It is based on platform_device/platform_driver approach,
> We recently converted MMC to this. It's has a clear benefit as you can
> rely on the behaviour from the driver core and PM core. So, it simply
> avoids duplication of code.

Agreed.

>> USB Power seq :
>>   We are trying to propose library approach, with compatible string match.
>>
>> We should try to have one approach.
>>>
>>>>>>    - Lets also add suspend/resume callback to struct pwrseq
>>>>>>
>>>>> Why suspend/resume can't do at related driver's suspend/resume API?
>>>> Nope...
>>>> The pwrseq library would have taken ownership of resources, so
>>>> related driver cannot suspend the device. Again it is architecture
>>>> specific, but we should have provision to handle this.
>>>>
>>>> The system I am dealing with today, does need suspend/resume
>>>> callback. To be precise, suspend is close to off state for some devices
>>>> or
>>>> they could enter standby or different low power state, but to do that,
>>>> we need same resource as used for ON/OFF functionality.
>>>>
>>> Ok, I will have API for suspend/resume. You can implement it at your own
>>> library or generic one.
> As stated, using a platform device + driver would simplify this, as
> you wouldn't need an API but only a driver. I guess.

Exactly.

Thanks,
Vaibhav

  reply	other threads:[~2016-09-19  7:39 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-15  9:13 [PATCH v6 0/8] power: add power sequence library Peter Chen
2016-08-15  9:13 ` [PATCH v6 1/8] binding-doc: power: pwrseq-generic: add binding doc for generic " Peter Chen
2016-09-01  8:03   ` Vaibhav Hiremath
2016-09-02  1:00     ` Peter Chen
2016-09-06  6:04       ` Vaibhav Hiremath
2016-08-15  9:13 ` [PATCH v6 2/8] power: add " Peter Chen
2016-08-22  6:51   ` Peter Chen
2016-08-22 10:23     ` Sebastian Reichel
2016-08-23  1:25       ` Peter Chen
2016-09-01  8:02   ` Vaibhav Hiremath
2016-09-02  1:29     ` Peter Chen
2016-08-15  9:13 ` [PATCH v6 3/8] binding-doc: usb: usb-device: add optional properties for power sequence Peter Chen
2016-08-15  9:13 ` [PATCH v6 4/8] usb: core: add power sequence handling for USB devices Peter Chen
2016-08-22  6:53   ` Peter Chen
2016-08-22 16:09     ` Alan Stern
2016-08-23  3:10       ` Peter Chen
2016-08-23 15:37         ` Alan Stern
2016-09-01  8:02   ` Vaibhav Hiremath
2016-09-02  1:30     ` Peter Chen
2016-08-15  9:13 ` [PATCH v6 5/8] usb: chipidea: let chipidea core device of_node equal's glue layer device of_node Peter Chen
2016-08-15  9:13 ` [PATCH v6 6/8] ARM: dts: imx6qdl: Enable usb node children with <reg> Peter Chen
2016-08-15  9:13 ` [PATCH v6 7/8] ARM: dts: imx6qdl-udoo.dtsi: fix onboard USB HUB property Peter Chen
2016-08-15  9:13 ` [PATCH v6 8/8] ARM: dts: imx6q-evi: Fix onboard hub reset line Peter Chen
2016-08-23 10:32 ` [PATCH v6 0/8] power: add power sequence library Vaibhav Hiremath
2016-08-24  8:53   ` Peter Chen
2016-08-29 11:10     ` Peter Chen
2016-08-31  8:16       ` Vaibhav Hiremath
2016-08-31  9:52         ` Peter Chen
2016-08-31 16:58           ` Vaibhav Hiremath
2016-09-02  1:10             ` Peter Chen
2016-09-06 10:18               ` Vaibhav Hiremath
2016-09-09  8:47                 ` Ulf Hansson
2016-09-19  7:39                   ` Vaibhav Hiremath [this message]
2016-09-19  7:46                     ` Peter Chen
2016-09-19  8:17                       ` Vaibhav Hiremath

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=ecbc3c0d-4ce7-758d-7f7d-4b3f3003c1ac@linaro.org \
    --to=vaibhav.hiremath@linaro.org \
    --cc=arnd@arndb.de \
    --cc=broonie@kernel.org \
    --cc=dbaryshkov@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dwmw3@infradead.org \
    --cc=festevam@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hzpeterchen@gmail.com \
    --cc=k.kozlowski@samsung.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mail@maciej.szmigiero.name \
    --cc=mark.rutland@arm.com \
    --cc=mka@chromium.org \
    --cc=oscar@naiandei.net \
    --cc=p.zabel@pengutronix.de \
    --cc=pawel.moll@arm.com \
    --cc=peter.chen@nxp.com \
    --cc=robh+dt@kernel.org \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    --cc=sre@kernel.org \
    --cc=stephen.boyd@linaro.org \
    --cc=stern@rowland.harvard.edu \
    --cc=stillcompiling@gmail.com \
    --cc=troy.kisky@boundarydevices.com \
    --cc=ulf.hansson@linaro.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 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).