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/RFT,usb-next,v1,1/6] usb: mtu3: remove custom USB PHY handling From: Martin Blumenstingl Message-Id: <20180125001639.14681-2-martin.blumenstingl@googlemail.com> Date: Thu, 25 Jan 2018 01:16:34 +0100 To: linux-usb@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org, chunfeng.yun@mediatek.com, matthias.bgg@gmail.com, linux@prisktech.co.nz, Peter.Chen@nxp.com Cc: mathias.nyman@intel.com, stern@rowland.harvard.edu, gregkh@linuxfoundation.org, Martin Blumenstingl List-ID: VGhlIG5ldyBQSFkgd3JhcHBlciBpcyBub3cgd2lyZWQgdXAgaW4gdGhlIGNvcmUgSENEIGNvZGUu IFRoaXMgbWVhbnMKdGhhdCBQSFlzIGFyZSBub3cgY29udHJvbGxlZCAoaW5pdGlhbGl6ZWQsIGVu YWJsZWQsIGRpc2FibGVkLCBleGl0ZWQpCndpdGhvdXQgcmVxdWlyaW5nIGFueSBob3N0LWRyaXZl ciBzcGVjaWZpYyBjb2RlLgpSZW1vdmUgdGhlIGN1c3RvbSBVU0IgUEhZIGhhbmRsaW5nIGZyb20g dGhlIG10dTMgZHJpdmVyIGFzIHRoZSBjb3JlIEhDRApjb2RlIG5vdyBoYW5kbGVzIHRoaXMuCgpT aWduZWQtb2ZmLWJ5OiBNYXJ0aW4gQmx1bWVuc3RpbmdsIDxtYXJ0aW4uYmx1bWVuc3RpbmdsQGdv b2dsZW1haWwuY29tPgotLS0KIGRyaXZlcnMvdXNiL210dTMvbXR1M19wbGF0LmMgfCAxMDEgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQs IDEwMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9tdHUzL210dTNfcGxh dC5jIGIvZHJpdmVycy91c2IvbXR1My9tdHUzX3BsYXQuYwppbmRleCA2MjhkNWNlMzU2Y2EuLmE4 OTRkZGYyNWJjZCAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvbXR1My9tdHUzX3BsYXQuYworKysg Yi9kcml2ZXJzL3VzYi9tdHUzL210dTNfcGxhdC5jCkBAIC00NCw2MiArNDQsNiBAQCBpbnQgc3N1 c2JfY2hlY2tfY2xvY2tzKHN0cnVjdCBzc3VzYl9tdGsgKnNzdXNiLCB1MzIgZXhfY2xrcykKIAly ZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBzc3VzYl9waHlfaW5pdChzdHJ1Y3Qgc3N1c2JfbXRr ICpzc3VzYikKLXsKLQlpbnQgaTsKLQlpbnQgcmV0OwotCi0JZm9yIChpID0gMDsgaSA8IHNzdXNi LT5udW1fcGh5czsgaSsrKSB7Ci0JCXJldCA9IHBoeV9pbml0KHNzdXNiLT5waHlzW2ldKTsKLQkJ aWYgKHJldCkKLQkJCWdvdG8gZXhpdF9waHk7Ci0JfQotCXJldHVybiAwOwotCi1leGl0X3BoeToK LQlmb3IgKDsgaSA+IDA7IGktLSkKLQkJcGh5X2V4aXQoc3N1c2ItPnBoeXNbaSAtIDFdKTsKLQot CXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyBpbnQgc3N1c2JfcGh5X2V4aXQoc3RydWN0IHNzdXNi X210ayAqc3N1c2IpCi17Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgc3N1c2ItPm51bV9w aHlzOyBpKyspCi0JCXBoeV9leGl0KHNzdXNiLT5waHlzW2ldKTsKLQotCXJldHVybiAwOwotfQot Ci1zdGF0aWMgaW50IHNzdXNiX3BoeV9wb3dlcl9vbihzdHJ1Y3Qgc3N1c2JfbXRrICpzc3VzYikK LXsKLQlpbnQgaTsKLQlpbnQgcmV0OwotCi0JZm9yIChpID0gMDsgaSA8IHNzdXNiLT5udW1fcGh5 czsgaSsrKSB7Ci0JCXJldCA9IHBoeV9wb3dlcl9vbihzc3VzYi0+cGh5c1tpXSk7Ci0JCWlmIChy ZXQpCi0JCQlnb3RvIHBvd2VyX29mZl9waHk7Ci0JfQotCXJldHVybiAwOwotCi1wb3dlcl9vZmZf cGh5OgotCWZvciAoOyBpID4gMDsgaS0tKQotCQlwaHlfcG93ZXJfb2ZmKHNzdXNiLT5waHlzW2kg LSAxXSk7Ci0KLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0aWMgdm9pZCBzc3VzYl9waHlfcG93ZXJf b2ZmKHN0cnVjdCBzc3VzYl9tdGsgKnNzdXNiKQotewotCXVuc2lnbmVkIGludCBpOwotCi0JZm9y IChpID0gMDsgaSA8IHNzdXNiLT5udW1fcGh5czsgaSsrKQotCQlwaHlfcG93ZXJfb2ZmKHNzdXNi LT5waHlzW2ldKTsKLX0KLQogc3RhdGljIGludCBzc3VzYl9jbGtzX2VuYWJsZShzdHJ1Y3Qgc3N1 c2JfbXRrICpzc3VzYikKIHsKIAlpbnQgcmV0OwpAQCAtMTYyLDI0ICsxMDYsOCBAQCBzdGF0aWMg aW50IHNzdXNiX3JzY3NfaW5pdChzdHJ1Y3Qgc3N1c2JfbXRrICpzc3VzYikKIAlpZiAocmV0KQog CQlnb3RvIGNsa3NfZXJyOwogCi0JcmV0ID0gc3N1c2JfcGh5X2luaXQoc3N1c2IpOwotCWlmIChy ZXQpIHsKLQkJZGV2X2Vycihzc3VzYi0+ZGV2LCAiZmFpbGVkIHRvIGluaXQgcGh5XG4iKTsKLQkJ Z290byBwaHlfaW5pdF9lcnI7Ci0JfQotCi0JcmV0ID0gc3N1c2JfcGh5X3Bvd2VyX29uKHNzdXNi KTsKLQlpZiAocmV0KSB7Ci0JCWRldl9lcnIoc3N1c2ItPmRldiwgImZhaWxlZCB0byBwb3dlciBv biBwaHlcbiIpOwotCQlnb3RvIHBoeV9lcnI7Ci0JfQotCiAJcmV0dXJuIDA7CiAKLXBoeV9lcnI6 Ci0Jc3N1c2JfcGh5X2V4aXQoc3N1c2IpOwotcGh5X2luaXRfZXJyOgotCXNzdXNiX2Nsa3NfZGlz YWJsZShzc3VzYik7CiBjbGtzX2VycjoKIAlyZWd1bGF0b3JfZGlzYWJsZShzc3VzYi0+dnVzYjMz KTsKIHZ1c2IzM19lcnI6CkBAIC0xOTAsOCArMTE4LDYgQEAgc3RhdGljIHZvaWQgc3N1c2JfcnNj c19leGl0KHN0cnVjdCBzc3VzYl9tdGsgKnNzdXNiKQogewogCXNzdXNiX2Nsa3NfZGlzYWJsZShz c3VzYik7CiAJcmVndWxhdG9yX2Rpc2FibGUoc3N1c2ItPnZ1c2IzMyk7Ci0Jc3N1c2JfcGh5X3Bv d2VyX29mZihzc3VzYik7Ci0Jc3N1c2JfcGh5X2V4aXQoc3N1c2IpOwogfQogCiBzdGF0aWMgdm9p ZCBzc3VzYl9pcF9zd19yZXNldChzdHJ1Y3Qgc3N1c2JfbXRrICpzc3VzYikKQEAgLTIyMiw3ICsx NDgsNiBAQCBzdGF0aWMgaW50IGdldF9zc3VzYl9yc2NzKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ug KnBkZXYsIHN0cnVjdCBzc3VzYl9tdGsgKnNzdXNiKQogCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZw ZGV2LT5kZXY7CiAJc3RydWN0IHJlZ3VsYXRvciAqdmJ1czsKIAlzdHJ1Y3QgcmVzb3VyY2UgKnJl czsKLQlpbnQgaTsKIAlpbnQgcmV0OwogCiAJc3N1c2ItPnZ1c2IzMyA9IGRldm1fcmVndWxhdG9y X2dldCgmcGRldi0+ZGV2LCAidnVzYjMzIik7CkBAIC0yNDksMjUgKzE3NCw2IEBAIHN0YXRpYyBp bnQgZ2V0X3NzdXNiX3JzY3Moc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwgc3RydWN0IHNz dXNiX210ayAqc3N1c2IpCiAJaWYgKElTX0VSUihzc3VzYi0+ZG1hX2NsaykpCiAJCXJldHVybiBQ VFJfRVJSKHNzdXNiLT5kbWFfY2xrKTsKIAotCXNzdXNiLT5udW1fcGh5cyA9IG9mX2NvdW50X3Bo YW5kbGVfd2l0aF9hcmdzKG5vZGUsCi0JCQkicGh5cyIsICIjcGh5LWNlbGxzIik7Ci0JaWYgKHNz dXNiLT5udW1fcGh5cyA+IDApIHsKLQkJc3N1c2ItPnBoeXMgPSBkZXZtX2tjYWxsb2MoZGV2LCBz c3VzYi0+bnVtX3BoeXMsCi0JCQkJCXNpemVvZigqc3N1c2ItPnBoeXMpLCBHRlBfS0VSTkVMKTsK LQkJaWYgKCFzc3VzYi0+cGh5cykKLQkJCXJldHVybiAtRU5PTUVNOwotCX0gZWxzZSB7Ci0JCXNz dXNiLT5udW1fcGh5cyA9IDA7Ci0JfQotCi0JZm9yIChpID0gMDsgaSA8IHNzdXNiLT5udW1fcGh5 czsgaSsrKSB7Ci0JCXNzdXNiLT5waHlzW2ldID0gZGV2bV9vZl9waHlfZ2V0X2J5X2luZGV4KGRl diwgbm9kZSwgaSk7Ci0JCWlmIChJU19FUlIoc3N1c2ItPnBoeXNbaV0pKSB7Ci0JCQlkZXZfZXJy KGRldiwgImZhaWxlZCB0byBnZXQgcGh5LSVkXG4iLCBpKTsKLQkJCXJldHVybiBQVFJfRVJSKHNz dXNiLT5waHlzW2ldKTsKLQkJfQotCX0KLQogCXJlcyA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZV9i eW5hbWUocGRldiwgSU9SRVNPVVJDRV9NRU0sICJpcHBjIik7CiAJc3N1c2ItPmlwcGNfYmFzZSA9 IGRldm1faW9yZW1hcF9yZXNvdXJjZShkZXYsIHJlcyk7CiAJaWYgKElTX0VSUihzc3VzYi0+aXBw Y19iYXNlKSkKQEAgLTQ1Nyw3ICszNjMsNiBAQCBzdGF0aWMgaW50IF9fbWF5YmVfdW51c2VkIG10 dTNfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpCiAJCXJldHVybiAwOwogCiAJc3N1c2JfaG9z dF9kaXNhYmxlKHNzdXNiLCB0cnVlKTsKLQlzc3VzYl9waHlfcG93ZXJfb2ZmKHNzdXNiKTsKIAlz c3VzYl9jbGtzX2Rpc2FibGUoc3N1c2IpOwogCXNzdXNiX3dha2V1cF9zZXQoc3N1c2IsIHRydWUp OwogCkBAIC00ODAsMTYgKzM4NSwxMCBAQCBzdGF0aWMgaW50IF9fbWF5YmVfdW51c2VkIG10dTNf cmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldikKIAlpZiAocmV0KQogCQlnb3RvIGNsa3NfZXJyOwog Ci0JcmV0ID0gc3N1c2JfcGh5X3Bvd2VyX29uKHNzdXNiKTsKLQlpZiAocmV0KQotCQlnb3RvIHBo eV9lcnI7Ci0KIAlzc3VzYl9ob3N0X2VuYWJsZShzc3VzYik7CiAKIAlyZXR1cm4gMDsKIAotcGh5 X2VycjoKLQlzc3VzYl9jbGtzX2Rpc2FibGUoc3N1c2IpOwogY2xrc19lcnI6CiAJcmV0dXJuIHJl dDsKIH0K