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: Chunfeng Yun Message-Id: <1522035422.3717.181.camel@mhfsdcap03> Date: Mon, 26 Mar 2018 11:37:02 +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+IEJlZm9yZSB0aGlzIHBhdGNoIHVzYl9waHlfcm9vdGh1Yl9pbml0IHNlcnZlZCB0d28g cHVycG9zZXMgKGZyb20gYQo+IGNhbGxlcidzIHBvaW50IG9mIHZpZXcgLSBsaWtlIGhjZC5jKToK PiAtIHBhcnNpbmcgdGhlIFBIWXMgYW5kIGFsbG9jYXRpbmcgdGhlIGxpc3QgZW50cmllcwo+IC0g Y2FsbGluZyBwaHlfaW5pdCBvbiBlYWNoIGxpc3QgZW50cnkKPiAKPiBXaGlsZSB0aGlzIHdvcmtl ZCBzbyBmYXIgaXQgaGFzIG9uZSBkaXNhZHZhbnRhZ2U6IGlmIHdlIG5lZWQgdG8gY2FsbAo+IHBo eV9pbml0IGZvciBlYWNoIFBIWSBpbnN0YW5jZSB0aGVuIHRoZSBleGlzdGluZyBjb2RlIGNhbm5v dCBiZSByZS11c2VkLgo+IFNvbHZlIHRoaXMgYnkgc3BsaXR0aW5nIG9mZiB1c2JfcGh5X3Jvb3Ro dWJfYWxsb2Mgd2hpY2ggb25seSBwYXJzZXMgdGhlCj4gUEhZcyBhbmQgYWxsb2NhdGVzIHRoZSBs aXN0IGVudHJpZXMuCj4gdXNiX3BoeV9yb290aHViX2luaXQgdGhlbiBnZXRzIGEgc3RydWN0IHVz Yl9waHlfcm9vdGh1YiBhbmQgb25seSBjYWxscwo+IHBoeV9pbml0IG9uIGVhY2ggUEhZIGluc3Rh bmNlIChhbG9uZyB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIGNsZWFudXAgaWYKPiB0aGF0IGZhaWxl ZCBzb21ld2hlcmUpLgo+IAo+IFRoaXMgaXMgYSBwcmVwYXJhdGlvbiBzdGVwIGZvciBhZGRpbmcg cHJvcGVyIHN1c3BlbmQgc3VwcG9ydCBmb3Igc29tZQo+IGhhcmR3YXJlIHRoYXQgcmVxdWlyZXMg cGh5X2V4aXQgdG8gYmUgY2FsbGVkIGR1cmluZyBzdXNwZW5kIGFuZCBwaHlfaW5pdAo+IHRvIGJl IGNhbGxlZCBkdXJpbmcgcmVzdW1lLgo+IAo+IFNpZ25lZC1vZmYtYnk6IE1hcnRpbiBCbHVtZW5z dGluZ2wgPG1hcnRpbi5ibHVtZW5zdGluZ2xAZ29vZ2xlbWFpbC5jb20+Cj4gLS0tCj4gIGRyaXZl cnMvdXNiL2NvcmUvaGNkLmMgfCAxMCArKysrKysrLS0tCj4gIGRyaXZlcnMvdXNiL2NvcmUvcGh5 LmMgfCA1MSArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQo+ICBkcml2ZXJzL3VzYi9jb3JlL3BoeS5oIHwgIDQgKysrLQo+ICAzIGZpbGVzIGNoYW5nZWQs IDM1IGluc2VydGlvbnMoKyksIDMwIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL3VzYi9jb3JlL2hjZC5jIGIvZHJpdmVycy91c2IvY29yZS9oY2QuYwo+IGluZGV4IDc3NzAz NmFlNjM2Ny4uMTViMDQxOGUzYjZhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvdXNiL2NvcmUvaGNk LmMKPiArKysgYi9kcml2ZXJzL3VzYi9jb3JlL2hjZC5jCj4gQEAgLTI3NTgsMTIgKzI3NTgsMTYg QEAgaW50IHVzYl9hZGRfaGNkKHN0cnVjdCB1c2JfaGNkICpoY2QsCj4gIAl9Cj4gIAo+ICAJaWYg KCFoY2QtPnNraXBfcGh5X2luaXRpYWxpemF0aW9uICYmIHVzYl9oY2RfaXNfcHJpbWFyeV9oY2Qo aGNkKSkgewo+IC0JCWhjZC0+cGh5X3Jvb3RodWIgPSB1c2JfcGh5X3Jvb3RodWJfaW5pdChoY2Qt PnNlbGYuc3lzZGV2KTsKPiArCQloY2QtPnBoeV9yb290aHViID0gdXNiX3BoeV9yb290aHViX2Fs bG9jKGhjZC0+c2VsZi5zeXNkZXYpOwo+ICAJCWlmIChJU19FUlIoaGNkLT5waHlfcm9vdGh1Yikp IHsKPiAgCQkJcmV0dmFsID0gUFRSX0VSUihoY2QtPnBoeV9yb290aHViKTsKPiAtCQkJZ290byBl cnJfcGh5X3Jvb3RodWJfaW5pdDsKPiArCQkJZ290byBlcnJfcGh5X3Jvb3RodWJfYWxsb2M7Cj4g IAkJfQo+ICAKPiArCQlyZXR2YWwgPSB1c2JfcGh5X3Jvb3RodWJfaW5pdChoY2QtPnBoeV9yb290 aHViKTsKPiArCQlpZiAocmV0dmFsKQo+ICsJCQlnb3RvIGVycl9waHlfcm9vdGh1Yl9hbGxvYzsK PiArCj4gIAkJcmV0dmFsID0gdXNiX3BoeV9yb290aHViX3Bvd2VyX29uKGhjZC0+cGh5X3Jvb3Ro dWIpOwo+ICAJCWlmIChyZXR2YWwpCj4gIAkJCWdvdG8gZXJyX3VzYl9waHlfcm9vdGh1Yl9wb3dl cl9vbjsKPiBAQCAtMjkzNiw3ICsyOTQwLDcgQEAgaW50IHVzYl9hZGRfaGNkKHN0cnVjdCB1c2Jf aGNkICpoY2QsCj4gIAl1c2JfcGh5X3Jvb3RodWJfcG93ZXJfb2ZmKGhjZC0+cGh5X3Jvb3RodWIp Owo+ICBlcnJfdXNiX3BoeV9yb290aHViX3Bvd2VyX29uOgo+ICAJdXNiX3BoeV9yb290aHViX2V4 aXQoaGNkLT5waHlfcm9vdGh1Yik7Cj4gLWVycl9waHlfcm9vdGh1Yl9pbml0Ogo+ICtlcnJfcGh5 X3Jvb3RodWJfYWxsb2M6Cj4gIAlpZiAoaGNkLT5yZW1vdmVfcGh5ICYmIGhjZC0+dXNiX3BoeSkg ewo+ICAJCXVzYl9waHlfc2h1dGRvd24oaGNkLT51c2JfcGh5KTsKPiAgCQl1c2JfcHV0X3BoeSho Y2QtPnVzYl9waHkpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9jb3JlL3BoeS5jIGIvZHJp dmVycy91c2IvY29yZS9waHkuYwo+IGluZGV4IGYxOWFhYTNjODk5Yy4uZDE4NjFjNWE3NGRlIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvdXNiL2NvcmUvcGh5LmMKPiArKysgYi9kcml2ZXJzL3VzYi9j b3JlL3BoeS5jCj4gQEAgLTE5LDE5ICsxOSw2IEBAIHN0cnVjdCB1c2JfcGh5X3Jvb3RodWIgewo+ ICAJc3RydWN0IGxpc3RfaGVhZAlsaXN0Owo+ICB9Owo+ICAKPiAtc3RhdGljIHN0cnVjdCB1c2Jf cGh5X3Jvb3RodWIgKnVzYl9waHlfcm9vdGh1Yl9hbGxvYyhzdHJ1Y3QgZGV2aWNlICpkZXYpCj4g LXsKPiAtCXN0cnVjdCB1c2JfcGh5X3Jvb3RodWIgKnJvb3RodWJfZW50cnk7Cj4gLQo+IC0Jcm9v dGh1Yl9lbnRyeSA9IGRldm1fa3phbGxvYyhkZXYsIHNpemVvZigqcm9vdGh1Yl9lbnRyeSksIEdG UF9LRVJORUwpOwo+IC0JaWYgKCFyb290aHViX2VudHJ5KQo+IC0JCXJldHVybiBFUlJfUFRSKC1F Tk9NRU0pOwo+IC0KPiAtCUlOSVRfTElTVF9IRUFEKCZyb290aHViX2VudHJ5LT5saXN0KTsKPiAt Cj4gLQlyZXR1cm4gcm9vdGh1Yl9lbnRyeTsKPiAtfQo+IC0KPiAgc3RhdGljIGludCB1c2JfcGh5 X3Jvb3RodWJfYWRkX3BoeShzdHJ1Y3QgZGV2aWNlICpkZXYsIGludCBpbmRleCwKPiAgCQkJCSAg IHN0cnVjdCBsaXN0X2hlYWQgKmxpc3QpCj4gIHsKPiBAQCAtNDUsOSArMzIsOSBAQCBzdGF0aWMg aW50IHVzYl9waHlfcm9vdGh1Yl9hZGRfcGh5KHN0cnVjdCBkZXZpY2UgKmRldiwgaW50IGluZGV4 LAo+ICAJCQlyZXR1cm4gUFRSX0VSUihwaHkpOwo+ICAJfQoKPiAgCj4gLQlyb290aHViX2VudHJ5 ID0gdXNiX3BoeV9yb290aHViX2FsbG9jKGRldik7Cj4gLQlpZiAoSVNfRVJSKHJvb3RodWJfZW50 cnkpKQo+IC0JCXJldHVybiBQVFJfRVJSKHJvb3RodWJfZW50cnkpOwo+ICsJcm9vdGh1Yl9lbnRy eSA9IGRldm1fa3phbGxvYyhkZXYsIHNpemVvZigqcm9vdGh1Yl9lbnRyeSksIEdGUF9LRVJORUwp Owo+ICsJaWYgKCFyb290aHViX2VudHJ5KQo+ICsJCXJldHVybiAtRU5PTUVNOwo+ICAKPiAgCXJv b3RodWJfZW50cnktPnBoeSA9IHBoeTsKPiAgCj4gQEAgLTU2LDExICs0Myw5IEBAIHN0YXRpYyBp bnQgdXNiX3BoeV9yb290aHViX2FkZF9waHkoc3RydWN0IGRldmljZSAqZGV2LCBpbnQgaW5kZXgs Cj4gIAlyZXR1cm4gMDsKPiAgfQo+ICAKPiAtc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqdXNiX3Bo eV9yb290aHViX2luaXQoc3RydWN0IGRldmljZSAqZGV2KQo+ICtzdHJ1Y3QgdXNiX3BoeV9yb290 aHViICp1c2JfcGh5X3Jvb3RodWJfYWxsb2Moc3RydWN0IGRldmljZSAqZGV2KQo+ICB7Cj4gIAlz dHJ1Y3QgdXNiX3BoeV9yb290aHViICpwaHlfcm9vdGh1YjsKPiAtCXN0cnVjdCB1c2JfcGh5X3Jv b3RodWIgKnJvb3RodWJfZW50cnk7Cj4gLQlzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkOwo+ICAJaW50 IGksIG51bV9waHlzLCBlcnI7Cj4gIAo+ICAJbnVtX3BoeXMgPSBvZl9jb3VudF9waGFuZGxlX3dp dGhfYXJncyhkZXYtPm9mX25vZGUsICJwaHlzIiwKPiBAQCAtNjgsMTYgKzUzLDMxIEBAIHN0cnVj dCB1c2JfcGh5X3Jvb3RodWIgKnVzYl9waHlfcm9vdGh1Yl9pbml0KHN0cnVjdCBkZXZpY2UgKmRl dikKPiAgCWlmIChudW1fcGh5cyA8PSAwKQo+ICAJCXJldHVybiBOVUxMOwo+ICAKPiAtCXBoeV9y b290aHViID0gdXNiX3BoeV9yb290aHViX2FsbG9jKGRldik7Cj4gLQlpZiAoSVNfRVJSKHBoeV9y b290aHViKSkKPiAtCQlyZXR1cm4gcGh5X3Jvb3RodWI7Cj4gKwlwaHlfcm9vdGh1YiA9IGRldm1f a3phbGxvYyhkZXYsIHNpemVvZigqcGh5X3Jvb3RodWIpLCBHRlBfS0VSTkVMKTsKPiArCWlmICgh cGh5X3Jvb3RodWIpCj4gKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4gKwo+ICsJSU5JVF9M SVNUX0hFQUQoJnBoeV9yb290aHViLT5saXN0KTsKPiAgCj4gIAlmb3IgKGkgPSAwOyBpIDwgbnVt X3BoeXM7IGkrKykgewo+ICAJCWVyciA9IHVzYl9waHlfcm9vdGh1Yl9hZGRfcGh5KGRldiwgaSwg JnBoeV9yb290aHViLT5saXN0KTsKQlRXOgoKc3RhdGljIGludCB1c2JfcGh5X3Jvb3RodWJfYWRk X3BoeShzdHJ1Y3QgZGV2aWNlICpkZXYsIGludCBpbmRleCwKICAgICAgICAgICAgICAgICAgIHN0 cnVjdCBsaXN0X2hlYWQgKmxpc3QpCnsKICAgIHN0cnVjdCB1c2JfcGh5X3Jvb3RodWIgKnJvb3Ro dWJfZW50cnk7CiAgICBzdHJ1Y3QgcGh5ICpwaHkgPSBkZXZtX29mX3BoeV9nZXRfYnlfaW5kZXgo ZGV2LCBkZXYtPm9mX25vZGUsCmluZGV4KTsKCiAgICBpZiAoSVNfRVJSX09SX05VTEwocGh5KSkg ewogICAgICAgIGlmICghcGh5IHx8IFBUUl9FUlIocGh5KSA9PSAtRU5PREVWKQogICAgICAgICAg ICByZXR1cm4gMDsKICAgICAgICBlbHNlCiAgICAgICAgICAgIHJldHVybiBQVFJfRVJSKHBoeSk7 CiAgICB9CgpjaGFuZ2VkIGFzOgogICAgaWYgKElTX0VSUihwaHkpKQogICAgICAgICByZXR1cm4g UFRSX0VSUihwaHkpOwoKVGhlIGNoZWNraW5nIG9mIHJldHVybiBjb2RlIG9mIGRldm1fb2ZfcGh5 X2dldF9ieV9pbmRleCgpIGNhbGxlZCBieQp1c2JfcGh5X3Jvb3RodWJfYWRkX3BoeSgpIG5lZWQg YmUgZml4ZWQ/IGJlY2F1c2UgaXQgc2hvdWxkIGV4aXN0IGZvcgppbmRleCBAaS4KCj4gIAkJaWYg KGVycikKPiAtCQkJZ290byBlcnJfb3V0Owo+ICsJCQlyZXR1cm4gRVJSX1BUUihlcnIpOwo+ICAJ fQo+ICAKPiArCXJldHVybiBwaHlfcm9vdGh1YjsKPiArfQo+ICtFWFBPUlRfU1lNQk9MX0dQTCh1 c2JfcGh5X3Jvb3RodWJfYWxsb2MpOwo+ICsKPiAraW50IHVzYl9waHlfcm9vdGh1Yl9pbml0KHN0 cnVjdCB1c2JfcGh5X3Jvb3RodWIgKnBoeV9yb290aHViKQo+ICt7Cj4gKwlzdHJ1Y3QgdXNiX3Bo eV9yb290aHViICpyb290aHViX2VudHJ5Owo+ICsJc3RydWN0IGxpc3RfaGVhZCAqaGVhZDsKPiAr CWludCBlcnI7Cj4gKwo+ICsJaWYgKCFwaHlfcm9vdGh1YikKPiArCQlyZXR1cm4gMDsKPiArCj4g IAloZWFkID0gJnBoeV9yb290aHViLT5saXN0Owo+ICAKPiAgCWxpc3RfZm9yX2VhY2hfZW50cnko cm9vdGh1Yl9lbnRyeSwgaGVhZCwgbGlzdCkgewo+IEBAIC04NiwxNCArODYsMTMgQEAgc3RydWN0 IHVzYl9waHlfcm9vdGh1YiAqdXNiX3BoeV9yb290aHViX2luaXQoc3RydWN0IGRldmljZSAqZGV2 KQo+ICAJCQlnb3RvIGVycl9leGl0X3BoeXM7Cj4gIAl9Cj4gIAo+IC0JcmV0dXJuIHBoeV9yb290 aHViOwo+ICsJcmV0dXJuIDA7Cj4gIAo+ICBlcnJfZXhpdF9waHlzOgo+ICAJbGlzdF9mb3JfZWFj aF9lbnRyeV9jb250aW51ZV9yZXZlcnNlKHJvb3RodWJfZW50cnksIGhlYWQsIGxpc3QpCj4gIAkJ cGh5X2V4aXQocm9vdGh1Yl9lbnRyeS0+cGh5KTsKPiAgCj4gLWVycl9vdXQ6Cj4gLQlyZXR1cm4g RVJSX1BUUihlcnIpOwo+ICsJcmV0dXJuIGVycjsKPiAgfQo+ICBFWFBPUlRfU1lNQk9MX0dQTCh1 c2JfcGh5X3Jvb3RodWJfaW5pdCk7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9jb3Jl L3BoeS5oIGIvZHJpdmVycy91c2IvY29yZS9waHkuaAo+IGluZGV4IDZmZGU1OWJmYmZmOC4uZWIz MTI1MzIwMWFkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvdXNiL2NvcmUvcGh5LmgKPiArKysgYi9k cml2ZXJzL3VzYi9jb3JlL3BoeS5oCj4gQEAgLTEsNiArMSw4IEBACj4gIHN0cnVjdCB1c2JfcGh5 X3Jvb3RodWI7Cj4gIAo+IC1zdHJ1Y3QgdXNiX3BoeV9yb290aHViICp1c2JfcGh5X3Jvb3RodWJf aW5pdChzdHJ1Y3QgZGV2aWNlICpkZXYpOwo+ICtzdHJ1Y3QgdXNiX3BoeV9yb290aHViICp1c2Jf cGh5X3Jvb3RodWJfYWxsb2Moc3RydWN0IGRldmljZSAqZGV2KTsKPiArCj4gK2ludCB1c2JfcGh5 X3Jvb3RodWJfaW5pdChzdHJ1Y3QgdXNiX3BoeV9yb290aHViICpwaHlfcm9vdGh1Yik7Cj4gIGlu dCB1c2JfcGh5X3Jvb3RodWJfZXhpdChzdHJ1Y3QgdXNiX3BoeV9yb290aHViICpwaHlfcm9vdGh1 Yik7Cj4gIAo+ICBpbnQgdXNiX3BoeV9yb290aHViX3Bvd2VyX29uKHN0cnVjdCB1c2JfcGh5X3Jv b3RodWIgKnBoeV9yb290aHViKTsKLS0tClRvIHVuc3Vic2NyaWJlIGZyb20gdGhpcyBsaXN0OiBz ZW5kIHRoZSBsaW5lICJ1bnN1YnNjcmliZSBsaW51eC11c2IiIGluCnRoZSBib2R5IG9mIGEgbWVz c2FnZSB0byBtYWpvcmRvbW9Admdlci5rZXJuZWwub3JnCk1vcmUgbWFqb3Jkb21vIGluZm8gYXQg IGh0dHA6Ly92Z2VyLmtlcm5lbC5vcmcvbWFqb3Jkb21vLWluZm8uaHRtbAo=