From: hzpeterchen@gmail.com (Peter Chen)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 0/6] power: add power sequence library
Date: Mon, 8 Aug 2016 09:57:22 +0800 [thread overview]
Message-ID: <20160808015722.GA17680@shlinux2> (raw)
In-Reply-To: <d7c11574a1218263c02b117d79b59601@naiandei.net>
On Sat, Aug 06, 2016 at 02:00:08PM +0200, Oscar wrote:
> El 2016-08-02 05:30, Peter Chen escribi?:
> >Hi all,
> >
> >This is a follow-up for my last power sequence framework patch set
> >[1].
> >According to Rob Herring and Ulf Hansson's comments[2], I use a
> >generic
> >power sequence library for parsing the power sequence elements on DT,
> >and implement generic power sequence on library. The host driver
> >can allocate power sequence instance, and calls pwrseq APIs
> >accordingly.
> >
> >In future, if there are special power sequence requirements, the
> >special
> >power sequence library can be created.
> >
> >This patch set is tested on i.mx6 sabresx evk using a dts change,
> >I use
> >two hot-plug devices to simulate this use case, the related binding
> >change is updated at patch [1/6], The udoo board changes were tested
> >using my last power sequence patch set.[3]
> >
> >Except for hard-wired MMC and USB devices, I find the USB ULPI PHY
> >also
> >need to power on itself before it can be found by ULPI bus.
> >
> >[1] http://www.spinics.net/lists/linux-usb/msg142755.html
> >[2] http://www.spinics.net/lists/linux-usb/msg143106.html
> >[3] http://www.spinics.net/lists/linux-usb/msg142815.html
> >
> >Changes for v4:
> >- Create the patch on next-20160722
> >- Fix the of_node is not NULL after chipidea driver is unbinded
> >[Patch 5/6]
> >- Using more friendly wait method for reset gpio [Patch 2/6]
> >- Support multiple input clocks [Patch 2/6]
> >- Add Rob Herring's ack for DT changes
> >- Add Joshua Clayton's Tested-by
> >
> >Changes for v3:
> >- Delete "power-sequence" property at binding-doc, and change
> >related code
> > at both library and user code.
> >- Change binding-doc example node name with Rob's comments
> >- of_get_named_gpio_flags only gets the gpio, but without setting
> >gpio flags,
> > add additional code request gpio with proper gpio flags
> >- Add Philipp Zabel's Ack and MAINTAINER's entry
> >
> >Changes for v2:
> >- Delete "pwrseq" prefix and clock-names for properties at dt binding
> >- Should use structure not but its pointer for kzalloc
> >- Since chipidea core has no of_node, let core's of_node equals glue
> > layer's at core's probe
> >
> >Peter Chen (6):
> > binding-doc: power: pwrseq-generic: add binding doc for generic
> >power
> > sequence library
> > power: add power sequence library
> > binding-doc: usb: usb-device: add optional properties for power
> > sequence
> > usb: core: add power sequence handling for USB devices
> > usb: chipidea: let chipidea core device of_node equal's glue layer
> > device of_node
> > ARM: dts: imx6qdl-udoo.dtsi: fix onboard USB HUB property
> >
>
> Hi Peter,
>
> I tried the last version on my udoo board but I got these compile
> errors:
>
> [21330s] ERROR: "pwrseq_get" [drivers/usb/core/usbcore.ko] undefined!
> [21330s] ERROR: "pwrseq_free" [drivers/usb/core/usbcore.ko] undefined!
> [21330s] ERROR: "pwrseq_put" [drivers/usb/core/usbcore.ko] undefined!
> [21330s] ERROR: "pwrseq_off" [drivers/usb/core/usbcore.ko] undefined!
> [21330s] ERROR: "pwrseq_on" [drivers/usb/core/usbcore.ko] undefined!
>
> Will you do another version?
>
Thanks, I forgot to export above symbols, I will fix it at next
version. Below fix should work for you, I have tested.
diff --git a/drivers/power/pwrseq/core.c b/drivers/power/pwrseq/core.c
index 60f1e4e..6861a21 100644
--- a/drivers/power/pwrseq/core.c
+++ b/drivers/power/pwrseq/core.c
@@ -29,6 +29,7 @@ int pwrseq_get(struct device_node *np, struct pwrseq *p)
return -ENOTSUPP;
}
+EXPORT_SYMBOL(pwrseq_get);
int pwrseq_on(struct device_node *np, struct pwrseq *p)
{
@@ -37,24 +38,28 @@ int pwrseq_on(struct device_node *np, struct pwrseq *p)
return -ENOTSUPP;
}
+EXPORT_SYMBOL(pwrseq_on);
void pwrseq_off(struct pwrseq *p)
{
if (p && p->off)
p->off(p);
}
+EXPORT_SYMBOL(pwrseq_off);
void pwrseq_put(struct pwrseq *p)
{
if (p && p->put)
p->put(p);
}
+EXPORT_SYMBOL(pwrseq_put);
void pwrseq_free(struct pwrseq *p)
{
if (p && p->free)
p->free(p);
}
+EXPORT_SYMBOL(pwrseq_free);
--
Best Regards,
Peter Chen
prev parent reply other threads:[~2016-08-08 1:57 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-02 3:30 [PATCH v4 0/6] power: add power sequence library Peter Chen
2016-08-02 3:30 ` [PATCH v4 1/6] binding-doc: power: pwrseq-generic: add binding doc for generic " Peter Chen
2016-08-02 3:30 ` [PATCH v4 2/6] power: add " Peter Chen
2016-08-03 22:16 ` Matthias Kaehlcke
2016-08-04 6:04 ` Peter Chen
2016-08-02 3:30 ` [PATCH v4 3/6] binding-doc: usb: usb-device: add optional properties for power sequence Peter Chen
2016-08-02 3:30 ` [PATCH v4 4/6] usb: core: add power sequence handling for USB devices Peter Chen
2016-08-02 3:30 ` [PATCH v4 5/6] usb: chipidea: let chipidea core device of_node equal's glue layer device of_node Peter Chen
2016-08-02 3:30 ` [PATCH v4 6/6] ARM: dts: imx6qdl-udoo.dtsi: fix onboard USB HUB property Peter Chen
2016-08-06 12:00 ` [PATCH v4 0/6] power: add power sequence library Oscar
2016-08-08 1:57 ` Peter Chen [this message]
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=20160808015722.GA17680@shlinux2 \
--to=hzpeterchen@gmail.com \
--cc=linux-arm-kernel@lists.infradead.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).