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: Martin Blumenstingl Message-Id: <20180324142121.8618-3-martin.blumenstingl@googlemail.com> Date: Sat, 24 Mar 2018 15:21:21 +0100 To: linux-usb@vger.kernel.org Cc: 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, chunfeng.yun@mediatek.com, Martin Blumenstingl List-ID: SWYgdGhlIFVTQiBjb250cm9sbGVyIGNhbiB3YWtlIHVwIHRoZSBzeXN0ZW0gKHdoaWNoIGlzIHRo ZSBjYXNlIGZvcgpleGFtcGxlIHdpdGggdGhlIE1lZGlhdGVrIFVTQjMgSVApIHRoZW4gd2UgbXVz dCBub3QgY2FsbCBwaHlfZXhpdCBkdXJpbmcKc3VzcGVuZCB0byBlbnN1cmUgdGhhdCB0aGUgVVNC IGNvbnRyb2xsZXIgZG9lc24ndCBoYXZlIHRvIHJlLWVudW1lcmF0ZQp0aGUgZGV2aWNlcyBkdXJp bmcgcmVzdW1lLgpIb3dldmVyLCBpZiB0aGUgVVNCIGNvbnRyb2xsZXIgY2Fubm90IHdha2UgdXAg dGhlIHN5c3RlbSAod2hpY2ggaXMgdGhlCmNhc2UgZm9yIGV4YW1wbGUgb24gdmFyaW91cyBUSSBw bGF0Zm9ybXMgdXNpbmcgYSBkd2MzIGNvbnRyb2xsZXIpIHRoZW4Kd2UgbXVzdCBjYWxsIHBoeV9l eGl0IGR1cmluZyBzdXNwZW5kLiBPdGhlcndpc2UgdGhlIFBIWSBkcml2ZXIga2VlcHMgdGhlCmNs b2NrcyBlbmFibGVkLCB3aGljaCBwcmV2ZW50cyB0aGUgc3lzdGVtIGZyb20gZW50ZXJpbmcgdGhl IHN1c3BlbmQKc3RhdGUuCgpTb2x2ZSB0aGlzIGJ5IGludHJvZHVjaW5nIHR3byBuZXcgZnVuY3Rp b25zIGluIHRoZSBQSFkgd3JhcHBlciB3aGljaCBhcmUKZGVkaWNhdGVkIHRvIHRoZSBzdXNwZW5k IGFuZCByZXN1bWUgaGFuZGxpbmcuCklmIHRoZSBjb250cm9sbGVyIGNhbiB3YWtlIHVwIHRoZSBz eXN0ZW0gdGhlIG5ldyB1c2JfcGh5X3Jvb3RodWJfc3VzcGVuZApmdW5jdGlvbiB3aWxsIHNpbXBs eSBjYWxsIHVzYl9waHlfcm9vdGh1Yl9wb3dlcl9vZmYuIEhvd2V2ZXIsIGlmIHdha2UgdXAKaXMg bm90IHN1cHBvcnRlZCBieSB0aGUgY29udHJvbGxlciBpdCB3aWxsIGFsc28gY2FsbAp1c2JfcGh5 X3Jvb3RodWJfZXhpdC4KVGhlIGFsc28gbmV3IHVzYl9waHlfcm9vdGh1Yl9yZXN1bWUgZnVuY3Rp b24gdGFrZXMgY2FyZSBvZiBjYWxsaW5nCnVzYl9waHlfcm9vdGh1Yl9pbml0IChpZiB0aGUgY29u dHJvbGxlciBjYW4ndCB3YWtlIHVwIHRoZSBzeXN0ZW0pIGluCmFkZGl0aW9uIHRvIHVzYl9waHlf cm9vdGh1Yl9wb3dlcl9vbi4KCkZpeGVzOiAwN2RiZmYwZGRiZDg2YyAoInVzYjogY29yZTogYWRk IGEgd3JhcHBlciBmb3IgdGhlIFVTQiBQSFlzIG9uIHRoZSBIQ0QiKQpGaXhlczogMTc4YTBiY2Uw NWNiYzEgKCJ1c2I6IGNvcmU6IGhjZDogaW50ZWdyYXRlIHRoZSBQSFkgd3JhcHBlciBpbnRvIHRo ZSBIQ0QgY29yZSIpClJlcG9ydGVkLWJ5OiBSb2dlciBRdWFkcm9zIDxyb2dlcnFAdGkuY29tPgpT dWdnZXN0ZWQtYnk6IFJvZ2VyIFF1YWRyb3MgPHJvZ2VycUB0aS5jb20+ClN1Z2dlc3RlZC1ieTog Q2h1bmZlbmcgWXVuIDxjaHVuZmVuZy55dW5AbWVkaWF0ZWsuY29tPgpTaWduZWQtb2ZmLWJ5OiBN YXJ0aW4gQmx1bWVuc3RpbmdsIDxtYXJ0aW4uYmx1bWVuc3RpbmdsQGdvb2dsZW1haWwuY29tPgot LS0KIGRyaXZlcnMvdXNiL2NvcmUvaGNkLmMgfCAgOCArKysrKy0tLQogZHJpdmVycy91c2IvY29y ZS9waHkuYyB8IDM3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZl cnMvdXNiL2NvcmUvcGh5LmggfCAgNSArKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA0NyBpbnNlcnRp b25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2NvcmUvaGNk LmMgYi9kcml2ZXJzL3VzYi9jb3JlL2hjZC5jCmluZGV4IDE1YjA0MThlM2I2YS4uNzhiYWU0ZWNk NjhiIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9jb3JlL2hjZC5jCisrKyBiL2RyaXZlcnMvdXNi L2NvcmUvaGNkLmMKQEAgLTIyNjIsNyArMjI2Miw4IEBAIGludCBoY2RfYnVzX3N1c3BlbmQoc3Ry dWN0IHVzYl9kZXZpY2UgKnJoZGV2LCBwbV9tZXNzYWdlX3QgbXNnKQogCQloY2QtPnN0YXRlID0g SENfU1RBVEVfU1VTUEVOREVEOwogCiAJCWlmICghUE1TR19JU19BVVRPKG1zZykpCi0JCQl1c2Jf cGh5X3Jvb3RodWJfcG93ZXJfb2ZmKGhjZC0+cGh5X3Jvb3RodWIpOworCQkJdXNiX3BoeV9yb290 aHViX3N1c3BlbmQoaGNkLT5zZWxmLnN5c2RldiwKKwkJCQkJCWhjZC0+cGh5X3Jvb3RodWIpOwog CiAJCS8qIERpZCB3ZSByYWNlIHdpdGggYSByb290LWh1YiB3YWtldXAgZXZlbnQ/ICovCiAJCWlm IChyaGRldi0+ZG9fcmVtb3RlX3dha2V1cCkgewpAQCAtMjMwMiw3ICsyMzAzLDggQEAgaW50IGhj ZF9idXNfcmVzdW1lKHN0cnVjdCB1c2JfZGV2aWNlICpyaGRldiwgcG1fbWVzc2FnZV90IG1zZykK IAl9CiAKIAlpZiAoIVBNU0dfSVNfQVVUTyhtc2cpKSB7Ci0JCXN0YXR1cyA9IHVzYl9waHlfcm9v dGh1Yl9wb3dlcl9vbihoY2QtPnBoeV9yb290aHViKTsKKwkJc3RhdHVzID0gdXNiX3BoeV9yb290 aHViX3Jlc3VtZShoY2QtPnNlbGYuc3lzZGV2LAorCQkJCQkJaGNkLT5waHlfcm9vdGh1Yik7CiAJ CWlmIChzdGF0dXMpCiAJCQlyZXR1cm4gc3RhdHVzOwogCX0KQEAgLTIzNDQsNyArMjM0Niw3IEBA IGludCBoY2RfYnVzX3Jlc3VtZShzdHJ1Y3QgdXNiX2RldmljZSAqcmhkZXYsIHBtX21lc3NhZ2Vf dCBtc2cpCiAJCX0KIAl9IGVsc2UgewogCQloY2QtPnN0YXRlID0gb2xkX3N0YXRlOwotCQl1c2Jf cGh5X3Jvb3RodWJfcG93ZXJfb2ZmKGhjZC0+cGh5X3Jvb3RodWIpOworCQl1c2JfcGh5X3Jvb3Ro dWJfc3VzcGVuZChoY2QtPnNlbGYuc3lzZGV2LCBoY2QtPnBoeV9yb290aHViKTsKIAkJZGV2X2Ri ZygmcmhkZXYtPmRldiwgImJ1cyAlcyBmYWlsLCBlcnIgJWRcbiIsCiAJCQkJInJlc3VtZSIsIHN0 YXR1cyk7CiAJCWlmIChzdGF0dXMgIT0gLUVTSFVURE9XTikKZGlmZiAtLWdpdCBhL2RyaXZlcnMv dXNiL2NvcmUvcGh5LmMgYi9kcml2ZXJzL3VzYi9jb3JlL3BoeS5jCmluZGV4IGQxODYxYzVhNzRk ZS4uZTc5NGNiZWU5N2U5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9jb3JlL3BoeS5jCisrKyBi L2RyaXZlcnMvdXNiL2NvcmUvcGh5LmMKQEAgLTE1NSwzICsxNTUsNDAgQEAgdm9pZCB1c2JfcGh5 X3Jvb3RodWJfcG93ZXJfb2ZmKHN0cnVjdCB1c2JfcGh5X3Jvb3RodWIgKnBoeV9yb290aHViKQog CQlwaHlfcG93ZXJfb2ZmKHJvb3RodWJfZW50cnktPnBoeSk7CiB9CiBFWFBPUlRfU1lNQk9MX0dQ TCh1c2JfcGh5X3Jvb3RodWJfcG93ZXJfb2ZmKTsKKworaW50IHVzYl9waHlfcm9vdGh1Yl9zdXNw ZW5kKHN0cnVjdCBkZXZpY2UgKmNvbnRyb2xsZXJfZGV2LAorCQkJICAgIHN0cnVjdCB1c2JfcGh5 X3Jvb3RodWIgKnBoeV9yb290aHViKQoreworCXVzYl9waHlfcm9vdGh1Yl9wb3dlcl9vZmYocGh5 X3Jvb3RodWIpOworCisJLyoga2VlcCB0aGUgUEhZcyBpbml0aWFsaXplZCBzbyB0aGUgZGV2aWNl IGNhbiB3YWtlIHVwIHRoZSBzeXN0ZW0gKi8KKwlpZiAoZGV2aWNlX21heV93YWtldXAoY29udHJv bGxlcl9kZXYpKQorCQlyZXR1cm4gMDsKKworCXJldHVybiB1c2JfcGh5X3Jvb3RodWJfZXhpdChw aHlfcm9vdGh1Yik7Cit9CitFWFBPUlRfU1lNQk9MX0dQTCh1c2JfcGh5X3Jvb3RodWJfc3VzcGVu ZCk7CisKK2ludCB1c2JfcGh5X3Jvb3RodWJfcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmNvbnRyb2xs ZXJfZGV2LAorCQkJICAgc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqcGh5X3Jvb3RodWIpCit7CisJ aW50IGVycjsKKworCS8qIGlmIHRoZSBkZXZpY2UgY2FuJ3Qgd2FrZSB1cCB0aGUgc3lzdGVtIF9l eGl0IHdhcyBjYWxsZWQgKi8KKwlpZiAoZGV2aWNlX21heV93YWtldXAoY29udHJvbGxlcl9kZXYp KSB7CisJCWVyciA9IHVzYl9waHlfcm9vdGh1Yl9pbml0KHBoeV9yb290aHViKTsKKwkJaWYgKGVy cikKKwkJCXJldHVybiBlcnI7CisJfQorCisJZXJyID0gdXNiX3BoeV9yb290aHViX3Bvd2VyX29u KHBoeV9yb290aHViKTsKKwlpZiAoZXJyKSB7CisJCWlmIChkZXZpY2VfbWF5X3dha2V1cChjb250 cm9sbGVyX2RldikpCisJCQl1c2JfcGh5X3Jvb3RodWJfZXhpdChwaHlfcm9vdGh1Yik7CisKKwkJ cmV0dXJuIGVycjsKKwl9CisKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHVzYl9w aHlfcm9vdGh1Yl9yZXN1bWUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvY29yZS9waHkuaCBi L2RyaXZlcnMvdXNiL2NvcmUvcGh5LmgKaW5kZXggZWIzMTI1MzIwMWFkLi42MDU1NTU5MDFkNDQg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2NvcmUvcGh5LmgKKysrIGIvZHJpdmVycy91c2IvY29y ZS9waHkuaApAQCAtNywzICs3LDggQEAgaW50IHVzYl9waHlfcm9vdGh1Yl9leGl0KHN0cnVjdCB1 c2JfcGh5X3Jvb3RodWIgKnBoeV9yb290aHViKTsKIAogaW50IHVzYl9waHlfcm9vdGh1Yl9wb3dl cl9vbihzdHJ1Y3QgdXNiX3BoeV9yb290aHViICpwaHlfcm9vdGh1Yik7CiB2b2lkIHVzYl9waHlf cm9vdGh1Yl9wb3dlcl9vZmYoc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqcGh5X3Jvb3RodWIpOwor CitpbnQgdXNiX3BoeV9yb290aHViX3N1c3BlbmQoc3RydWN0IGRldmljZSAqY29udHJvbGxlcl9k ZXYsCisJCQkgICAgc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqcGh5X3Jvb3RodWIpOworaW50IHVz Yl9waHlfcm9vdGh1Yl9yZXN1bWUoc3RydWN0IGRldmljZSAqY29udHJvbGxlcl9kZXYsCisJCQkg ICBzdHJ1Y3QgdXNiX3BoeV9yb290aHViICpwaHlfcm9vdGh1Yik7Cg==