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,v2,2/2] usb: core: use phy_exit during suspend if wake up is not supported From: Chunfeng Yun Message-Id: <1522034500.3717.170.camel@mhfsdcap03> Date: Mon, 26 Mar 2018 11:21:40 +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: T24gU2F0LCAyMDE4LTAzLTI0IGF0IDE1OjIxICswMTAwLCBNYXJ0aW4gQmx1bWVuc3RpbmdsIHdy b3RlOgo+IElmIHRoZSBVU0IgY29udHJvbGxlciBjYW4gd2FrZSB1cCB0aGUgc3lzdGVtICh3aGlj aCBpcyB0aGUgY2FzZSBmb3IKPiBleGFtcGxlIHdpdGggdGhlIE1lZGlhdGVrIFVTQjMgSVApIHRo ZW4gd2UgbXVzdCBub3QgY2FsbCBwaHlfZXhpdCBkdXJpbmcKPiBzdXNwZW5kIHRvIGVuc3VyZSB0 aGF0IHRoZSBVU0IgY29udHJvbGxlciBkb2Vzbid0IGhhdmUgdG8gcmUtZW51bWVyYXRlCj4gdGhl IGRldmljZXMgZHVyaW5nIHJlc3VtZS4KPiBIb3dldmVyLCBpZiB0aGUgVVNCIGNvbnRyb2xsZXIg Y2Fubm90IHdha2UgdXAgdGhlIHN5c3RlbSAod2hpY2ggaXMgdGhlCj4gY2FzZSBmb3IgZXhhbXBs ZSBvbiB2YXJpb3VzIFRJIHBsYXRmb3JtcyB1c2luZyBhIGR3YzMgY29udHJvbGxlcikgdGhlbgo+ IHdlIG11c3QgY2FsbCBwaHlfZXhpdCBkdXJpbmcgc3VzcGVuZC4gT3RoZXJ3aXNlIHRoZSBQSFkg ZHJpdmVyIGtlZXBzIHRoZQo+IGNsb2NrcyBlbmFibGVkLCB3aGljaCBwcmV2ZW50cyB0aGUgc3lz dGVtIGZyb20gZW50ZXJpbmcgdGhlIHN1c3BlbmQKPiBzdGF0ZS4KPiAKPiBTb2x2ZSB0aGlzIGJ5 IGludHJvZHVjaW5nIHR3byBuZXcgZnVuY3Rpb25zIGluIHRoZSBQSFkgd3JhcHBlciB3aGljaCBh cmUKPiBkZWRpY2F0ZWQgdG8gdGhlIHN1c3BlbmQgYW5kIHJlc3VtZSBoYW5kbGluZy4KPiBJZiB0 aGUgY29udHJvbGxlciBjYW4gd2FrZSB1cCB0aGUgc3lzdGVtIHRoZSBuZXcgdXNiX3BoeV9yb290 aHViX3N1c3BlbmQKPiBmdW5jdGlvbiB3aWxsIHNpbXBseSBjYWxsIHVzYl9waHlfcm9vdGh1Yl9w b3dlcl9vZmYuIEhvd2V2ZXIsIGlmIHdha2UgdXAKPiBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBj b250cm9sbGVyIGl0IHdpbGwgYWxzbyBjYWxsCj4gdXNiX3BoeV9yb290aHViX2V4aXQuCj4gVGhl IGFsc28gbmV3IHVzYl9waHlfcm9vdGh1Yl9yZXN1bWUgZnVuY3Rpb24gdGFrZXMgY2FyZSBvZiBj YWxsaW5nCj4gdXNiX3BoeV9yb290aHViX2luaXQgKGlmIHRoZSBjb250cm9sbGVyIGNhbid0IHdh a2UgdXAgdGhlIHN5c3RlbSkgaW4KPiBhZGRpdGlvbiB0byB1c2JfcGh5X3Jvb3RodWJfcG93ZXJf b24uCj4gCj4gRml4ZXM6IDA3ZGJmZjBkZGJkODZjICgidXNiOiBjb3JlOiBhZGQgYSB3cmFwcGVy IGZvciB0aGUgVVNCIFBIWXMgb24gdGhlIEhDRCIpCj4gRml4ZXM6IDE3OGEwYmNlMDVjYmMxICgi dXNiOiBjb3JlOiBoY2Q6IGludGVncmF0ZSB0aGUgUEhZIHdyYXBwZXIgaW50byB0aGUgSENEIGNv cmUiKQo+IFJlcG9ydGVkLWJ5OiBSb2dlciBRdWFkcm9zIDxyb2dlcnFAdGkuY29tPgo+IFN1Z2dl c3RlZC1ieTogUm9nZXIgUXVhZHJvcyA8cm9nZXJxQHRpLmNvbT4KPiBTdWdnZXN0ZWQtYnk6IENo dW5mZW5nIFl1biA8Y2h1bmZlbmcueXVuQG1lZGlhdGVrLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBN YXJ0aW4gQmx1bWVuc3RpbmdsIDxtYXJ0aW4uYmx1bWVuc3RpbmdsQGdvb2dsZW1haWwuY29tPgo+ IC0tLQo+ICBkcml2ZXJzL3VzYi9jb3JlL2hjZC5jIHwgIDggKysrKystLS0KPiAgZHJpdmVycy91 c2IvY29yZS9waHkuYyB8IDM3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK PiAgZHJpdmVycy91c2IvY29yZS9waHkuaCB8ICA1ICsrKysrCj4gIDMgZmlsZXMgY2hhbmdlZCwg NDcgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy91c2IvY29yZS9oY2QuYyBiL2RyaXZlcnMvdXNiL2NvcmUvaGNkLmMKPiBpbmRleCAxNWIwNDE4 ZTNiNmEuLjc4YmFlNGVjZDY4YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3VzYi9jb3JlL2hjZC5j Cj4gKysrIGIvZHJpdmVycy91c2IvY29yZS9oY2QuYwo+IEBAIC0yMjYyLDcgKzIyNjIsOCBAQCBp bnQgaGNkX2J1c19zdXNwZW5kKHN0cnVjdCB1c2JfZGV2aWNlICpyaGRldiwgcG1fbWVzc2FnZV90 IG1zZykKPiAgCQloY2QtPnN0YXRlID0gSENfU1RBVEVfU1VTUEVOREVEOwo+ICAKPiAgCQlpZiAo IVBNU0dfSVNfQVVUTyhtc2cpKQo+IC0JCQl1c2JfcGh5X3Jvb3RodWJfcG93ZXJfb2ZmKGhjZC0+ cGh5X3Jvb3RodWIpOwo+ICsJCQl1c2JfcGh5X3Jvb3RodWJfc3VzcGVuZChoY2QtPnNlbGYuc3lz ZGV2LAo+ICsJCQkJCQloY2QtPnBoeV9yb290aHViKTsKPiAgCj4gIAkJLyogRGlkIHdlIHJhY2Ug d2l0aCBhIHJvb3QtaHViIHdha2V1cCBldmVudD8gKi8KPiAgCQlpZiAocmhkZXYtPmRvX3JlbW90 ZV93YWtldXApIHsKPiBAQCAtMjMwMiw3ICsyMzAzLDggQEAgaW50IGhjZF9idXNfcmVzdW1lKHN0 cnVjdCB1c2JfZGV2aWNlICpyaGRldiwgcG1fbWVzc2FnZV90IG1zZykKPiAgCX0KPiAgCj4gIAlp ZiAoIVBNU0dfSVNfQVVUTyhtc2cpKSB7Cj4gLQkJc3RhdHVzID0gdXNiX3BoeV9yb290aHViX3Bv d2VyX29uKGhjZC0+cGh5X3Jvb3RodWIpOwo+ICsJCXN0YXR1cyA9IHVzYl9waHlfcm9vdGh1Yl9y ZXN1bWUoaGNkLT5zZWxmLnN5c2RldiwKPiArCQkJCQkJaGNkLT5waHlfcm9vdGh1Yik7Cj4gIAkJ aWYgKHN0YXR1cykKPiAgCQkJcmV0dXJuIHN0YXR1czsKPiAgCX0KPiBAQCAtMjM0NCw3ICsyMzQ2 LDcgQEAgaW50IGhjZF9idXNfcmVzdW1lKHN0cnVjdCB1c2JfZGV2aWNlICpyaGRldiwgcG1fbWVz c2FnZV90IG1zZykKPiAgCQl9Cj4gIAl9IGVsc2Ugewo+ICAJCWhjZC0+c3RhdGUgPSBvbGRfc3Rh dGU7Cj4gLQkJdXNiX3BoeV9yb290aHViX3Bvd2VyX29mZihoY2QtPnBoeV9yb290aHViKTsKPiAr CQl1c2JfcGh5X3Jvb3RodWJfc3VzcGVuZChoY2QtPnNlbGYuc3lzZGV2LCBoY2QtPnBoeV9yb290 aHViKTsKPiAgCQlkZXZfZGJnKCZyaGRldi0+ZGV2LCAiYnVzICVzIGZhaWwsIGVyciAlZFxuIiwK PiAgCQkJCSJyZXN1bWUiLCBzdGF0dXMpOwo+ICAJCWlmIChzdGF0dXMgIT0gLUVTSFVURE9XTikK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvY29yZS9waHkuYyBiL2RyaXZlcnMvdXNiL2NvcmUv cGh5LmMKPiBpbmRleCBkMTg2MWM1YTc0ZGUuLmU3OTRjYmVlOTdlOSAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL3VzYi9jb3JlL3BoeS5jCj4gKysrIGIvZHJpdmVycy91c2IvY29yZS9waHkuYwo+IEBA IC0xNTUsMyArMTU1LDQwIEBAIHZvaWQgdXNiX3BoeV9yb290aHViX3Bvd2VyX29mZihzdHJ1Y3Qg dXNiX3BoeV9yb290aHViICpwaHlfcm9vdGh1YikKPiAgCQlwaHlfcG93ZXJfb2ZmKHJvb3RodWJf ZW50cnktPnBoeSk7Cj4gIH0KPiAgRVhQT1JUX1NZTUJPTF9HUEwodXNiX3BoeV9yb290aHViX3Bv d2VyX29mZik7Cj4gKwo+ICtpbnQgdXNiX3BoeV9yb290aHViX3N1c3BlbmQoc3RydWN0IGRldmlj ZSAqY29udHJvbGxlcl9kZXYsCj4gKwkJCSAgICBzdHJ1Y3QgdXNiX3BoeV9yb290aHViICpwaHlf cm9vdGh1YikKPiArewo+ICsJdXNiX3BoeV9yb290aHViX3Bvd2VyX29mZihwaHlfcm9vdGh1Yik7 Cj4gKwo+ICsJLyoga2VlcCB0aGUgUEhZcyBpbml0aWFsaXplZCBzbyB0aGUgZGV2aWNlIGNhbiB3 YWtlIHVwIHRoZSBzeXN0ZW0gKi8KPiArCWlmIChkZXZpY2VfbWF5X3dha2V1cChjb250cm9sbGVy X2RldikpCj4gKwkJcmV0dXJuIDA7Cj4gKwo+ICsJcmV0dXJuIHVzYl9waHlfcm9vdGh1Yl9leGl0 KHBoeV9yb290aHViKTsKPiArfQo+ICtFWFBPUlRfU1lNQk9MX0dQTCh1c2JfcGh5X3Jvb3RodWJf c3VzcGVuZCk7Cj4gKwo+ICtpbnQgdXNiX3BoeV9yb290aHViX3Jlc3VtZShzdHJ1Y3QgZGV2aWNl ICpjb250cm9sbGVyX2RldiwKPiArCQkJICAgc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqcGh5X3Jv b3RodWIpCj4gK3sKPiArCWludCBlcnI7Cj4gKwo+ICsJLyogaWYgdGhlIGRldmljZSBjYW4ndCB3 YWtlIHVwIHRoZSBzeXN0ZW0gX2V4aXQgd2FzIGNhbGxlZCAqLwo+ICsJaWYgKGRldmljZV9tYXlf d2FrZXVwKGNvbnRyb2xsZXJfZGV2KSkgewpmaXggaXQgYXMgUm9nZXIgc3VnZ2VzdGVkIGJlZm9y ZToKCmlmICghZGV2aWNlX21heV93YWtldXAoY29udHJvbGxlcl9kZXYpKSB7CgoKPiArCQllcnIg PSB1c2JfcGh5X3Jvb3RodWJfaW5pdChwaHlfcm9vdGh1Yik7Cj4gKwkJaWYgKGVycikKPiArCQkJ cmV0dXJuIGVycjsKPiArCX0KPiArCj4gKwllcnIgPSB1c2JfcGh5X3Jvb3RodWJfcG93ZXJfb24o cGh5X3Jvb3RodWIpOwo+ICsJaWYgKGVycikgewo+ICsJCWlmIChkZXZpY2VfbWF5X3dha2V1cChj b250cm9sbGVyX2RldikpCmRpdHRvCgpBZnRlciBmaXhpbmcgdGhlbSwgaXQncyBvayBvbiBNVEsn cyBwbGF0Zm9ybS4KCj4gKwkJCXVzYl9waHlfcm9vdGh1Yl9leGl0KHBoeV9yb290aHViKTsKPiAr Cj4gKwkJcmV0dXJuIGVycjsKQ2FuIGJlIHJlbW92ZWQ/Cgo+ICsJfQo+ICsKPiArCXJldHVybiAw OwpyZXR1cm4gZXJyOwo+ICt9CgoKPiArRVhQT1JUX1NZTUJPTF9HUEwodXNiX3BoeV9yb290aHVi X3Jlc3VtZSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2NvcmUvcGh5LmggYi9kcml2ZXJz L3VzYi9jb3JlL3BoeS5oCj4gaW5kZXggZWIzMTI1MzIwMWFkLi42MDU1NTU5MDFkNDQgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy91c2IvY29yZS9waHkuaAo+ICsrKyBiL2RyaXZlcnMvdXNiL2NvcmUv cGh5LmgKPiBAQCAtNywzICs3LDggQEAgaW50IHVzYl9waHlfcm9vdGh1Yl9leGl0KHN0cnVjdCB1 c2JfcGh5X3Jvb3RodWIgKnBoeV9yb290aHViKTsKPiAgCj4gIGludCB1c2JfcGh5X3Jvb3RodWJf cG93ZXJfb24oc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqcGh5X3Jvb3RodWIpOwo+ICB2b2lkIHVz Yl9waHlfcm9vdGh1Yl9wb3dlcl9vZmYoc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqcGh5X3Jvb3Ro dWIpOwo+ICsKPiAraW50IHVzYl9waHlfcm9vdGh1Yl9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmNv bnRyb2xsZXJfZGV2LAo+ICsJCQkgICAgc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqcGh5X3Jvb3Ro dWIpOwo+ICtpbnQgdXNiX3BoeV9yb290aHViX3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpjb250cm9s bGVyX2RldiwKPiArCQkJICAgc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqcGh5X3Jvb3RodWIpOwot LS0KVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVuc3Vic2Ny aWJlIGxpbnV4LXVzYiIgaW4KdGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2Vy Lmtlcm5lbC5vcmcKTW9yZSBtYWpvcmRvbW8gaW5mbyBhdCAgaHR0cDovL3ZnZXIua2VybmVsLm9y Zy9tYWpvcmRvbW8taW5mby5odG1sCg==