lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Mon, 8 Aug 2016 09:57:22 +0800
From:	Peter Chen <hzpeterchen@...il.com>
To:	Oscar <oscar@...andei.net>
Cc:	Peter Chen <peter.chen@....com>, mark.rutland@....com,
	ulf.hansson@...aro.org, stephen.boyd@...aro.org,
	k.kozlowski@...sung.com, linux-kernel@...r.kernel.org,
	festevam@...il.com, stillcompiling@...il.com, pawel.moll@....com,
	dbaryshkov@...il.com, mka@...omium.org, stern@...land.harvard.edu,
	dwmw3@...radead.org, devicetree@...r.kernel.org,
	mail@...iej.szmigiero.name, arnd@...db.de,
	linux-pm@...r.kernel.org, s.hauer@...gutronix.de,
	troy.kisky@...ndarydevices.com, robh+dt@...nel.org,
	linux-arm-kernel@...ts.infradead.org, gregkh@...uxfoundation.org,
	linux-usb@...r.kernel.org, sre@...nel.org, broonie@...nel.org,
	p.zabel@...gutronix.de, shawnguo@...nel.org
Subject: Re: [PATCH v4 0/6] power: add power sequence library

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ