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: Roger Quadros Message-Id: Date: Mon, 26 Mar 2018 12:57:02 +0300 To: Martin Blumenstingl , linux-usb@vger.kernel.org Cc: gregkh@linuxfoundation.org, matthias.bgg@gmail.com, stern@rowland.harvard.edu, 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 List-ID: T24gMjQvMDMvMTggMTY6MjEsIE1hcnRpbiBCbHVtZW5zdGluZ2wgd3JvdGU6Cj4gQmVmb3JlIHRo aXMgcGF0Y2ggdXNiX3BoeV9yb290aHViX2luaXQgc2VydmVkIHR3byBwdXJwb3NlcyAoZnJvbSBh Cj4gY2FsbGVyJ3MgcG9pbnQgb2YgdmlldyAtIGxpa2UgaGNkLmMpOgo+IC0gcGFyc2luZyB0aGUg UEhZcyBhbmQgYWxsb2NhdGluZyB0aGUgbGlzdCBlbnRyaWVzCj4gLSBjYWxsaW5nIHBoeV9pbml0 IG9uIGVhY2ggbGlzdCBlbnRyeQo+IAo+IFdoaWxlIHRoaXMgd29ya2VkIHNvIGZhciBpdCBoYXMg b25lIGRpc2FkdmFudGFnZTogaWYgd2UgbmVlZCB0byBjYWxsCj4gcGh5X2luaXQgZm9yIGVhY2gg UEhZIGluc3RhbmNlIHRoZW4gdGhlIGV4aXN0aW5nIGNvZGUgY2Fubm90IGJlIHJlLXVzZWQuCj4g U29sdmUgdGhpcyBieSBzcGxpdHRpbmcgb2ZmIHVzYl9waHlfcm9vdGh1Yl9hbGxvYyB3aGljaCBv bmx5IHBhcnNlcyB0aGUKPiBQSFlzIGFuZCBhbGxvY2F0ZXMgdGhlIGxpc3QgZW50cmllcy4KPiB1 c2JfcGh5X3Jvb3RodWJfaW5pdCB0aGVuIGdldHMgYSBzdHJ1Y3QgdXNiX3BoeV9yb290aHViIGFu ZCBvbmx5IGNhbGxzCj4gcGh5X2luaXQgb24gZWFjaCBQSFkgaW5zdGFuY2UgKGFsb25nIHdpdGgg dGhlIGNvcnJlc3BvbmRpbmcgY2xlYW51cCBpZgo+IHRoYXQgZmFpbGVkIHNvbWV3aGVyZSkuCj4g Cj4gVGhpcyBpcyBhIHByZXBhcmF0aW9uIHN0ZXAgZm9yIGFkZGluZyBwcm9wZXIgc3VzcGVuZCBz dXBwb3J0IGZvciBzb21lCj4gaGFyZHdhcmUgdGhhdCByZXF1aXJlcyBwaHlfZXhpdCB0byBiZSBj YWxsZWQgZHVyaW5nIHN1c3BlbmQgYW5kIHBoeV9pbml0Cj4gdG8gYmUgY2FsbGVkIGR1cmluZyBy ZXN1bWUuCj4gCj4gU2lnbmVkLW9mZi1ieTogTWFydGluIEJsdW1lbnN0aW5nbCA8bWFydGluLmJs dW1lbnN0aW5nbEBnb29nbGVtYWlsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy91c2IvY29yZS9oY2Qu YyB8IDEwICsrKysrKystLS0KPiAgZHJpdmVycy91c2IvY29yZS9waHkuYyB8IDUxICsrKysrKysr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvdXNi L2NvcmUvcGh5LmggfCAgNCArKystCj4gIDMgZmlsZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygr KSwgMzAgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2NvcmUvaGNk LmMgYi9kcml2ZXJzL3VzYi9jb3JlL2hjZC5jCj4gaW5kZXggNzc3MDM2YWU2MzY3Li4xNWIwNDE4 ZTNiNmEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy91c2IvY29yZS9oY2QuYwo+ICsrKyBiL2RyaXZl cnMvdXNiL2NvcmUvaGNkLmMKPiBAQCAtMjc1OCwxMiArMjc1OCwxNiBAQCBpbnQgdXNiX2FkZF9o Y2Qoc3RydWN0IHVzYl9oY2QgKmhjZCwKPiAgCX0KPiAgCj4gIAlpZiAoIWhjZC0+c2tpcF9waHlf aW5pdGlhbGl6YXRpb24gJiYgdXNiX2hjZF9pc19wcmltYXJ5X2hjZChoY2QpKSB7Cj4gLQkJaGNk LT5waHlfcm9vdGh1YiA9IHVzYl9waHlfcm9vdGh1Yl9pbml0KGhjZC0+c2VsZi5zeXNkZXYpOwo+ ICsJCWhjZC0+cGh5X3Jvb3RodWIgPSB1c2JfcGh5X3Jvb3RodWJfYWxsb2MoaGNkLT5zZWxmLnN5 c2Rldik7Cj4gIAkJaWYgKElTX0VSUihoY2QtPnBoeV9yb290aHViKSkgewo+ICAJCQlyZXR2YWwg PSBQVFJfRVJSKGhjZC0+cGh5X3Jvb3RodWIpOwo+IC0JCQlnb3RvIGVycl9waHlfcm9vdGh1Yl9p bml0Owo+ICsJCQlnb3RvIGVycl9waHlfcm9vdGh1Yl9hbGxvYzsKPiAgCQl9Cj4gIAo+ICsJCXJl dHZhbCA9IHVzYl9waHlfcm9vdGh1Yl9pbml0KGhjZC0+cGh5X3Jvb3RodWIpOwo+ICsJCWlmIChy ZXR2YWwpCj4gKwkJCWdvdG8gZXJyX3BoeV9yb290aHViX2FsbG9jOwo+ICsKPiAgCQlyZXR2YWwg PSB1c2JfcGh5X3Jvb3RodWJfcG93ZXJfb24oaGNkLT5waHlfcm9vdGh1Yik7Cj4gIAkJaWYgKHJl dHZhbCkKPiAgCQkJZ290byBlcnJfdXNiX3BoeV9yb290aHViX3Bvd2VyX29uOwo+IEBAIC0yOTM2 LDcgKzI5NDAsNyBAQCBpbnQgdXNiX2FkZF9oY2Qoc3RydWN0IHVzYl9oY2QgKmhjZCwKPiAgCXVz Yl9waHlfcm9vdGh1Yl9wb3dlcl9vZmYoaGNkLT5waHlfcm9vdGh1Yik7Cj4gIGVycl91c2JfcGh5 X3Jvb3RodWJfcG93ZXJfb246Cj4gIAl1c2JfcGh5X3Jvb3RodWJfZXhpdChoY2QtPnBoeV9yb290 aHViKTsKPiAtZXJyX3BoeV9yb290aHViX2luaXQ6Cj4gK2Vycl9waHlfcm9vdGh1Yl9hbGxvYzoK PiAgCWlmIChoY2QtPnJlbW92ZV9waHkgJiYgaGNkLT51c2JfcGh5KSB7Cj4gIAkJdXNiX3BoeV9z aHV0ZG93bihoY2QtPnVzYl9waHkpOwo+ICAJCXVzYl9wdXRfcGh5KGhjZC0+dXNiX3BoeSk7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2NvcmUvcGh5LmMgYi9kcml2ZXJzL3VzYi9jb3JlL3Bo eS5jCj4gaW5kZXggZjE5YWFhM2M4OTljLi5kMTg2MWM1YTc0ZGUgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy91c2IvY29yZS9waHkuYwo+ICsrKyBiL2RyaXZlcnMvdXNiL2NvcmUvcGh5LmMKPiBAQCAt MTksMTkgKzE5LDYgQEAgc3RydWN0IHVzYl9waHlfcm9vdGh1YiB7Cj4gIAlzdHJ1Y3QgbGlzdF9o ZWFkCWxpc3Q7Cj4gIH07Cj4gIAo+IC1zdGF0aWMgc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqdXNi X3BoeV9yb290aHViX2FsbG9jKHN0cnVjdCBkZXZpY2UgKmRldikKPiAtewo+IC0Jc3RydWN0IHVz Yl9waHlfcm9vdGh1YiAqcm9vdGh1Yl9lbnRyeTsKPiAtCj4gLQlyb290aHViX2VudHJ5ID0gZGV2 bV9remFsbG9jKGRldiwgc2l6ZW9mKCpyb290aHViX2VudHJ5KSwgR0ZQX0tFUk5FTCk7Cj4gLQlp ZiAoIXJvb3RodWJfZW50cnkpCj4gLQkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4gLQo+IC0J SU5JVF9MSVNUX0hFQUQoJnJvb3RodWJfZW50cnktPmxpc3QpOwo+IC0KPiAtCXJldHVybiByb290 aHViX2VudHJ5Owo+IC19Cj4gLQo+ICBzdGF0aWMgaW50IHVzYl9waHlfcm9vdGh1Yl9hZGRfcGh5 KHN0cnVjdCBkZXZpY2UgKmRldiwgaW50IGluZGV4LAo+ICAJCQkJICAgc3RydWN0IGxpc3RfaGVh ZCAqbGlzdCkKPiAgewo+IEBAIC00NSw5ICszMiw5IEBAIHN0YXRpYyBpbnQgdXNiX3BoeV9yb290 aHViX2FkZF9waHkoc3RydWN0IGRldmljZSAqZGV2LCBpbnQgaW5kZXgsCj4gIAkJCXJldHVybiBQ VFJfRVJSKHBoeSk7Cj4gIAl9Cj4gIAo+IC0Jcm9vdGh1Yl9lbnRyeSA9IHVzYl9waHlfcm9vdGh1 Yl9hbGxvYyhkZXYpOwo+IC0JaWYgKElTX0VSUihyb290aHViX2VudHJ5KSkKPiAtCQlyZXR1cm4g UFRSX0VSUihyb290aHViX2VudHJ5KTsKPiArCXJvb3RodWJfZW50cnkgPSBkZXZtX2t6YWxsb2Mo ZGV2LCBzaXplb2YoKnJvb3RodWJfZW50cnkpLCBHRlBfS0VSTkVMKTsKPiArCWlmICghcm9vdGh1 Yl9lbnRyeSkKPiArCQlyZXR1cm4gLUVOT01FTTsKPiAgCgpXZSBtaXNzZWQgZG9pbmcgYQoJSU5J VF9MSVNUX0hFQUQoJnJvb3RodWJfZW50cnktPmxpc3QpOwoKPiAgCXJvb3RodWJfZW50cnktPnBo eSA9IHBoeTsKPiAgCj4gQEAgLTU2LDExICs0Myw5IEBAIHN0YXRpYyBpbnQgdXNiX3BoeV9yb290 aHViX2FkZF9waHkoc3RydWN0IGRldmljZSAqZGV2LCBpbnQgaW5kZXgsCj4gIAlyZXR1cm4gMDsK PiAgfQo+ICAKPiAtc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqdXNiX3BoeV9yb290aHViX2luaXQo c3RydWN0IGRldmljZSAqZGV2KQo+ICtzdHJ1Y3QgdXNiX3BoeV9yb290aHViICp1c2JfcGh5X3Jv b3RodWJfYWxsb2Moc3RydWN0IGRldmljZSAqZGV2KQo+ICB7Cj4gIAlzdHJ1Y3QgdXNiX3BoeV9y b290aHViICpwaHlfcm9vdGh1YjsKPiAtCXN0cnVjdCB1c2JfcGh5X3Jvb3RodWIgKnJvb3RodWJf ZW50cnk7Cj4gLQlzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkOwo+ICAJaW50IGksIG51bV9waHlzLCBl cnI7Cj4gIAo+ICAJbnVtX3BoeXMgPSBvZl9jb3VudF9waGFuZGxlX3dpdGhfYXJncyhkZXYtPm9m X25vZGUsICJwaHlzIiwKPiBAQCAtNjgsMTYgKzUzLDMxIEBAIHN0cnVjdCB1c2JfcGh5X3Jvb3Ro dWIgKnVzYl9waHlfcm9vdGh1Yl9pbml0KHN0cnVjdCBkZXZpY2UgKmRldikKPiAgCWlmIChudW1f cGh5cyA8PSAwKQo+ICAJCXJldHVybiBOVUxMOwo+ICAKPiAtCXBoeV9yb290aHViID0gdXNiX3Bo eV9yb290aHViX2FsbG9jKGRldik7Cj4gLQlpZiAoSVNfRVJSKHBoeV9yb290aHViKSkKPiAtCQly ZXR1cm4gcGh5X3Jvb3RodWI7Cj4gKwlwaHlfcm9vdGh1YiA9IGRldm1fa3phbGxvYyhkZXYsIHNp emVvZigqcGh5X3Jvb3RodWIpLCBHRlBfS0VSTkVMKTsKPiArCWlmICghcGh5X3Jvb3RodWIpCj4g KwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4gKwo+ICsJSU5JVF9MSVNUX0hFQUQoJnBoeV9y b290aHViLT5saXN0KTsKPiAgCj4gIAlmb3IgKGkgPSAwOyBpIDwgbnVtX3BoeXM7IGkrKykgewo+ ICAJCWVyciA9IHVzYl9waHlfcm9vdGh1Yl9hZGRfcGh5KGRldiwgaSwgJnBoeV9yb290aHViLT5s aXN0KTsKPiAgCQlpZiAoZXJyKQo+IC0JCQlnb3RvIGVycl9vdXQ7Cj4gKwkJCXJldHVybiBFUlJf UFRSKGVycik7Cj4gIAl9Cj4gIAo+ICsJcmV0dXJuIHBoeV9yb290aHViOwo+ICt9Cj4gK0VYUE9S VF9TWU1CT0xfR1BMKHVzYl9waHlfcm9vdGh1Yl9hbGxvYyk7Cj4gKwo+ICtpbnQgdXNiX3BoeV9y b290aHViX2luaXQoc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqcGh5X3Jvb3RodWIpCj4gK3sKPiAr CXN0cnVjdCB1c2JfcGh5X3Jvb3RodWIgKnJvb3RodWJfZW50cnk7Cj4gKwlzdHJ1Y3QgbGlzdF9o ZWFkICpoZWFkOwo+ICsJaW50IGVycjsKPiArCj4gKwlpZiAoIXBoeV9yb290aHViKQo+ICsJCXJl dHVybiAwOwo+ICsKPiAgCWhlYWQgPSAmcGh5X3Jvb3RodWItPmxpc3Q7Cj4gIAo+ICAJbGlzdF9m b3JfZWFjaF9lbnRyeShyb290aHViX2VudHJ5LCBoZWFkLCBsaXN0KSB7Cj4gQEAgLTg2LDE0ICs4 NiwxMyBAQCBzdHJ1Y3QgdXNiX3BoeV9yb290aHViICp1c2JfcGh5X3Jvb3RodWJfaW5pdChzdHJ1 Y3QgZGV2aWNlICpkZXYpCj4gIAkJCWdvdG8gZXJyX2V4aXRfcGh5czsKPiAgCX0KPiAgCj4gLQly ZXR1cm4gcGh5X3Jvb3RodWI7Cj4gKwlyZXR1cm4gMDsKPiAgCj4gIGVycl9leGl0X3BoeXM6Cj4g IAlsaXN0X2Zvcl9lYWNoX2VudHJ5X2NvbnRpbnVlX3JldmVyc2Uocm9vdGh1Yl9lbnRyeSwgaGVh ZCwgbGlzdCkKPiAgCQlwaHlfZXhpdChyb290aHViX2VudHJ5LT5waHkpOwo+ICAKPiAtZXJyX291 dDoKPiAtCXJldHVybiBFUlJfUFRSKGVycik7Cj4gKwlyZXR1cm4gZXJyOwo+ICB9Cj4gIEVYUE9S VF9TWU1CT0xfR1BMKHVzYl9waHlfcm9vdGh1Yl9pbml0KTsKPiAgCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvdXNiL2NvcmUvcGh5LmggYi9kcml2ZXJzL3VzYi9jb3JlL3BoeS5oCj4gaW5kZXggNmZk ZTU5YmZiZmY4Li5lYjMxMjUzMjAxYWQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy91c2IvY29yZS9w aHkuaAo+ICsrKyBiL2RyaXZlcnMvdXNiL2NvcmUvcGh5LmgKPiBAQCAtMSw2ICsxLDggQEAKPiAg c3RydWN0IHVzYl9waHlfcm9vdGh1YjsKPiAgCj4gLXN0cnVjdCB1c2JfcGh5X3Jvb3RodWIgKnVz Yl9waHlfcm9vdGh1Yl9pbml0KHN0cnVjdCBkZXZpY2UgKmRldik7Cj4gK3N0cnVjdCB1c2JfcGh5 X3Jvb3RodWIgKnVzYl9waHlfcm9vdGh1Yl9hbGxvYyhzdHJ1Y3QgZGV2aWNlICpkZXYpOwo+ICsK PiAraW50IHVzYl9waHlfcm9vdGh1Yl9pbml0KHN0cnVjdCB1c2JfcGh5X3Jvb3RodWIgKnBoeV9y b290aHViKTsKPiAgaW50IHVzYl9waHlfcm9vdGh1Yl9leGl0KHN0cnVjdCB1c2JfcGh5X3Jvb3Ro dWIgKnBoeV9yb290aHViKTsKPiAgCj4gIGludCB1c2JfcGh5X3Jvb3RodWJfcG93ZXJfb24oc3Ry dWN0IHVzYl9waHlfcm9vdGh1YiAqcGh5X3Jvb3RodWIpOwo+Cg==