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,1/2] usb: core: split usb_phy_roothub_{init,alloc} From: Chunfeng Yun Message-Id: <1522120767.3717.195.camel@mhfsdcap03> Date: Tue, 27 Mar 2018 11:19:27 +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 bCB3cm90ZToKPiBCZWZvcmUgdGhpcyBwYXRjaCB1c2JfcGh5X3Jvb3RodWJfaW5pdCBzZXJ2ZWQg dHdvIHB1cnBvc2VzIChmcm9tIGEKPiBjYWxsZXIncyBwb2ludCBvZiB2aWV3IC0gbGlrZSBoY2Qu Yyk6Cj4gLSBwYXJzaW5nIHRoZSBQSFlzIGFuZCBhbGxvY2F0aW5nIHRoZSBsaXN0IGVudHJpZXMK PiAtIGNhbGxpbmcgcGh5X2luaXQgb24gZWFjaCBsaXN0IGVudHJ5Cj4gCj4gV2hpbGUgdGhpcyB3 b3JrZWQgc28gZmFyIGl0IGhhcyBvbmUgZGlzYWR2YW50YWdlOiBpZiB3ZSBuZWVkIHRvIGNhbGwK PiBwaHlfaW5pdCBmb3IgZWFjaCBQSFkgaW5zdGFuY2UgdGhlbiB0aGUgZXhpc3RpbmcgY29kZSBj YW5ub3QgYmUgcmUtdXNlZC4KPiBTb2x2ZSB0aGlzIGJ5IHNwbGl0dGluZyBvZmYgdXNiX3BoeV9y b290aHViX2FsbG9jIHdoaWNoIG9ubHkgcGFyc2VzIHRoZQo+IFBIWXMgYW5kIGFsbG9jYXRlcyB0 aGUgbGlzdCBlbnRyaWVzLgo+IHVzYl9waHlfcm9vdGh1Yl9pbml0IHRoZW4gZ2V0cyBhIHN0cnVj dCB1c2JfcGh5X3Jvb3RodWIgYW5kIG9ubHkgY2FsbHMKPiBwaHlfaW5pdCBvbiBlYWNoIFBIWSBp bnN0YW5jZSAoYWxvbmcgd2l0aCB0aGUgY29ycmVzcG9uZGluZyBjbGVhbnVwIGlmCj4gdGhhdCBm YWlsZWQgc29tZXdoZXJlKS4KPiAKPiBUaGlzIGlzIGEgcHJlcGFyYXRpb24gc3RlcCBmb3IgYWRk aW5nIHByb3BlciBzdXNwZW5kIHN1cHBvcnQgZm9yIHNvbWUKPiBoYXJkd2FyZSB0aGF0IHJlcXVp cmVzIHBoeV9leGl0IHRvIGJlIGNhbGxlZCBkdXJpbmcgc3VzcGVuZCBhbmQgcGh5X2luaXQKPiB0 byBiZSBjYWxsZWQgZHVyaW5nIHJlc3VtZS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gQmx1 bWVuc3RpbmdsIDxtYXJ0aW4uYmx1bWVuc3RpbmdsQGdvb2dsZW1haWwuY29tPgo+IC0tLQo+ICBk cml2ZXJzL3VzYi9jb3JlL2hjZC5jIHwgMTAgKysrKysrKy0tLQo+ICBkcml2ZXJzL3VzYi9jb3Jl L3BoeS5jIHwgNTMgKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KPiAgZHJpdmVycy91c2IvY29yZS9waHkuaCB8ICA0ICsrKy0KPiAgMyBmaWxlcyBjaGFu Z2VkLCAzNyBpbnNlcnRpb25zKCspLCAzMCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy91c2IvY29yZS9oY2QuYyBiL2RyaXZlcnMvdXNiL2NvcmUvaGNkLmMKPiBpbmRleCA3 NzcwMzZhZTYzNjcuLjE1YjA0MThlM2I2YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3VzYi9jb3Jl L2hjZC5jCj4gKysrIGIvZHJpdmVycy91c2IvY29yZS9oY2QuYwo+IEBAIC0yNzU4LDEyICsyNzU4 LDE2IEBAIGludCB1c2JfYWRkX2hjZChzdHJ1Y3QgdXNiX2hjZCAqaGNkLAo+ICAJfQo+ICAKPiAg CWlmICghaGNkLT5za2lwX3BoeV9pbml0aWFsaXphdGlvbiAmJiB1c2JfaGNkX2lzX3ByaW1hcnlf aGNkKGhjZCkpIHsKPiAtCQloY2QtPnBoeV9yb290aHViID0gdXNiX3BoeV9yb290aHViX2luaXQo aGNkLT5zZWxmLnN5c2Rldik7Cj4gKwkJaGNkLT5waHlfcm9vdGh1YiA9IHVzYl9waHlfcm9vdGh1 Yl9hbGxvYyhoY2QtPnNlbGYuc3lzZGV2KTsKPiAgCQlpZiAoSVNfRVJSKGhjZC0+cGh5X3Jvb3Ro dWIpKSB7Cj4gIAkJCXJldHZhbCA9IFBUUl9FUlIoaGNkLT5waHlfcm9vdGh1Yik7Cj4gLQkJCWdv dG8gZXJyX3BoeV9yb290aHViX2luaXQ7Cj4gKwkJCWdvdG8gZXJyX3BoeV9yb290aHViX2FsbG9j Owo+ICAJCX0KPiAgCj4gKwkJcmV0dmFsID0gdXNiX3BoeV9yb290aHViX2luaXQoaGNkLT5waHlf cm9vdGh1Yik7Cj4gKwkJaWYgKHJldHZhbCkKPiArCQkJZ290byBlcnJfcGh5X3Jvb3RodWJfYWxs b2M7Cj4gKwo+ICAJCXJldHZhbCA9IHVzYl9waHlfcm9vdGh1Yl9wb3dlcl9vbihoY2QtPnBoeV9y b290aHViKTsKPiAgCQlpZiAocmV0dmFsKQo+ICAJCQlnb3RvIGVycl91c2JfcGh5X3Jvb3RodWJf cG93ZXJfb247Cj4gQEAgLTI5MzYsNyArMjk0MCw3IEBAIGludCB1c2JfYWRkX2hjZChzdHJ1Y3Qg dXNiX2hjZCAqaGNkLAo+ICAJdXNiX3BoeV9yb290aHViX3Bvd2VyX29mZihoY2QtPnBoeV9yb290 aHViKTsKPiAgZXJyX3VzYl9waHlfcm9vdGh1Yl9wb3dlcl9vbjoKPiAgCXVzYl9waHlfcm9vdGh1 Yl9leGl0KGhjZC0+cGh5X3Jvb3RodWIpOwo+IC1lcnJfcGh5X3Jvb3RodWJfaW5pdDoKPiArZXJy X3BoeV9yb290aHViX2FsbG9jOgo+ICAJaWYgKGhjZC0+cmVtb3ZlX3BoeSAmJiBoY2QtPnVzYl9w aHkpIHsKPiAgCQl1c2JfcGh5X3NodXRkb3duKGhjZC0+dXNiX3BoeSk7Cj4gIAkJdXNiX3B1dF9w aHkoaGNkLT51c2JfcGh5KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvY29yZS9waHkuYyBi L2RyaXZlcnMvdXNiL2NvcmUvcGh5LmMKPiBpbmRleCBmMTlhYWEzYzg5OWMuLjQ0ZjAwOGNkYTdh OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3VzYi9jb3JlL3BoeS5jCj4gKysrIGIvZHJpdmVycy91 c2IvY29yZS9waHkuYwo+IEBAIC0xOSwxOSArMTksNiBAQCBzdHJ1Y3QgdXNiX3BoeV9yb290aHVi IHsKPiAgCXN0cnVjdCBsaXN0X2hlYWQJbGlzdDsKPiAgfTsKPiAgCj4gLXN0YXRpYyBzdHJ1Y3Qg dXNiX3BoeV9yb290aHViICp1c2JfcGh5X3Jvb3RodWJfYWxsb2Moc3RydWN0IGRldmljZSAqZGV2 KQo+IC17Cj4gLQlzdHJ1Y3QgdXNiX3BoeV9yb290aHViICpyb290aHViX2VudHJ5Owo+IC0KPiAt CXJvb3RodWJfZW50cnkgPSBkZXZtX2t6YWxsb2MoZGV2LCBzaXplb2YoKnJvb3RodWJfZW50cnkp LCBHRlBfS0VSTkVMKTsKPiAtCWlmICghcm9vdGh1Yl9lbnRyeSkKPiAtCQlyZXR1cm4gRVJSX1BU UigtRU5PTUVNKTsKPiAtCj4gLQlJTklUX0xJU1RfSEVBRCgmcm9vdGh1Yl9lbnRyeS0+bGlzdCk7 Cj4gLQo+IC0JcmV0dXJuIHJvb3RodWJfZW50cnk7Cj4gLX0KPiAtCj4gIHN0YXRpYyBpbnQgdXNi X3BoeV9yb290aHViX2FkZF9waHkoc3RydWN0IGRldmljZSAqZGV2LCBpbnQgaW5kZXgsCj4gIAkJ CQkgICBzdHJ1Y3QgbGlzdF9oZWFkICpsaXN0KQo+ICB7Cj4gQEAgLTQ1LDkgKzMyLDExIEBAIHN0 YXRpYyBpbnQgdXNiX3BoeV9yb290aHViX2FkZF9waHkoc3RydWN0IGRldmljZSAqZGV2LCBpbnQg aW5kZXgsCj4gIAkJCXJldHVybiBQVFJfRVJSKHBoeSk7Cj4gIAl9Cj4gIAo+IC0Jcm9vdGh1Yl9l bnRyeSA9IHVzYl9waHlfcm9vdGh1Yl9hbGxvYyhkZXYpOwo+IC0JaWYgKElTX0VSUihyb290aHVi X2VudHJ5KSkKPiAtCQlyZXR1cm4gUFRSX0VSUihyb290aHViX2VudHJ5KTsKPiArCXJvb3RodWJf ZW50cnkgPSBkZXZtX2t6YWxsb2MoZGV2LCBzaXplb2YoKnJvb3RodWJfZW50cnkpLCBHRlBfS0VS TkVMKTsKPiArCWlmICghcm9vdGh1Yl9lbnRyeSkKPiArCQlyZXR1cm4gLUVOT01FTTsKPiArCj4g KwlJTklUX0xJU1RfSEVBRCgmcm9vdGh1Yl9lbnRyeS0+bGlzdCk7Cj4gIAo+ICAJcm9vdGh1Yl9l bnRyeS0+cGh5ID0gcGh5Owo+ICAKPiBAQCAtNTYsMTEgKzQ1LDkgQEAgc3RhdGljIGludCB1c2Jf cGh5X3Jvb3RodWJfYWRkX3BoeShzdHJ1Y3QgZGV2aWNlICpkZXYsIGludCBpbmRleCwKPiAgCXJl dHVybiAwOwo+ICB9Cj4gIAo+IC1zdHJ1Y3QgdXNiX3BoeV9yb290aHViICp1c2JfcGh5X3Jvb3Ro dWJfaW5pdChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gK3N0cnVjdCB1c2JfcGh5X3Jvb3RodWIgKnVz Yl9waHlfcm9vdGh1Yl9hbGxvYyhzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gIHsKPiAgCXN0cnVjdCB1 c2JfcGh5X3Jvb3RodWIgKnBoeV9yb290aHViOwo+IC0Jc3RydWN0IHVzYl9waHlfcm9vdGh1YiAq cm9vdGh1Yl9lbnRyeTsKPiAtCXN0cnVjdCBsaXN0X2hlYWQgKmhlYWQ7Cj4gIAlpbnQgaSwgbnVt X3BoeXMsIGVycjsKPiAgCj4gIAludW1fcGh5cyA9IG9mX2NvdW50X3BoYW5kbGVfd2l0aF9hcmdz KGRldi0+b2Zfbm9kZSwgInBoeXMiLAo+IEBAIC02OCwxNiArNTUsMzEgQEAgc3RydWN0IHVzYl9w aHlfcm9vdGh1YiAqdXNiX3BoeV9yb290aHViX2luaXQoc3RydWN0IGRldmljZSAqZGV2KQo+ICAJ aWYgKG51bV9waHlzIDw9IDApCj4gIAkJcmV0dXJuIE5VTEw7Cj4gIAo+IC0JcGh5X3Jvb3RodWIg PSB1c2JfcGh5X3Jvb3RodWJfYWxsb2MoZGV2KTsKPiAtCWlmIChJU19FUlIocGh5X3Jvb3RodWIp KQo+IC0JCXJldHVybiBwaHlfcm9vdGh1YjsKPiArCXBoeV9yb290aHViID0gZGV2bV9remFsbG9j KGRldiwgc2l6ZW9mKCpwaHlfcm9vdGh1YiksIEdGUF9LRVJORUwpOwo+ICsJaWYgKCFwaHlfcm9v dGh1YikKPiArCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKPiArCj4gKwlJTklUX0xJU1RfSEVB RCgmcGh5X3Jvb3RodWItPmxpc3QpOwo+ICAKPiAgCWZvciAoaSA9IDA7IGkgPCBudW1fcGh5czsg aSsrKSB7Cj4gIAkJZXJyID0gdXNiX3BoeV9yb290aHViX2FkZF9waHkoZGV2LCBpLCAmcGh5X3Jv b3RodWItPmxpc3QpOwo+ICAJCWlmIChlcnIpCj4gLQkJCWdvdG8gZXJyX291dDsKPiArCQkJcmV0 dXJuIEVSUl9QVFIoZXJyKTsKPiAgCX0KPiAgCj4gKwlyZXR1cm4gcGh5X3Jvb3RodWI7Cj4gK30K PiArRVhQT1JUX1NZTUJPTF9HUEwodXNiX3BoeV9yb290aHViX2FsbG9jKTsKPiArCj4gK2ludCB1 c2JfcGh5X3Jvb3RodWJfaW5pdChzdHJ1Y3QgdXNiX3BoeV9yb290aHViICpwaHlfcm9vdGh1YikK PiArewo+ICsJc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqcm9vdGh1Yl9lbnRyeTsKPiArCXN0cnVj dCBsaXN0X2hlYWQgKmhlYWQ7Cj4gKwlpbnQgZXJyOwo+ICsKPiArCWlmICghcGh5X3Jvb3RodWIp Cj4gKwkJcmV0dXJuIDA7Cj4gKwo+ICAJaGVhZCA9ICZwaHlfcm9vdGh1Yi0+bGlzdDsKPiAgCj4g IAlsaXN0X2Zvcl9lYWNoX2VudHJ5KHJvb3RodWJfZW50cnksIGhlYWQsIGxpc3QpIHsKPiBAQCAt ODYsMTQgKzg4LDEzIEBAIHN0cnVjdCB1c2JfcGh5X3Jvb3RodWIgKnVzYl9waHlfcm9vdGh1Yl9p bml0KHN0cnVjdCBkZXZpY2UgKmRldikKPiAgCQkJZ290byBlcnJfZXhpdF9waHlzOwo+ICAJfQo+ ICAKPiAtCXJldHVybiBwaHlfcm9vdGh1YjsKPiArCXJldHVybiAwOwo+ICAKPiAgZXJyX2V4aXRf cGh5czoKPiAgCWxpc3RfZm9yX2VhY2hfZW50cnlfY29udGludWVfcmV2ZXJzZShyb290aHViX2Vu dHJ5LCBoZWFkLCBsaXN0KQo+ICAJCXBoeV9leGl0KHJvb3RodWJfZW50cnktPnBoeSk7Cj4gIAo+ IC1lcnJfb3V0Ogo+IC0JcmV0dXJuIEVSUl9QVFIoZXJyKTsKPiArCXJldHVybiBlcnI7Cj4gIH0K PiAgRVhQT1JUX1NZTUJPTF9HUEwodXNiX3BoeV9yb290aHViX2luaXQpOwo+ICAKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy91c2IvY29yZS9waHkuaCBiL2RyaXZlcnMvdXNiL2NvcmUvcGh5LmgKPiBp bmRleCA2ZmRlNTliZmJmZjguLmViMzEyNTMyMDFhZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3Vz Yi9jb3JlL3BoeS5oCj4gKysrIGIvZHJpdmVycy91c2IvY29yZS9waHkuaAo+IEBAIC0xLDYgKzEs OCBAQAo+ICBzdHJ1Y3QgdXNiX3BoeV9yb290aHViOwo+ICAKPiAtc3RydWN0IHVzYl9waHlfcm9v dGh1YiAqdXNiX3BoeV9yb290aHViX2luaXQoc3RydWN0IGRldmljZSAqZGV2KTsKPiArc3RydWN0 IHVzYl9waHlfcm9vdGh1YiAqdXNiX3BoeV9yb290aHViX2FsbG9jKHN0cnVjdCBkZXZpY2UgKmRl dik7Cj4gKwo+ICtpbnQgdXNiX3BoeV9yb290aHViX2luaXQoc3RydWN0IHVzYl9waHlfcm9vdGh1 YiAqcGh5X3Jvb3RodWIpOwo+ICBpbnQgdXNiX3BoeV9yb290aHViX2V4aXQoc3RydWN0IHVzYl9w aHlfcm9vdGh1YiAqcGh5X3Jvb3RodWIpOwo+ICAKPiAgaW50IHVzYl9waHlfcm9vdGh1Yl9wb3dl cl9vbihzdHJ1Y3QgdXNiX3BoeV9yb290aHViICpwaHlfcm9vdGh1Yik7CgpUZXN0ZWQtYnk6IENo dW5mZW5nIFl1biA8Y2h1bmZlbmcueXVuQG1lZGlhdGVrLmNvbT4KLS0tClRvIHVuc3Vic2NyaWJl IGZyb20gdGhpcyBsaXN0OiBzZW5kIHRoZSBsaW5lICJ1bnN1YnNjcmliZSBsaW51eC11c2IiIGlu CnRoZSBib2R5IG9mIGEgbWVzc2FnZSB0byBtYWpvcmRvbW9Admdlci5rZXJuZWwub3JnCk1vcmUg bWFqb3Jkb21vIGluZm8gYXQgIGh0dHA6Ly92Z2VyLmtlcm5lbC5vcmcvbWFqb3Jkb21vLWluZm8u aHRtbAo=