<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/drivers/usb/phy, branch stable/4.3.y</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=stable%2F4.3.y</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=stable%2F4.3.y'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2016-02-19T22:28:33Z</updated>
<entry>
<title>usb: phy: msm: fix error handling in probe.</title>
<updated>2016-02-19T22:28:33Z</updated>
<author>
<name>Srinivas Kandagatla</name>
<email>srinivas.kandagatla@linaro.org</email>
</author>
<published>2016-01-13T09:13:10Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=bbad7eb9e862f812841fb00181e70c23a75f7880'/>
<id>urn:sha1:bbad7eb9e862f812841fb00181e70c23a75f7880</id>
<content type='text'>
commit a38a08dfaaab978dced63aa9cad45f0f62e23a66 upstream.

This driver registers for extcon events as part of its probe, but
never unregisters them in case of error in the probe path.

There were multiple issues noticed due to this missing error handling.
One of them is random crashes if the regulators are not ready yet by the
time probe is invoked.

Ivan's previous attempt [1] to fix this issue, did not really address
all the failure cases like regualtor/get_irq failures.

[1] https://lkml.org/lkml/2015/9/7/62

Without this patch the kernel would carsh with log:
...
Unable to handle kernel paging request at virtual address 17d78410
pgd = ffffffc001a5c000
[17d78410] *pgd=00000000b6806003, *pud=00000000b6806003, *pmd=0000000000000000
Internal error: Oops: 96000005 [#1] PREEMPT SMP
Modules linked in:
CPU: 0 PID: 6 Comm: kworker/u8:0 Not tainted 4.4.0+ #48
Hardware name: Qualcomm Technologies, Inc. APQ 8016 SBC (DT)
Workqueue: deferwq deferred_probe_work_func
task: ffffffc03686e900 ti: ffffffc0368b0000 task.ti: ffffffc0368b0000
PC is at raw_notifier_chain_register+0x1c/0x44
LR is at extcon_register_notifier+0x88/0xc8
pc : [&lt;ffffffc0000da43c&gt;] lr : [&lt;ffffffc000606298&gt;] pstate: 80000085
sp : ffffffc0368b3a70
x29: ffffffc0368b3a70 x28: ffffffc03680c310
x27: ffffffc035518000 x26: ffffffc035518000
x25: ffffffc03bfa20e0 x24: ffffffc035580a18
x23: 0000000000000000 x22: ffffffc035518458
x21: ffffffc0355e9a60 x20: ffffffc035518000
x19: 0000000000000000 x18: 0000000000000028
x17: 0000000000000003 x16: ffffffc0018153c8
x15: 0000000000000001 x14: ffffffc03686f0f8
x13: ffffffc03686f0f8 x12: 0000000000000003
x11: 0000000000000001 x10: 0000000000000001
x9 : ffffffc03686f0f8 x8 : 0000e3872014c1a1
x7 : 0000000000000028 x6 : 0000000000000000
x5 : 0000000000000001 x4 : 0000000000000000
x3 : 00000000354fb170 x2 : 0000000017d78400
x1 : ffffffc0355e9a60 x0 : ffffffc0354fb268

Fixes: 	591fc116f330 ("usb: phy: msm: Use extcon framework for VBUS and ID detection")
Signed-off-by: Srinivas Kandagatla &lt;srinivas.kandagatla@linaro.org&gt;
Signed-off-by: Felipe Balbi &lt;balbi@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>usb: phy: omap-otg: fix uninitialized pointer</title>
<updated>2015-12-09T19:34:39Z</updated>
<author>
<name>Aaro Koskinen</name>
<email>aaro.koskinen@iki.fi</email>
</author>
<published>2015-10-27T21:26:33Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=dbfee9e41918f4c8adb5f27db959c81bb19567a4'/>
<id>urn:sha1:dbfee9e41918f4c8adb5f27db959c81bb19567a4</id>
<content type='text'>
commit 2c2025b41aeff57963f9ae2dd909fea704c625ab upstream.

otg_dev-&gt;extcon was referenced before otg_dev was initialized. Fix.

Fixes: a2fd2423240f ("usb: phy: omap-otg: Replace deprecated API of extcon")
Reviewed-by: Chanwoo Choi &lt;cw00.choi@samsung.com&gt;
Signed-off-by: Aaro Koskinen &lt;aaro.koskinen@iki.fi&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>usb: phy: isp1301: Export I2C module alias information</title>
<updated>2015-09-21T19:42:36Z</updated>
<author>
<name>Javier Martinez Canillas</name>
<email>javier@osg.samsung.com</email>
</author>
<published>2015-09-12T08:54:26Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=8fb7ab504381b8ce4f443129e102a713bd76dfe2'/>
<id>urn:sha1:8fb7ab504381b8ce4f443129e102a713bd76dfe2</id>
<content type='text'>
The I2C core always reports the MODALIAS uevent as "i2c:&lt;client name"
regardless if the device was registered using OF or platform code so
So the driver needs to export the I2C table and this be built into
the module or udev won't have the necessary information to auto load
the module when the device is added.

Signed-off-by: Javier Martinez Canillas &lt;javier@osg.samsung.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: phy: phy-generic: Fix reset behaviour on legacy boot</title>
<updated>2015-09-14T15:15:08Z</updated>
<author>
<name>Roger Quadros</name>
<email>rogerq@ti.com</email>
</author>
<published>2015-08-13T10:28:42Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=762982db33b23029e98c844611e2e8beeb75bc0d'/>
<id>urn:sha1:762982db33b23029e98c844611e2e8beeb75bc0d</id>
<content type='text'>
The gpio-desc migration done in v4.0 caused a regression
with legacy boots due to reversed reset logic.
e.g. omap3-beagle USB host breaks on legacy boot.

Request the reset GPIO with GPIOF_ACTIVE_LOW flag so that
it matches the driver logic and pin behaviour.

Fixes: e9f2cefb0cdc ("usb: phy: generic: migrate to gpio_desc")
Cc: &lt;stable@vger.kernel.org&gt; # 4.0+
Tested-by: Fabio Estevam &lt;fabio.estevam@freescale.com&gt;
Signed-off-by: Roger Quadros &lt;rogerq@ti.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: phy: fix phy-qcom-8x16-usb build</title>
<updated>2015-09-14T15:14:49Z</updated>
<author>
<name>Randy Dunlap</name>
<email>rdunlap@infradead.org</email>
</author>
<published>2015-09-10T17:37:39Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=88ccdbd5fc59ce8c69261a20746ca2533be7e358'/>
<id>urn:sha1:88ccdbd5fc59ce8c69261a20746ca2533be7e358</id>
<content type='text'>
Fix build errors that happen when USB_QCOM_8X16_PHY=y and EXTCON=m:

drivers/built-in.o: In function `phy_8x16_init':
phy-qcom-8x16-usb.c:(.text+0x86ef4): undefined reference to `extcon_get_cable_state'
drivers/built-in.o: In function `phy_8x16_probe':
phy-qcom-8x16-usb.c:(.text+0x870bf): undefined reference to `extcon_get_edev_by_phandle'
phy-qcom-8x16-usb.c:(.text+0x87133): undefined reference to `extcon_register_interest'
phy-qcom-8x16-usb.c:(.text+0x87151): undefined reference to `extcon_unregister_interest'
drivers/built-in.o: In function `phy_8x16_remove':
phy-qcom-8x16-usb.c:(.text+0x872ec): undefined reference to `extcon_unregister_interest'

Signed-off-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;
Cc: Felipe Balbi &lt;balbi@ti.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: phy: phy-keystone: Simplify return statement</title>
<updated>2015-08-04T16:02:05Z</updated>
<author>
<name>Saurabh Karajgaonkar</name>
<email>skarajga@visteon.com</email>
</author>
<published>2015-08-04T14:02:03Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=c5673f5ce4c0faa97df419877bcdebbd76d43151'/>
<id>urn:sha1:c5673f5ce4c0faa97df419877bcdebbd76d43151</id>
<content type='text'>
Replace redundant variable use in return statement.

Signed-off-by: Saurabh Karajgaonkar &lt;skarajga@visteon.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: phy: phy-mxs-usb: Simplify return statement</title>
<updated>2015-08-04T16:01:50Z</updated>
<author>
<name>Saurabh Karajgaonkar</name>
<email>skarajga@visteon.com</email>
</author>
<published>2015-08-04T14:01:31Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=4b68b50fd45e2f429da574c74d9a3788a861434f'/>
<id>urn:sha1:4b68b50fd45e2f429da574c74d9a3788a861434f</id>
<content type='text'>
Replace redundant variable use in return statement.

Signed-off-by: Saurabh Karajgaonkar &lt;skarajga@visteon.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: phy: msm: Add D+/D- lines route control</title>
<updated>2015-07-30T16:43:36Z</updated>
<author>
<name>Ivan T. Ivanov</name>
<email>ivan.ivanov@linaro.org</email>
</author>
<published>2015-07-28T08:10:22Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=6f98f545b0b4effdf67e83e214a4eb13cd41fba2'/>
<id>urn:sha1:6f98f545b0b4effdf67e83e214a4eb13cd41fba2</id>
<content type='text'>
apq8016-sbc board is using Dual SPDT USB Switch (TC7USB40MU),
witch is controlled by GPIO to de/multiplex D+/D- USB lines to
USB2513B Hub and uB connector. Add support for this.

Signed-off-by: Ivan T. Ivanov &lt;ivan.ivanov@linaro.org&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: phy: qcom: New APQ8016/MSM8916 USB transceiver driver</title>
<updated>2015-07-29T14:59:19Z</updated>
<author>
<name>Ivan T. Ivanov</name>
<email>ivan.ivanov@linaro.org</email>
</author>
<published>2015-07-08T14:57:40Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=351169933ea22592fb42b97c76c4c130fe287cca'/>
<id>urn:sha1:351169933ea22592fb42b97c76c4c130fe287cca</id>
<content type='text'>
Driver handles PHY initialization, clock management, power
management and workarounds required after resetting the hardware.

Signed-off-by: Ivan T. Ivanov &lt;ivan.ivanov@linaro.org&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: pass flags parameter to gpiod_get functions</title>
<updated>2015-07-29T14:59:19Z</updated>
<author>
<name>Uwe Kleine-König</name>
<email>u.kleine-koenig@pengutronix.de</email>
</author>
<published>2015-07-06T09:09:49Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=88167fc0b22aac0fe7b9c4fadf9c251a9f864f32'/>
<id>urn:sha1:88167fc0b22aac0fe7b9c4fadf9c251a9f864f32</id>
<content type='text'>
Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions)
which appeared in v3.17-rc1, the gpiod_get* functions take an additional
parameter that allows to specify direction and initial value for output.

Currently this parameter is made optional with the help of a cpp trick.
To allow dropping this hack convert callers to explictly pass a value
for flags.

Acked-by: Felipe Balbi &lt;balbi@ti.com&gt;
Acked-by: Robert Jarzmik &lt;robert.jarzmik@free.fr&gt;
Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
</feed>
