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: Roger Quadros Message-Id: <05b749dc-c8e6-260f-287d-7b3e8f599d13@ti.com> Date: Tue, 27 Mar 2018 11:24:08 +0300 To: Martin Blumenstingl , linux-usb@vger.kernel.org, gregkh@linuxfoundation.org Cc: 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: T24gMjYvMDMvMTggMjM6MzgsIE1hcnRpbiBCbHVtZW5zdGluZ2wgd3JvdGU6Cj4gQmVmb3JlIHRo aXMgcGF0Y2ggdXNiX3BoeV9yb290aHViX2luaXQgc2VydmVkIHR3byBwdXJwb3NlcyAoZnJvbSBh Cj4gY2FsbGVyJ3MgcG9pbnQgb2YgdmlldyAtIGxpa2UgaGNkLmMpOgo+IC0gcGFyc2luZyB0aGUg UEhZcyBhbmQgYWxsb2NhdGluZyB0aGUgbGlzdCBlbnRyaWVzCj4gLSBjYWxsaW5nIHBoeV9pbml0 IG9uIGVhY2ggbGlzdCBlbnRyeQo+IAo+IFdoaWxlIHRoaXMgd29ya2VkIHNvIGZhciBpdCBoYXMg b25lIGRpc2FkdmFudGFnZTogaWYgd2UgbmVlZCB0byBjYWxsCj4gcGh5X2luaXQgZm9yIGVhY2gg UEhZIGluc3RhbmNlIHRoZW4gdGhlIGV4aXN0aW5nIGNvZGUgY2Fubm90IGJlIHJlLXVzZWQuCj4g U29sdmUgdGhpcyBieSBzcGxpdHRpbmcgb2ZmIHVzYl9waHlfcm9vdGh1Yl9hbGxvYyB3aGljaCBv bmx5IHBhcnNlcyB0aGUKPiBQSFlzIGFuZCBhbGxvY2F0ZXMgdGhlIGxpc3QgZW50cmllcy4KPiB1 c2JfcGh5X3Jvb3RodWJfaW5pdCB0aGVuIGdldHMgYSBzdHJ1Y3QgdXNiX3BoeV9yb290aHViIGFu ZCBvbmx5IGNhbGxzCj4gcGh5X2luaXQgb24gZWFjaCBQSFkgaW5zdGFuY2UgKGFsb25nIHdpdGgg dGhlIGNvcnJlc3BvbmRpbmcgY2xlYW51cCBpZgo+IHRoYXQgZmFpbGVkIHNvbWV3aGVyZSkuCj4g Cj4gVGhpcyBpcyBhIHByZXBhcmF0aW9uIHN0ZXAgZm9yIGFkZGluZyBwcm9wZXIgc3VzcGVuZCBz dXBwb3J0IGZvciBzb21lCj4gaGFyZHdhcmUgdGhhdCByZXF1aXJlcyBwaHlfZXhpdCB0byBiZSBj YWxsZWQgZHVyaW5nIHN1c3BlbmQgYW5kIHBoeV9pbml0Cj4gdG8gYmUgY2FsbGVkIGR1cmluZyBy ZXN1bWUuCj4gCj4gU2lnbmVkLW9mZi1ieTogTWFydGluIEJsdW1lbnN0aW5nbCA8bWFydGluLmJs dW1lbnN0aW5nbEBnb29nbGVtYWlsLmNvbT4KCkkgZG9uJ3QgdGhpbmsgd2UgbmVlZCBSRkMgaW4g c3ViamVjdC4KClJldmlld2VkLWJ5OiBSb2dlciBRdWFkcm9zIDxyb2dlcnFAdGkuY29tPgoKPiAt LS0KPiAgZHJpdmVycy91c2IvY29yZS9oY2QuYyB8IDEwICsrKysrKystLS0KPiAgZHJpdmVycy91 c2IvY29yZS9waHkuYyB8IDUzICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvdXNiL2NvcmUvcGh5LmggfCAgNCArKystCj4gIDMgZmls ZXMgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgMzAgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvdXNiL2NvcmUvaGNkLmMgYi9kcml2ZXJzL3VzYi9jb3JlL2hjZC5jCj4g aW5kZXggNzc3MDM2YWU2MzY3Li4xNWIwNDE4ZTNiNmEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy91 c2IvY29yZS9oY2QuYwo+ICsrKyBiL2RyaXZlcnMvdXNiL2NvcmUvaGNkLmMKPiBAQCAtMjc1OCwx MiArMjc1OCwxNiBAQCBpbnQgdXNiX2FkZF9oY2Qoc3RydWN0IHVzYl9oY2QgKmhjZCwKPiAgCX0K PiAgCj4gIAlpZiAoIWhjZC0+c2tpcF9waHlfaW5pdGlhbGl6YXRpb24gJiYgdXNiX2hjZF9pc19w cmltYXJ5X2hjZChoY2QpKSB7Cj4gLQkJaGNkLT5waHlfcm9vdGh1YiA9IHVzYl9waHlfcm9vdGh1 Yl9pbml0KGhjZC0+c2VsZi5zeXNkZXYpOwo+ICsJCWhjZC0+cGh5X3Jvb3RodWIgPSB1c2JfcGh5 X3Jvb3RodWJfYWxsb2MoaGNkLT5zZWxmLnN5c2Rldik7Cj4gIAkJaWYgKElTX0VSUihoY2QtPnBo eV9yb290aHViKSkgewo+ICAJCQlyZXR2YWwgPSBQVFJfRVJSKGhjZC0+cGh5X3Jvb3RodWIpOwo+ IC0JCQlnb3RvIGVycl9waHlfcm9vdGh1Yl9pbml0Owo+ICsJCQlnb3RvIGVycl9waHlfcm9vdGh1 Yl9hbGxvYzsKPiAgCQl9Cj4gIAo+ICsJCXJldHZhbCA9IHVzYl9waHlfcm9vdGh1Yl9pbml0KGhj ZC0+cGh5X3Jvb3RodWIpOwo+ICsJCWlmIChyZXR2YWwpCj4gKwkJCWdvdG8gZXJyX3BoeV9yb290 aHViX2FsbG9jOwo+ICsKPiAgCQlyZXR2YWwgPSB1c2JfcGh5X3Jvb3RodWJfcG93ZXJfb24oaGNk LT5waHlfcm9vdGh1Yik7Cj4gIAkJaWYgKHJldHZhbCkKPiAgCQkJZ290byBlcnJfdXNiX3BoeV9y b290aHViX3Bvd2VyX29uOwo+IEBAIC0yOTM2LDcgKzI5NDAsNyBAQCBpbnQgdXNiX2FkZF9oY2Qo c3RydWN0IHVzYl9oY2QgKmhjZCwKPiAgCXVzYl9waHlfcm9vdGh1Yl9wb3dlcl9vZmYoaGNkLT5w aHlfcm9vdGh1Yik7Cj4gIGVycl91c2JfcGh5X3Jvb3RodWJfcG93ZXJfb246Cj4gIAl1c2JfcGh5 X3Jvb3RodWJfZXhpdChoY2QtPnBoeV9yb290aHViKTsKPiAtZXJyX3BoeV9yb290aHViX2luaXQ6 Cj4gK2Vycl9waHlfcm9vdGh1Yl9hbGxvYzoKPiAgCWlmIChoY2QtPnJlbW92ZV9waHkgJiYgaGNk LT51c2JfcGh5KSB7Cj4gIAkJdXNiX3BoeV9zaHV0ZG93bihoY2QtPnVzYl9waHkpOwo+ICAJCXVz Yl9wdXRfcGh5KGhjZC0+dXNiX3BoeSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2NvcmUv cGh5LmMgYi9kcml2ZXJzL3VzYi9jb3JlL3BoeS5jCj4gaW5kZXggZjE5YWFhM2M4OTljLi40NGYw MDhjZGE3YTggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy91c2IvY29yZS9waHkuYwo+ICsrKyBiL2Ry aXZlcnMvdXNiL2NvcmUvcGh5LmMKPiBAQCAtMTksMTkgKzE5LDYgQEAgc3RydWN0IHVzYl9waHlf cm9vdGh1YiB7Cj4gIAlzdHJ1Y3QgbGlzdF9oZWFkCWxpc3Q7Cj4gIH07Cj4gIAo+IC1zdGF0aWMg c3RydWN0IHVzYl9waHlfcm9vdGh1YiAqdXNiX3BoeV9yb290aHViX2FsbG9jKHN0cnVjdCBkZXZp Y2UgKmRldikKPiAtewo+IC0Jc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqcm9vdGh1Yl9lbnRyeTsK PiAtCj4gLQlyb290aHViX2VudHJ5ID0gZGV2bV9remFsbG9jKGRldiwgc2l6ZW9mKCpyb290aHVi X2VudHJ5KSwgR0ZQX0tFUk5FTCk7Cj4gLQlpZiAoIXJvb3RodWJfZW50cnkpCj4gLQkJcmV0dXJu IEVSUl9QVFIoLUVOT01FTSk7Cj4gLQo+IC0JSU5JVF9MSVNUX0hFQUQoJnJvb3RodWJfZW50cnkt Pmxpc3QpOwo+IC0KPiAtCXJldHVybiByb290aHViX2VudHJ5Owo+IC19Cj4gLQo+ICBzdGF0aWMg aW50IHVzYl9waHlfcm9vdGh1Yl9hZGRfcGh5KHN0cnVjdCBkZXZpY2UgKmRldiwgaW50IGluZGV4 LAo+ICAJCQkJICAgc3RydWN0IGxpc3RfaGVhZCAqbGlzdCkKPiAgewo+IEBAIC00NSw5ICszMiwx MSBAQCBzdGF0aWMgaW50IHVzYl9waHlfcm9vdGh1Yl9hZGRfcGh5KHN0cnVjdCBkZXZpY2UgKmRl diwgaW50IGluZGV4LAo+ICAJCQlyZXR1cm4gUFRSX0VSUihwaHkpOwo+ICAJfQo+ICAKPiAtCXJv b3RodWJfZW50cnkgPSB1c2JfcGh5X3Jvb3RodWJfYWxsb2MoZGV2KTsKPiAtCWlmIChJU19FUlIo cm9vdGh1Yl9lbnRyeSkpCj4gLQkJcmV0dXJuIFBUUl9FUlIocm9vdGh1Yl9lbnRyeSk7Cj4gKwly b290aHViX2VudHJ5ID0gZGV2bV9remFsbG9jKGRldiwgc2l6ZW9mKCpyb290aHViX2VudHJ5KSwg R0ZQX0tFUk5FTCk7Cj4gKwlpZiAoIXJvb3RodWJfZW50cnkpCj4gKwkJcmV0dXJuIC1FTk9NRU07 Cj4gKwo+ICsJSU5JVF9MSVNUX0hFQUQoJnJvb3RodWJfZW50cnktPmxpc3QpOwo+ICAKPiAgCXJv b3RodWJfZW50cnktPnBoeSA9IHBoeTsKPiAgCj4gQEAgLTU2LDExICs0NSw5IEBAIHN0YXRpYyBp bnQgdXNiX3BoeV9yb290aHViX2FkZF9waHkoc3RydWN0IGRldmljZSAqZGV2LCBpbnQgaW5kZXgs Cj4gIAlyZXR1cm4gMDsKPiAgfQo+ICAKPiAtc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqdXNiX3Bo eV9yb290aHViX2luaXQoc3RydWN0IGRldmljZSAqZGV2KQo+ICtzdHJ1Y3QgdXNiX3BoeV9yb290 aHViICp1c2JfcGh5X3Jvb3RodWJfYWxsb2Moc3RydWN0IGRldmljZSAqZGV2KQo+ICB7Cj4gIAlz dHJ1Y3QgdXNiX3BoeV9yb290aHViICpwaHlfcm9vdGh1YjsKPiAtCXN0cnVjdCB1c2JfcGh5X3Jv b3RodWIgKnJvb3RodWJfZW50cnk7Cj4gLQlzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkOwo+ICAJaW50 IGksIG51bV9waHlzLCBlcnI7Cj4gIAo+ICAJbnVtX3BoeXMgPSBvZl9jb3VudF9waGFuZGxlX3dp dGhfYXJncyhkZXYtPm9mX25vZGUsICJwaHlzIiwKPiBAQCAtNjgsMTYgKzU1LDMxIEBAIHN0cnVj dCB1c2JfcGh5X3Jvb3RodWIgKnVzYl9waHlfcm9vdGh1Yl9pbml0KHN0cnVjdCBkZXZpY2UgKmRl dikKPiAgCWlmIChudW1fcGh5cyA8PSAwKQo+ICAJCXJldHVybiBOVUxMOwo+ICAKPiAtCXBoeV9y b290aHViID0gdXNiX3BoeV9yb290aHViX2FsbG9jKGRldik7Cj4gLQlpZiAoSVNfRVJSKHBoeV9y b290aHViKSkKPiAtCQlyZXR1cm4gcGh5X3Jvb3RodWI7Cj4gKwlwaHlfcm9vdGh1YiA9IGRldm1f a3phbGxvYyhkZXYsIHNpemVvZigqcGh5X3Jvb3RodWIpLCBHRlBfS0VSTkVMKTsKPiArCWlmICgh cGh5X3Jvb3RodWIpCj4gKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4gKwo+ICsJSU5JVF9M SVNUX0hFQUQoJnBoeV9yb290aHViLT5saXN0KTsKPiAgCj4gIAlmb3IgKGkgPSAwOyBpIDwgbnVt X3BoeXM7IGkrKykgewo+ICAJCWVyciA9IHVzYl9waHlfcm9vdGh1Yl9hZGRfcGh5KGRldiwgaSwg JnBoeV9yb290aHViLT5saXN0KTsKPiAgCQlpZiAoZXJyKQo+IC0JCQlnb3RvIGVycl9vdXQ7Cj4g KwkJCXJldHVybiBFUlJfUFRSKGVycik7Cj4gIAl9Cj4gIAo+ICsJcmV0dXJuIHBoeV9yb290aHVi Owo+ICt9Cj4gK0VYUE9SVF9TWU1CT0xfR1BMKHVzYl9waHlfcm9vdGh1Yl9hbGxvYyk7Cj4gKwo+ ICtpbnQgdXNiX3BoeV9yb290aHViX2luaXQoc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqcGh5X3Jv b3RodWIpCj4gK3sKPiArCXN0cnVjdCB1c2JfcGh5X3Jvb3RodWIgKnJvb3RodWJfZW50cnk7Cj4g KwlzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkOwo+ICsJaW50IGVycjsKPiArCj4gKwlpZiAoIXBoeV9y b290aHViKQo+ICsJCXJldHVybiAwOwo+ICsKPiAgCWhlYWQgPSAmcGh5X3Jvb3RodWItPmxpc3Q7 Cj4gIAo+ICAJbGlzdF9mb3JfZWFjaF9lbnRyeShyb290aHViX2VudHJ5LCBoZWFkLCBsaXN0KSB7 Cj4gQEAgLTg2LDE0ICs4OCwxMyBAQCBzdHJ1Y3QgdXNiX3BoeV9yb290aHViICp1c2JfcGh5X3Jv b3RodWJfaW5pdChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gIAkJCWdvdG8gZXJyX2V4aXRfcGh5czsK PiAgCX0KPiAgCj4gLQlyZXR1cm4gcGh5X3Jvb3RodWI7Cj4gKwlyZXR1cm4gMDsKPiAgCj4gIGVy cl9leGl0X3BoeXM6Cj4gIAlsaXN0X2Zvcl9lYWNoX2VudHJ5X2NvbnRpbnVlX3JldmVyc2Uocm9v dGh1Yl9lbnRyeSwgaGVhZCwgbGlzdCkKPiAgCQlwaHlfZXhpdChyb290aHViX2VudHJ5LT5waHkp Owo+ICAKPiAtZXJyX291dDoKPiAtCXJldHVybiBFUlJfUFRSKGVycik7Cj4gKwlyZXR1cm4gZXJy Owo+ICB9Cj4gIEVYUE9SVF9TWU1CT0xfR1BMKHVzYl9waHlfcm9vdGh1Yl9pbml0KTsKPiAgCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2NvcmUvcGh5LmggYi9kcml2ZXJzL3VzYi9jb3JlL3Bo eS5oCj4gaW5kZXggNmZkZTU5YmZiZmY4Li5lYjMxMjUzMjAxYWQgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy91c2IvY29yZS9waHkuaAo+ICsrKyBiL2RyaXZlcnMvdXNiL2NvcmUvcGh5LmgKPiBAQCAt MSw2ICsxLDggQEAKPiAgc3RydWN0IHVzYl9waHlfcm9vdGh1YjsKPiAgCj4gLXN0cnVjdCB1c2Jf cGh5X3Jvb3RodWIgKnVzYl9waHlfcm9vdGh1Yl9pbml0KHN0cnVjdCBkZXZpY2UgKmRldik7Cj4g K3N0cnVjdCB1c2JfcGh5X3Jvb3RodWIgKnVzYl9waHlfcm9vdGh1Yl9hbGxvYyhzdHJ1Y3QgZGV2 aWNlICpkZXYpOwo+ICsKPiAraW50IHVzYl9waHlfcm9vdGh1Yl9pbml0KHN0cnVjdCB1c2JfcGh5 X3Jvb3RodWIgKnBoeV9yb290aHViKTsKPiAgaW50IHVzYl9waHlfcm9vdGh1Yl9leGl0KHN0cnVj dCB1c2JfcGh5X3Jvb3RodWIgKnBoeV9yb290aHViKTsKPiAgCj4gIGludCB1c2JfcGh5X3Jvb3Ro dWJfcG93ZXJfb24oc3RydWN0IHVzYl9waHlfcm9vdGh1YiAqcGh5X3Jvb3RodWIpOwo+Cg==