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,v1,14/14] usb:cdns3: Feature for changing role From: Roger Quadros Message-Id: <5BE1AA81.3030107@ti.com> Date: Tue, 6 Nov 2018 16:51:45 +0200 To: Pawel Laszczak , gregkh@linuxfoundation.org Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, adouglas@cadence.com, jbergsagel@ti.com, peter.chen@nxp.com, pjez@cadence.com, kurahul@cadence.com List-ID: T24gMDMvMTEvMTggMTk6NTEsIFBhd2VsIExhc3pjemFrIHdyb3RlOgo+IFBhdGNoIGFkZHMgZmVh dHVyZSB0aGF0IGFsbG93IHRvIGNoYW5nZSByb2xlIGZyb20gdXNlciBzcGFjZS4KPiAKPiBTaWdu ZWQtb2ZmLWJ5OiBQYXdlbCBMYXN6Y3phayA8cGF3ZWxsQGNhZGVuY2UuY29tPgo+IC0tLQo+ICBk cml2ZXJzL3VzYi9jZG5zMy9NYWtlZmlsZSAgfCAgMiArLQo+ICBkcml2ZXJzL3VzYi9jZG5zMy9j b3JlLmMgICAgfCAgMiArCj4gIGRyaXZlcnMvdXNiL2NkbnMzL2RlYnVnZnMuYyB8IDk0ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgZHJpdmVycy91c2IvY2RuczMvZHJk LmggICAgIHwgIDMgKysKPiAgNCBmaWxlcyBjaGFuZ2VkLCAxMDAgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbigtKQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy91c2IvY2RuczMvZGVidWdm cy5jCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2NkbnMzL01ha2VmaWxlIGIvZHJpdmVy cy91c2IvY2RuczMvTWFrZWZpbGUKPiBpbmRleCAzNGU2MGQwM2M0ZWMuLjA4ZTZjZGJlYmQ0NiAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL3VzYi9jZG5zMy9NYWtlZmlsZQo+ICsrKyBiL2RyaXZlcnMv dXNiL2NkbnMzL01ha2VmaWxlCj4gQEAgLTEsNyArMSw3IEBACj4gIG9iai0kKENPTkZJR19VU0Jf Q0ROUzMpCQkJKz0gY2RuczMubwo+ICBvYmotJChDT05GSUdfVVNCX0NETlMzX1BDSV9XUkFQKQkr PSBjZG5zMy1wY2kubwo+ICAKPiAtY2RuczMteQkJCQkJOj0gY29yZS5vIGRyZC5vCj4gK2NkbnMz LXkJCQkJCTo9IGNvcmUubyBkcmQubyBkZWJ1Z2ZzLm8KPiAgY2RuczMtJChDT05GSUdfVVNCX0NE TlMzX0dBREdFVCkJKz0gZ2FkZ2V0Lm8gZXAwLm8gZGVidWcubwo+ICBjZG5zMy0kKENPTkZJR19V U0JfQ0ROUzNfSE9TVCkJCSs9IGhvc3Qubwo+ICBjZG5zMy1wY2kteQkJIAkJOj0gY2RuczMtcGNp LXdyYXAubwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9jZG5zMy9jb3JlLmMgYi9kcml2ZXJz L3VzYi9jZG5zMy9jb3JlLmMKPiBpbmRleCAyMGFlOWU3Njk0MGUuLjQwMTJmMTAwN2RhOSAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL3VzYi9jZG5zMy9jb3JlLmMKPiArKysgYi9kcml2ZXJzL3VzYi9j ZG5zMy9jb3JlLmMKPiBAQCAtMzA5LDYgKzMwOSw3IEBAIHN0YXRpYyBpbnQgY2RuczNfcHJvYmUo c3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgCWlmIChyZXQpCj4gIAkJZ290byBlcnI0 Owo+ICAKPiArCWNkbnMzX2RlYnVnZnNfaW5pdChjZG5zKTsKPiAgCWRldmljZV9zZXRfd2FrZXVw X2NhcGFibGUoZGV2LCB0cnVlKTsKPiAgCXBtX3J1bnRpbWVfc2V0X2FjdGl2ZShkZXYpOwo+ICAJ cG1fcnVudGltZV9lbmFibGUoZGV2KTsKPiBAQCAtMzQ2LDYgKzM0Nyw3IEBAIHN0YXRpYyBpbnQg Y2RuczNfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gIAlwbV9ydW50aW1l X2dldF9zeW5jKCZwZGV2LT5kZXYpOwo+ICAJcG1fcnVudGltZV9kaXNhYmxlKCZwZGV2LT5kZXYp Owo+ICAJcG1fcnVudGltZV9wdXRfbm9pZGxlKCZwZGV2LT5kZXYpOwo+ICsJY2RuczNfZGVidWdm c19leGl0KGNkbnMpOwo+ICAJY2RuczNfcmVtb3ZlX3JvbGVzKGNkbnMpOwo+ICAJdXNiX3BoeV9z aHV0ZG93bihjZG5zLT51c2JwaHkpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvY2Ru czMvZGVidWdmcy5jIGIvZHJpdmVycy91c2IvY2RuczMvZGVidWdmcy5jCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAuLmQ0ODcxYmMxYTY5ZAo+IC0tLSAvZGV2L251 bGwKPiArKysgYi9kcml2ZXJzL3VzYi9jZG5zMy9kZWJ1Z2ZzLmMKPiBAQCAtMCwwICsxLDk0IEBA Cj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCj4gKy8qCj4gKyAqIENhZGVu Y2UgVVNCU1MgRFJEIENvbnRyb2xsZXIgRGVidWdGUyBmaWxlci4KPiArICoKPiArICogQ29weXJp Z2h0IChDKSAyMDE4IENhZGVuY2UuCj4gKyAqCj4gKyAqIEF1dGhvcjogUGF3ZWwgTGFzemN6YWsg PHBhd2VsbEBjYWRlbmNlLmNvbT4KPiArICovCj4gKwo+ICsjaW5jbHVkZSA8bGludXgvdHlwZXMu aD4KPiArI2luY2x1ZGUgPGxpbnV4L2RlYnVnZnMuaD4KPiArI2luY2x1ZGUgPGxpbnV4L3NlcV9m aWxlLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+Cj4gKwo+ICsjaW5jbHVkZSAiY29y ZS5oIgo+ICsjaW5jbHVkZSAiZ2FkZ2V0LmgiCj4gKwo+ICtzdGF0aWMgaW50IGNkbnMzX21vZGVf c2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHZvaWQgKnVudXNlZCkKPiArewo+ICsJc3RydWN0IGNk bnMzCQkqY2RucyA9IHMtPnByaXZhdGU7Cj4gKwo+ICsJc3dpdGNoIChjZG5zLT5yb2xlKSB7Cj4g KwljYXNlIENETlMzX1JPTEVfSE9TVDoKPiArCQlzZXFfcHV0cyhzLCAiaG9zdFxuIik7Cj4gKwkJ YnJlYWs7Cj4gKwljYXNlIENETlMzX1JPTEVfR0FER0VUOgo+ICsJCXNlcV9wdXRzKHMsICJkZXZp Y2VcbiIpOwo+ICsJCWJyZWFrOwo+ICsJY2FzZSBDRE5TM19ST0xFX09URzoKPiArCWNhc2UgQ0RO UzNfUk9MRV9FTkQ6Cj4gKwkJc2VxX3B1dHMocywgIm90Z1xuIik7Cj4gKwkJYnJlYWs7Cj4gKwlk ZWZhdWx0Ogo+ICsJCXNlcV9wdXRzKHMsICJVTktOT1dOIG1vZGVcbiIpOwo+ICsJfQo+ICsKPiAr CXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IGNkbnMzX21vZGVfb3BlbihzdHJ1Y3Qg aW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKPiArewo+ICsJcmV0dXJuIHNpbmdsZV9v cGVuKGZpbGUsIGNkbnMzX21vZGVfc2hvdywgaW5vZGUtPmlfcHJpdmF0ZSk7Cj4gK30KPiArCj4g K3N0YXRpYyBzc2l6ZV90IGNkbnMzX21vZGVfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsCj4gKwkJ CQljb25zdCBjaGFyIF9fdXNlciAqdWJ1ZiwKPiArCQkJCXNpemVfdCBjb3VudCwgbG9mZl90ICpw cG9zKQo+ICt7Cj4gKwlzdHJ1Y3Qgc2VxX2ZpbGUJCSpzID0gZmlsZS0+cHJpdmF0ZV9kYXRhOwo+ ICsJc3RydWN0IGNkbnMzCQkqY2RucyA9IHMtPnByaXZhdGU7Cj4gKwl1MzIJCQltb2RlID0gMDsK PiArCWNoYXIJCQlidWZbMzJdOwo+ICsKPiArCWlmIChjb3B5X2Zyb21fdXNlcigmYnVmLCB1YnVm LCBtaW5fdChzaXplX3QsIHNpemVvZihidWYpIC0gMSwgY291bnQpKSkKPiArCQlyZXR1cm4gLUVG QVVMVDsKPiArCj4gKwlpZiAoIXN0cm5jbXAoYnVmLCAiaG9zdCIsIDQpKQo+ICsJCW1vZGUgPSBV U0JfRFJfTU9ERV9IT1NUOwo+ICsKPiArCWlmICghc3RybmNtcChidWYsICJkZXZpY2UiLCA2KSkK PiArCQltb2RlID0gVVNCX0RSX01PREVfUEVSSVBIRVJBTDsKPiArCj4gKwlpZiAoIXN0cm5jbXAo YnVmLCAib3RnIiwgMykpCj4gKwkJbW9kZSA9IFVTQl9EUl9NT0RFX09URzsKPiArCj4gKwljZG5z LT5kZXNpcmVkX3JvbGUgPSBtb2RlOwo+ICsJcXVldWVfd29yayhzeXN0ZW1fZnJlZXphYmxlX3dx LCAmY2Rucy0+cm9sZV9zd2l0Y2hfd3EpOwoKSWYgd2Ugc3RhcnQgd2l0aCBPVEcgbW9kZSBhbmQg dXNlciBzYXlzIGNoYW5nZSBtb2RlIHRvIGRldmljZSB3aWxsIHdlIHN0aWxsCnN3aXRjaCB0byBo b3N0IGJhc2VkIG9uIElEIHBpbiBjaGFuZ2U/CgpJZiBpdCBkb2VzIHRoZW4gdGhpcyBpc24ndCB3 b3JraW5nIGNvcnJlY3RseS4KV2UgbmVlZCB0byBzdG9wIHByb2Nlc3NpbmcgSUQgaW50ZXJydXB0 cyBhbmQga2VlcCB0aGUgcm9sZSBzdGF0aWMgdGlsbAp0aGUgdXNlciBzd2l0Y2hlcyBpdCBiYWNr IHRvIG90Zy4KCj4gKwlyZXR1cm4gY291bnQ7Cj4gK30KPiArCj4gK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgZmlsZV9vcGVyYXRpb25zIGNkbnMzX21vZGVfZm9wcyA9IHsKPiArCS5vcGVuCQkJPSBjZG5z M19tb2RlX29wZW4sCj4gKwkud3JpdGUJCQk9IGNkbnMzX21vZGVfd3JpdGUsCj4gKwkucmVhZAkJ CT0gc2VxX3JlYWQsCj4gKwkubGxzZWVrCQkJPSBzZXFfbHNlZWssCj4gKwkucmVsZWFzZQkJPSBz aW5nbGVfcmVsZWFzZSwKPiArfTsKPiArCj4gK3ZvaWQgY2RuczNfZGVidWdmc19pbml0KHN0cnVj dCBjZG5zMyAqY2RucykKPiArewo+ICsJc3RydWN0IGRlbnRyeSAqcm9vdDsKPiArCj4gKwlyb290 ID0gZGVidWdmc19jcmVhdGVfZGlyKGRldl9uYW1lKGNkbnMtPmRldiksIE5VTEwpOwo+ICsJY2Ru cy0+cm9vdCA9IHJvb3Q7Cj4gKwlpZiAoSVNfRU5BQkxFRChDT05GSUdfVVNCX0NETlMzX0dBREdF VCkgJiYKPiArCSAgICBJU19FTkFCTEVEKENPTkZJR19VU0JfQ0ROUzNfSE9TVCkpCj4gKwkJZGVi dWdmc19jcmVhdGVfZmlsZSgibW9kZSIsIDA2NDQsIHJvb3QsIGNkbnMsCj4gKwkJCQkgICAgJmNk bnMzX21vZGVfZm9wcyk7Cj4gK30KPiArCj4gK3ZvaWQgY2RuczNfZGVidWdmc19leGl0KHN0cnVj dCBjZG5zMyAqY2RucykKPiArewo+ICsJZGVidWdmc19yZW1vdmVfcmVjdXJzaXZlKGNkbnMtPnJv b3QpOwo+ICt9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2NkbnMzL2RyZC5oIGIvZHJpdmVy cy91c2IvY2RuczMvZHJkLmgKPiBpbmRleCA4NTczMWYzYjY5M2MuLjUzNDQyOTBjNzZmMiAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL3VzYi9jZG5zMy9kcmQuaAo+ICsrKyBiL2RyaXZlcnMvdXNiL2Nk bnMzL2RyZC5oCj4gQEAgLTExOSw0ICsxMTksNyBAQCBpbnQgY2RuczNfZHJkX3Byb2JlKHN0cnVj dCBjZG5zMyAqY2Rucyk7Cj4gIHZvaWQgY2RuczNfc2V0X2h3X21vZGUoc3RydWN0IGNkbnMzICpj ZG5zLCB1MzIgbW9kZSk7Cj4gIGlycXJldHVybl90IGNkbnMzX2RyZF9pcnEoc3RydWN0IGNkbnMz ICpjZG5zKTsKPiAgCj4gK3ZvaWQgY2RuczNfZGVidWdmc19pbml0KHN0cnVjdCBjZG5zMyAqY2Ru cyk7Cj4gK3ZvaWQgY2RuczNfZGVidWdmc19leGl0KHN0cnVjdCBjZG5zMyAqY2Rucyk7Cj4gKwo+ ICAjZW5kaWYgLyogX19MSU5VWF9DRE5TM19EUkQgKi8KPiAKCmNoZWVycywKLXJvZ2VyCg==