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,1/2] usb: core: split usb_phy_roothub_{init,alloc} From: Martin Blumenstingl Message-Id: <20180324142121.8618-2-martin.blumenstingl@googlemail.com> Date: Sat, 24 Mar 2018 15:21:20 +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: QmVmb3JlIHRoaXMgcGF0Y2ggdXNiX3BoeV9yb290aHViX2luaXQgc2VydmVkIHR3byBwdXJwb3Nl cyAoZnJvbSBhCmNhbGxlcidzIHBvaW50IG9mIHZpZXcgLSBsaWtlIGhjZC5jKToKLSBwYXJzaW5n IHRoZSBQSFlzIGFuZCBhbGxvY2F0aW5nIHRoZSBsaXN0IGVudHJpZXMKLSBjYWxsaW5nIHBoeV9p bml0IG9uIGVhY2ggbGlzdCBlbnRyeQoKV2hpbGUgdGhpcyB3b3JrZWQgc28gZmFyIGl0IGhhcyBv bmUgZGlzYWR2YW50YWdlOiBpZiB3ZSBuZWVkIHRvIGNhbGwKcGh5X2luaXQgZm9yIGVhY2ggUEhZ IGluc3RhbmNlIHRoZW4gdGhlIGV4aXN0aW5nIGNvZGUgY2Fubm90IGJlIHJlLXVzZWQuClNvbHZl IHRoaXMgYnkgc3BsaXR0aW5nIG9mZiB1c2JfcGh5X3Jvb3RodWJfYWxsb2Mgd2hpY2ggb25seSBw YXJzZXMgdGhlClBIWXMgYW5kIGFsbG9jYXRlcyB0aGUgbGlzdCBlbnRyaWVzLgp1c2JfcGh5X3Jv b3RodWJfaW5pdCB0aGVuIGdldHMgYSBzdHJ1Y3QgdXNiX3BoeV9yb290aHViIGFuZCBvbmx5IGNh bGxzCnBoeV9pbml0IG9uIGVhY2ggUEhZIGluc3RhbmNlIChhbG9uZyB3aXRoIHRoZSBjb3JyZXNw b25kaW5nIGNsZWFudXAgaWYKdGhhdCBmYWlsZWQgc29tZXdoZXJlKS4KClRoaXMgaXMgYSBwcmVw YXJhdGlvbiBzdGVwIGZvciBhZGRpbmcgcHJvcGVyIHN1c3BlbmQgc3VwcG9ydCBmb3Igc29tZQpo YXJkd2FyZSB0aGF0IHJlcXVpcmVzIHBoeV9leGl0IHRvIGJlIGNhbGxlZCBkdXJpbmcgc3VzcGVu ZCBhbmQgcGh5X2luaXQKdG8gYmUgY2FsbGVkIGR1cmluZyByZXN1bWUuCgpTaWduZWQtb2ZmLWJ5 OiBNYXJ0aW4gQmx1bWVuc3RpbmdsIDxtYXJ0aW4uYmx1bWVuc3RpbmdsQGdvb2dsZW1haWwuY29t PgotLS0KIGRyaXZlcnMvdXNiL2NvcmUvaGNkLmMgfCAxMCArKysrKysrLS0tCiBkcml2ZXJzL3Vz Yi9jb3JlL3BoeS5jIHwgNTEgKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KIGRyaXZlcnMvdXNiL2NvcmUvcGh5LmggfCAgNCArKystCiAzIGZpbGVzIGNo YW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDMwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvdXNiL2NvcmUvaGNkLmMgYi9kcml2ZXJzL3VzYi9jb3JlL2hjZC5jCmluZGV4IDc3NzAz NmFlNjM2Ny4uMTViMDQxOGUzYjZhIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9jb3JlL2hjZC5j CisrKyBiL2RyaXZlcnMvdXNiL2NvcmUvaGNkLmMKQEAgLTI3NTgsMTIgKzI3NTgsMTYgQEAgaW50 IHVzYl9hZGRfaGNkKHN0cnVjdCB1c2JfaGNkICpoY2QsCiAJfQogCiAJaWYgKCFoY2QtPnNraXBf cGh5X2luaXRpYWxpemF0aW9uICYmIHVzYl9oY2RfaXNfcHJpbWFyeV9oY2QoaGNkKSkgewotCQlo Y2QtPnBoeV9yb290aHViID0gdXNiX3BoeV9yb290aHViX2luaXQoaGNkLT5zZWxmLnN5c2Rldik7 CisJCWhjZC0+cGh5X3Jvb3RodWIgPSB1c2JfcGh5X3Jvb3RodWJfYWxsb2MoaGNkLT5zZWxmLnN5 c2Rldik7CiAJCWlmIChJU19FUlIoaGNkLT5waHlfcm9vdGh1YikpIHsKIAkJCXJldHZhbCA9IFBU Ul9FUlIoaGNkLT5waHlfcm9vdGh1Yik7Ci0JCQlnb3RvIGVycl9waHlfcm9vdGh1Yl9pbml0Owor CQkJZ290byBlcnJfcGh5X3Jvb3RodWJfYWxsb2M7CiAJCX0KIAorCQlyZXR2YWwgPSB1c2JfcGh5 X3Jvb3RodWJfaW5pdChoY2QtPnBoeV9yb290aHViKTsKKwkJaWYgKHJldHZhbCkKKwkJCWdvdG8g ZXJyX3BoeV9yb290aHViX2FsbG9jOworCiAJCXJldHZhbCA9IHVzYl9waHlfcm9vdGh1Yl9wb3dl cl9vbihoY2QtPnBoeV9yb290aHViKTsKIAkJaWYgKHJldHZhbCkKIAkJCWdvdG8gZXJyX3VzYl9w aHlfcm9vdGh1Yl9wb3dlcl9vbjsKQEAgLTI5MzYsNyArMjk0MCw3IEBAIGludCB1c2JfYWRkX2hj ZChzdHJ1Y3QgdXNiX2hjZCAqaGNkLAogCXVzYl9waHlfcm9vdGh1Yl9wb3dlcl9vZmYoaGNkLT5w aHlfcm9vdGh1Yik7CiBlcnJfdXNiX3BoeV9yb290aHViX3Bvd2VyX29uOgogCXVzYl9waHlfcm9v dGh1Yl9leGl0KGhjZC0+cGh5X3Jvb3RodWIpOwotZXJyX3BoeV9yb290aHViX2luaXQ6CitlcnJf cGh5X3Jvb3RodWJfYWxsb2M6CiAJaWYgKGhjZC0+cmVtb3ZlX3BoeSAmJiBoY2QtPnVzYl9waHkp IHsKIAkJdXNiX3BoeV9zaHV0ZG93bihoY2QtPnVzYl9waHkpOwogCQl1c2JfcHV0X3BoeShoY2Qt PnVzYl9waHkpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvY29yZS9waHkuYyBiL2RyaXZlcnMv dXNiL2NvcmUvcGh5LmMKaW5kZXggZjE5YWFhM2M4OTljLi5kMTg2MWM1YTc0ZGUgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvdXNiL2NvcmUvcGh5LmMKKysrIGIvZHJpdmVycy91c2IvY29yZS9waHkuYwpA QCAtMTksMTkgKzE5LDYgQEAgc3RydWN0IHVzYl9waHlfcm9vdGh1YiB7CiAJc3RydWN0IGxpc3Rf aGVhZAlsaXN0OwogfTsKIAotc3RhdGljIHN0cnVjdCB1c2JfcGh5X3Jvb3RodWIgKnVzYl9waHlf cm9vdGh1Yl9hbGxvYyhzdHJ1Y3QgZGV2aWNlICpkZXYpCi17Ci0Jc3RydWN0IHVzYl9waHlfcm9v dGh1YiAqcm9vdGh1Yl9lbnRyeTsKLQotCXJvb3RodWJfZW50cnkgPSBkZXZtX2t6YWxsb2MoZGV2 LCBzaXplb2YoKnJvb3RodWJfZW50cnkpLCBHRlBfS0VSTkVMKTsKLQlpZiAoIXJvb3RodWJfZW50 cnkpCi0JCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwotCi0JSU5JVF9MSVNUX0hFQUQoJnJvb3Ro dWJfZW50cnktPmxpc3QpOwotCi0JcmV0dXJuIHJvb3RodWJfZW50cnk7Ci19Ci0KIHN0YXRpYyBp bnQgdXNiX3BoeV9yb290aHViX2FkZF9waHkoc3RydWN0IGRldmljZSAqZGV2LCBpbnQgaW5kZXgs CiAJCQkJICAgc3RydWN0IGxpc3RfaGVhZCAqbGlzdCkKIHsKQEAgLTQ1LDkgKzMyLDkgQEAgc3Rh dGljIGludCB1c2JfcGh5X3Jvb3RodWJfYWRkX3BoeShzdHJ1Y3QgZGV2aWNlICpkZXYsIGludCBp bmRleCwKIAkJCXJldHVybiBQVFJfRVJSKHBoeSk7CiAJfQogCi0Jcm9vdGh1Yl9lbnRyeSA9IHVz Yl9waHlfcm9vdGh1Yl9hbGxvYyhkZXYpOwotCWlmIChJU19FUlIocm9vdGh1Yl9lbnRyeSkpCi0J CXJldHVybiBQVFJfRVJSKHJvb3RodWJfZW50cnkpOworCXJvb3RodWJfZW50cnkgPSBkZXZtX2t6 YWxsb2MoZGV2LCBzaXplb2YoKnJvb3RodWJfZW50cnkpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXJv b3RodWJfZW50cnkpCisJCXJldHVybiAtRU5PTUVNOwogCiAJcm9vdGh1Yl9lbnRyeS0+cGh5ID0g cGh5OwogCkBAIC01NiwxMSArNDMsOSBAQCBzdGF0aWMgaW50IHVzYl9waHlfcm9vdGh1Yl9hZGRf cGh5KHN0cnVjdCBkZXZpY2UgKmRldiwgaW50IGluZGV4LAogCXJldHVybiAwOwogfQogCi1zdHJ1 Y3QgdXNiX3BoeV9yb290aHViICp1c2JfcGh5X3Jvb3RodWJfaW5pdChzdHJ1Y3QgZGV2aWNlICpk ZXYpCitzdHJ1Y3QgdXNiX3BoeV9yb290aHViICp1c2JfcGh5X3Jvb3RodWJfYWxsb2Moc3RydWN0 IGRldmljZSAqZGV2KQogewogCXN0cnVjdCB1c2JfcGh5X3Jvb3RodWIgKnBoeV9yb290aHViOwot CXN0cnVjdCB1c2JfcGh5X3Jvb3RodWIgKnJvb3RodWJfZW50cnk7Ci0Jc3RydWN0IGxpc3RfaGVh ZCAqaGVhZDsKIAlpbnQgaSwgbnVtX3BoeXMsIGVycjsKIAogCW51bV9waHlzID0gb2ZfY291bnRf cGhhbmRsZV93aXRoX2FyZ3MoZGV2LT5vZl9ub2RlLCAicGh5cyIsCkBAIC02OCwxNiArNTMsMzEg QEAgc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqdXNiX3BoeV9yb290aHViX2luaXQoc3RydWN0IGRl dmljZSAqZGV2KQogCWlmIChudW1fcGh5cyA8PSAwKQogCQlyZXR1cm4gTlVMTDsKIAotCXBoeV9y b290aHViID0gdXNiX3BoeV9yb290aHViX2FsbG9jKGRldik7Ci0JaWYgKElTX0VSUihwaHlfcm9v dGh1YikpCi0JCXJldHVybiBwaHlfcm9vdGh1YjsKKwlwaHlfcm9vdGh1YiA9IGRldm1fa3phbGxv YyhkZXYsIHNpemVvZigqcGh5X3Jvb3RodWIpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXBoeV9yb290 aHViKQorCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKKworCUlOSVRfTElTVF9IRUFEKCZwaHlf cm9vdGh1Yi0+bGlzdCk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgbnVtX3BoeXM7IGkrKykgewogCQll cnIgPSB1c2JfcGh5X3Jvb3RodWJfYWRkX3BoeShkZXYsIGksICZwaHlfcm9vdGh1Yi0+bGlzdCk7 CiAJCWlmIChlcnIpCi0JCQlnb3RvIGVycl9vdXQ7CisJCQlyZXR1cm4gRVJSX1BUUihlcnIpOwog CX0KIAorCXJldHVybiBwaHlfcm9vdGh1YjsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHVzYl9waHlf cm9vdGh1Yl9hbGxvYyk7CisKK2ludCB1c2JfcGh5X3Jvb3RodWJfaW5pdChzdHJ1Y3QgdXNiX3Bo eV9yb290aHViICpwaHlfcm9vdGh1YikKK3sKKwlzdHJ1Y3QgdXNiX3BoeV9yb290aHViICpyb290 aHViX2VudHJ5OworCXN0cnVjdCBsaXN0X2hlYWQgKmhlYWQ7CisJaW50IGVycjsKKworCWlmICgh cGh5X3Jvb3RodWIpCisJCXJldHVybiAwOworCiAJaGVhZCA9ICZwaHlfcm9vdGh1Yi0+bGlzdDsK IAogCWxpc3RfZm9yX2VhY2hfZW50cnkocm9vdGh1Yl9lbnRyeSwgaGVhZCwgbGlzdCkgewpAQCAt ODYsMTQgKzg2LDEzIEBAIHN0cnVjdCB1c2JfcGh5X3Jvb3RodWIgKnVzYl9waHlfcm9vdGh1Yl9p bml0KHN0cnVjdCBkZXZpY2UgKmRldikKIAkJCWdvdG8gZXJyX2V4aXRfcGh5czsKIAl9CiAKLQly ZXR1cm4gcGh5X3Jvb3RodWI7CisJcmV0dXJuIDA7CiAKIGVycl9leGl0X3BoeXM6CiAJbGlzdF9m b3JfZWFjaF9lbnRyeV9jb250aW51ZV9yZXZlcnNlKHJvb3RodWJfZW50cnksIGhlYWQsIGxpc3Qp CiAJCXBoeV9leGl0KHJvb3RodWJfZW50cnktPnBoeSk7CiAKLWVycl9vdXQ6Ci0JcmV0dXJuIEVS Ul9QVFIoZXJyKTsKKwlyZXR1cm4gZXJyOwogfQogRVhQT1JUX1NZTUJPTF9HUEwodXNiX3BoeV9y b290aHViX2luaXQpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9jb3JlL3BoeS5oIGIvZHJp dmVycy91c2IvY29yZS9waHkuaAppbmRleCA2ZmRlNTliZmJmZjguLmViMzEyNTMyMDFhZCAxMDA2 NDQKLS0tIGEvZHJpdmVycy91c2IvY29yZS9waHkuaAorKysgYi9kcml2ZXJzL3VzYi9jb3JlL3Bo eS5oCkBAIC0xLDYgKzEsOCBAQAogc3RydWN0IHVzYl9waHlfcm9vdGh1YjsKIAotc3RydWN0IHVz Yl9waHlfcm9vdGh1YiAqdXNiX3BoeV9yb290aHViX2luaXQoc3RydWN0IGRldmljZSAqZGV2KTsK K3N0cnVjdCB1c2JfcGh5X3Jvb3RodWIgKnVzYl9waHlfcm9vdGh1Yl9hbGxvYyhzdHJ1Y3QgZGV2 aWNlICpkZXYpOworCitpbnQgdXNiX3BoeV9yb290aHViX2luaXQoc3RydWN0IHVzYl9waHlfcm9v dGh1YiAqcGh5X3Jvb3RodWIpOwogaW50IHVzYl9waHlfcm9vdGh1Yl9leGl0KHN0cnVjdCB1c2Jf cGh5X3Jvb3RodWIgKnBoeV9yb290aHViKTsKIAogaW50IHVzYl9waHlfcm9vdGh1Yl9wb3dlcl9v bihzdHJ1Y3QgdXNiX3BoeV9yb290aHViICpwaHlfcm9vdGh1Yik7Cg==