From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [RFC,usb-next,v3,2/2] usb: core: use phy_exit during suspend if wake up is not supported From: Chunfeng Yun Message-Id: <1522120817.3717.196.camel@mhfsdcap03> Date: Tue, 27 Mar 2018 11:20:17 +0800 To: Martin Blumenstingl Cc: linux-usb@vger.kernel.org, gregkh@linuxfoundation.org, matthias.bgg@gmail.com, stern@rowland.harvard.edu, rogerq@ti.com, linux-mediatek@lists.infradead.org, linux-amlogic@lists.infradead.org, j-keerthy@ti.com, d-gerlach@ti.com, kishon@ti.com List-ID: aGksCk9uIE1vbiwgMjAxOC0wMy0yNiBhdCAyMjozOCArMDIwMCwgTWFydGluIEJsdW1lbnN0aW5n bCB3cm90ZToKPiBJZiB0aGUgVVNCIGNvbnRyb2xsZXIgY2FuIHdha2UgdXAgdGhlIHN5c3RlbSAo d2hpY2ggaXMgdGhlIGNhc2UgZm9yCj4gZXhhbXBsZSB3aXRoIHRoZSBNZWRpYXRlayBVU0IzIElQ KSB0aGVuIHdlIG11c3Qgbm90IGNhbGwgcGh5X2V4aXQgZHVyaW5nCj4gc3VzcGVuZCB0byBlbnN1 cmUgdGhhdCB0aGUgVVNCIGNvbnRyb2xsZXIgZG9lc24ndCBoYXZlIHRvIHJlLWVudW1lcmF0ZQo+ IHRoZSBkZXZpY2VzIGR1cmluZyByZXN1bWUuCj4gSG93ZXZlciwgaWYgdGhlIFVTQiBjb250cm9s bGVyIGNhbm5vdCB3YWtlIHVwIHRoZSBzeXN0ZW0gKHdoaWNoIGlzIHRoZQo+IGNhc2UgZm9yIGV4 YW1wbGUgb24gdmFyaW91cyBUSSBwbGF0Zm9ybXMgdXNpbmcgYSBkd2MzIGNvbnRyb2xsZXIpIHRo ZW4KPiB3ZSBtdXN0IGNhbGwgcGh5X2V4aXQgZHVyaW5nIHN1c3BlbmQuIE90aGVyd2lzZSB0aGUg UEhZIGRyaXZlciBrZWVwcyB0aGUKPiBjbG9ja3MgZW5hYmxlZCwgd2hpY2ggcHJldmVudHMgdGhl IHN5c3RlbSBmcm9tIHJlYWNoaW5nIHRoZSBsb3dlc3QgcG93ZXIKPiBsZXZlbHMgaW4gdGhlIHN1 c3BlbmQgc3RhdGUuCj4gCj4gU29sdmUgdGhpcyBieSBpbnRyb2R1Y2luZyB0d28gbmV3IGZ1bmN0 aW9ucyBpbiB0aGUgUEhZIHdyYXBwZXIgd2hpY2ggYXJlCj4gZGVkaWNhdGVkIHRvIHRoZSBzdXNw ZW5kIGFuZCByZXN1bWUgaGFuZGxpbmcuCj4gSWYgdGhlIGNvbnRyb2xsZXIgY2FuIHdha2UgdXAg dGhlIHN5c3RlbSB0aGUgbmV3IHVzYl9waHlfcm9vdGh1Yl9zdXNwZW5kCj4gZnVuY3Rpb24gd2ls bCBzaW1wbHkgY2FsbCB1c2JfcGh5X3Jvb3RodWJfcG93ZXJfb2ZmLiBIb3dldmVyLCBpZiB3YWtl IHVwCj4gaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgY29udHJvbGxlciBpdCB3aWxsIGFsc28gY2Fs bAo+IHVzYl9waHlfcm9vdGh1Yl9leGl0Lgo+IFRoZSBhbHNvIG5ldyB1c2JfcGh5X3Jvb3RodWJf cmVzdW1lIGZ1bmN0aW9uIHRha2VzIGNhcmUgb2YgY2FsbGluZwo+IHVzYl9waHlfcm9vdGh1Yl9p bml0IChpZiB0aGUgY29udHJvbGxlciBjYW4ndCB3YWtlIHVwIHRoZSBzeXN0ZW0pIGluCj4gYWRk aXRpb24gdG8gdXNiX3BoeV9yb290aHViX3Bvd2VyX29uLgo+IAo+IEZpeGVzOiAwN2RiZmYwZGRi ZDg2YyAoInVzYjogY29yZTogYWRkIGEgd3JhcHBlciBmb3IgdGhlIFVTQiBQSFlzIG9uIHRoZSBI Q0QiKQo+IEZpeGVzOiAxNzhhMGJjZTA1Y2JjMSAoInVzYjogY29yZTogaGNkOiBpbnRlZ3JhdGUg dGhlIFBIWSB3cmFwcGVyIGludG8gdGhlIEhDRCBjb3JlIikKPiBSZXBvcnRlZC1ieTogUm9nZXIg UXVhZHJvcyA8cm9nZXJxQHRpLmNvbT4KPiBTdWdnZXN0ZWQtYnk6IFJvZ2VyIFF1YWRyb3MgPHJv Z2VycUB0aS5jb20+Cj4gU3VnZ2VzdGVkLWJ5OiBDaHVuZmVuZyBZdW4gPGNodW5mZW5nLnl1bkBt ZWRpYXRlay5jb20+Cj4gU2lnbmVkLW9mZi1ieTogTWFydGluIEJsdW1lbnN0aW5nbCA8bWFydGlu LmJsdW1lbnN0aW5nbEBnb29nbGVtYWlsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy91c2IvY29yZS9o Y2QuYyB8ICA4ICsrKysrLS0tCj4gIGRyaXZlcnMvdXNiL2NvcmUvcGh5LmMgfCAzNSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICBkcml2ZXJzL3VzYi9jb3JlL3BoeS5oIHwg IDUgKysrKysKPiAgMyBmaWxlcyBjaGFuZ2VkLCA0NSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9u cygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9jb3JlL2hjZC5jIGIvZHJpdmVycy91 c2IvY29yZS9oY2QuYwo+IGluZGV4IDE1YjA0MThlM2I2YS4uNzhiYWU0ZWNkNjhiIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvdXNiL2NvcmUvaGNkLmMKPiArKysgYi9kcml2ZXJzL3VzYi9jb3JlL2hj ZC5jCj4gQEAgLTIyNjIsNyArMjI2Miw4IEBAIGludCBoY2RfYnVzX3N1c3BlbmQoc3RydWN0IHVz Yl9kZXZpY2UgKnJoZGV2LCBwbV9tZXNzYWdlX3QgbXNnKQo+ICAJCWhjZC0+c3RhdGUgPSBIQ19T VEFURV9TVVNQRU5ERUQ7Cj4gIAo+ICAJCWlmICghUE1TR19JU19BVVRPKG1zZykpCj4gLQkJCXVz Yl9waHlfcm9vdGh1Yl9wb3dlcl9vZmYoaGNkLT5waHlfcm9vdGh1Yik7Cj4gKwkJCXVzYl9waHlf cm9vdGh1Yl9zdXNwZW5kKGhjZC0+c2VsZi5zeXNkZXYsCj4gKwkJCQkJCWhjZC0+cGh5X3Jvb3Ro dWIpOwo+ICAKPiAgCQkvKiBEaWQgd2UgcmFjZSB3aXRoIGEgcm9vdC1odWIgd2FrZXVwIGV2ZW50 PyAqLwo+ICAJCWlmIChyaGRldi0+ZG9fcmVtb3RlX3dha2V1cCkgewo+IEBAIC0yMzAyLDcgKzIz MDMsOCBAQCBpbnQgaGNkX2J1c19yZXN1bWUoc3RydWN0IHVzYl9kZXZpY2UgKnJoZGV2LCBwbV9t ZXNzYWdlX3QgbXNnKQo+ICAJfQo+ICAKPiAgCWlmICghUE1TR19JU19BVVRPKG1zZykpIHsKPiAt CQlzdGF0dXMgPSB1c2JfcGh5X3Jvb3RodWJfcG93ZXJfb24oaGNkLT5waHlfcm9vdGh1Yik7Cj4g KwkJc3RhdHVzID0gdXNiX3BoeV9yb290aHViX3Jlc3VtZShoY2QtPnNlbGYuc3lzZGV2LAo+ICsJ CQkJCQloY2QtPnBoeV9yb290aHViKTsKPiAgCQlpZiAoc3RhdHVzKQo+ICAJCQlyZXR1cm4gc3Rh dHVzOwo+ICAJfQo+IEBAIC0yMzQ0LDcgKzIzNDYsNyBAQCBpbnQgaGNkX2J1c19yZXN1bWUoc3Ry dWN0IHVzYl9kZXZpY2UgKnJoZGV2LCBwbV9tZXNzYWdlX3QgbXNnKQo+ICAJCX0KPiAgCX0gZWxz ZSB7Cj4gIAkJaGNkLT5zdGF0ZSA9IG9sZF9zdGF0ZTsKPiAtCQl1c2JfcGh5X3Jvb3RodWJfcG93 ZXJfb2ZmKGhjZC0+cGh5X3Jvb3RodWIpOwo+ICsJCXVzYl9waHlfcm9vdGh1Yl9zdXNwZW5kKGhj ZC0+c2VsZi5zeXNkZXYsIGhjZC0+cGh5X3Jvb3RodWIpOwo+ICAJCWRldl9kYmcoJnJoZGV2LT5k ZXYsICJidXMgJXMgZmFpbCwgZXJyICVkXG4iLAo+ICAJCQkJInJlc3VtZSIsIHN0YXR1cyk7Cj4g IAkJaWYgKHN0YXR1cyAhPSAtRVNIVVRET1dOKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9j b3JlL3BoeS5jIGIvZHJpdmVycy91c2IvY29yZS9waHkuYwo+IGluZGV4IDQ0ZjAwOGNkYTdhOC4u YTM5ZDliYjI2YTRmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvdXNiL2NvcmUvcGh5LmMKPiArKysg Yi9kcml2ZXJzL3VzYi9jb3JlL3BoeS5jCj4gQEAgLTE1NywzICsxNTcsMzggQEAgdm9pZCB1c2Jf cGh5X3Jvb3RodWJfcG93ZXJfb2ZmKHN0cnVjdCB1c2JfcGh5X3Jvb3RodWIgKnBoeV9yb290aHVi KQo+ICAJCXBoeV9wb3dlcl9vZmYocm9vdGh1Yl9lbnRyeS0+cGh5KTsKPiAgfQo+ICBFWFBPUlRf U1lNQk9MX0dQTCh1c2JfcGh5X3Jvb3RodWJfcG93ZXJfb2ZmKTsKPiArCj4gK2ludCB1c2JfcGh5 X3Jvb3RodWJfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpjb250cm9sbGVyX2RldiwKPiArCQkJICAg IHN0cnVjdCB1c2JfcGh5X3Jvb3RodWIgKnBoeV9yb290aHViKQo+ICt7Cj4gKwl1c2JfcGh5X3Jv b3RodWJfcG93ZXJfb2ZmKHBoeV9yb290aHViKTsKPiArCj4gKwkvKiBrZWVwIHRoZSBQSFlzIGlu aXRpYWxpemVkIHNvIHRoZSBkZXZpY2UgY2FuIHdha2UgdXAgdGhlIHN5c3RlbSAqLwo+ICsJaWYg KGRldmljZV9tYXlfd2FrZXVwKGNvbnRyb2xsZXJfZGV2KSkKPiArCQlyZXR1cm4gMDsKPiArCj4g KwlyZXR1cm4gdXNiX3BoeV9yb290aHViX2V4aXQocGh5X3Jvb3RodWIpOwo+ICt9Cj4gK0VYUE9S VF9TWU1CT0xfR1BMKHVzYl9waHlfcm9vdGh1Yl9zdXNwZW5kKTsKPiArCj4gK2ludCB1c2JfcGh5 X3Jvb3RodWJfcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmNvbnRyb2xsZXJfZGV2LAo+ICsJCQkgICBz dHJ1Y3QgdXNiX3BoeV9yb290aHViICpwaHlfcm9vdGh1YikKPiArewo+ICsJaW50IGVycjsKPiAr Cj4gKwkvKiBpZiB0aGUgZGV2aWNlIGNhbid0IHdha2UgdXAgdGhlIHN5c3RlbSBfZXhpdCB3YXMg Y2FsbGVkICovCj4gKwlpZiAoIWRldmljZV9tYXlfd2FrZXVwKGNvbnRyb2xsZXJfZGV2KSkgewo+ ICsJCWVyciA9IHVzYl9waHlfcm9vdGh1Yl9pbml0KHBoeV9yb290aHViKTsKPiArCQlpZiAoZXJy KQo+ICsJCQlyZXR1cm4gZXJyOwo+ICsJfQo+ICsKPiArCWVyciA9IHVzYl9waHlfcm9vdGh1Yl9w b3dlcl9vbihwaHlfcm9vdGh1Yik7Cj4gKwo+ICsJLyogdW5kbyBfaW5pdCBpZiBfcG93ZXJfb24g ZmFpbGVkICovCj4gKwlpZiAoZXJyICYmICFkZXZpY2VfbWF5X3dha2V1cChjb250cm9sbGVyX2Rl dikpCj4gKwkJdXNiX3BoeV9yb290aHViX2V4aXQocGh5X3Jvb3RodWIpOwo+ICsKPiArCXJldHVy biBlcnI7Cj4gK30KPiArRVhQT1JUX1NZTUJPTF9HUEwodXNiX3BoeV9yb290aHViX3Jlc3VtZSk7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2NvcmUvcGh5LmggYi9kcml2ZXJzL3VzYi9jb3Jl L3BoeS5oCj4gaW5kZXggZWIzMTI1MzIwMWFkLi42MDU1NTU5MDFkNDQgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy91c2IvY29yZS9waHkuaAo+ICsrKyBiL2RyaXZlcnMvdXNiL2NvcmUvcGh5LmgKPiBA QCAtNywzICs3LDggQEAgaW50IHVzYl9waHlfcm9vdGh1Yl9leGl0KHN0cnVjdCB1c2JfcGh5X3Jv b3RodWIgKnBoeV9yb290aHViKTsKPiAgCj4gIGludCB1c2JfcGh5X3Jvb3RodWJfcG93ZXJfb24o c3RydWN0IHVzYl9waHlfcm9vdGh1YiAqcGh5X3Jvb3RodWIpOwo+ICB2b2lkIHVzYl9waHlfcm9v dGh1Yl9wb3dlcl9vZmYoc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqcGh5X3Jvb3RodWIpOwo+ICsK PiAraW50IHVzYl9waHlfcm9vdGh1Yl9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmNvbnRyb2xsZXJf ZGV2LAo+ICsJCQkgICAgc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqcGh5X3Jvb3RodWIpOwo+ICtp bnQgdXNiX3BoeV9yb290aHViX3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpjb250cm9sbGVyX2RldiwK PiArCQkJICAgc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqcGh5X3Jvb3RodWIpOwoKVGVzdGVkLWJ5 OiBDaHVuZmVuZyBZdW4gPGNodW5mZW5nLnl1bkBtZWRpYXRlay5jb20+CgpUaGFua3MgYSBsb3QK LS0tClRvIHVuc3Vic2NyaWJlIGZyb20gdGhpcyBsaXN0OiBzZW5kIHRoZSBsaW5lICJ1bnN1YnNj cmliZSBsaW51eC11c2IiIGluCnRoZSBib2R5IG9mIGEgbWVzc2FnZSB0byBtYWpvcmRvbW9Admdl ci5rZXJuZWwub3JnCk1vcmUgbWFqb3Jkb21vIGluZm8gYXQgIGh0dHA6Ly92Z2VyLmtlcm5lbC5v cmcvbWFqb3Jkb21vLWluZm8uaHRtbAo=