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: [v4,2/2] usb/gadget: Add driver for Aspeed SoC virtual hub From: Benjamin Herrenschmidt Message-Id: <1521061429.16434.139.camel@kernel.crashing.org> Date: Thu, 15 Mar 2018 08:03:49 +1100 To: Felipe Balbi , linux-usb@vger.kernel.org Cc: Greg KH , Joel Stanley , Andrew Jeffery List-ID: T24gV2VkLCAyMDE4LTAzLTE0IGF0IDEwOjU0ICswMjAwLCBGZWxpcGUgQmFsYmkgd3JvdGU6Cj4g SGksCj4gCj4gQmVuamFtaW4gSGVycmVuc2NobWlkdCA8YmVuaEBrZXJuZWwuY3Jhc2hpbmcub3Jn PiB3cml0ZXM6Cj4gPiBPbiBUdWUsIDIwMTgtMDMtMTMgYXQgMDk6MzUgKzExMDAsIEJlbmphbWlu IEhlcnJlbnNjaG1pZHQgd3JvdGU6Cj4gPiA+IE9uIEZyaSwgMjAxOC0wMy0wOSBhdCAxMToyMCAr MDIwMCwgRmVsaXBlIEJhbGJpIHdyb3RlOgo+ID4gPiA+IAo+ID4gPiA+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvdXNiL2dhZGdldC91ZGMvYXNwZWVkLXZodWIvY29yZS5jIGIvZHJpdmVycy91c2Iv Z2FkZ2V0L3VkYy9hc3BlZWQtdmh1Yi9jb3JlLmMKPiA+ID4gPiA+IG5ldyBmaWxlIG1vZGUgMTAw NjQ0Cj4gPiA+ID4gPiBpbmRleCAwMDAwMDAwMDAwMDAuLjMxZWQyYjZlMjQxYgo+ID4gPiA+ID4g LS0tIC9kZXYvbnVsbAo+ID4gPiA+ID4gKysrIGIvZHJpdmVycy91c2IvZ2FkZ2V0L3VkYy9hc3Bl ZWQtdmh1Yi9jb3JlLmMKPiA+ID4gPiA+IEBAIC0wLDAgKzEsNDI5IEBACj4gPiA+ID4gCj4gPiA+ ID4gbWlzc2luZyBTUERYIGxpY2Vuc2UgaWRlbnRpZmllciAoYWxsIGZpbGVzKQo+ID4gPiAKPiA+ ID4gQWggeXVwLCB0aGUgZHJpdmVyIHByZWRhdGVzIG1lIGtub3dpbmcgYWJvdXQgdGhlbSwgSSds bCBmaXguCj4gPiA+IAo+ID4gPiA+ID4gK3N0YXRpYyBib29sIGZvcmNlX3VzYjEgPSBmYWxzZTsK PiA+ID4gPiA+ICtzdGF0aWMgYm9vbCBub19kbWFfZGVzYyA9IGZhbHNlOwo+ID4gPiA+ID4gKwo+ ID4gPiA+ID4gK21vZHVsZV9wYXJhbV9uYW1lZChmb3JjZV91c2IxLCBmb3JjZV91c2IxLCBib29s LCAwNjQ0KTsKPiA+ID4gPiA+ICtNT0RVTEVfUEFSTV9ERVNDKGZvcmNlX3VzYjEsICJTZXQgdG8g dHJ1ZSB0byBmb3JjZSB0byBVU0IxIHNwZWVkIik7Cj4gPiA+ID4gPiArbW9kdWxlX3BhcmFtX25h bWVkKG5vX2RtYV9kZXNjLCBub19kbWFfZGVzYywgYm9vbCwgMDY0NCk7Cj4gPiA+ID4gPiArTU9E VUxFX1BBUk1fREVTQyhub19kbWFfZGVzYywgIlNldCB0byB0cnVlIHRvIGRpc2FibGUgdXNlIG9m IERNQSBkZXNjcmlwdG9ycyIpOwo+ID4gPiA+IAo+ID4gPiA+IG1vZHVsZSBwYXJhbWV0ZXJzPyBT b3JyeSwgYnV0IG5vLgo+ID4gPiAKPiA+ID4gV2h5ID8gQW55IHN1Z2dlc3Rpb24gdGhlbiBmb3Ig dGhlIHR3byBhYm92ZSA/IFRoZXkgYXJlIG1vc3RseSBtZWFudCBhcwo+ID4gPiBkaWFnbm9zdGlj L2RlYnVnIGZlYXR1cmVzIGlmIHNvbWV0aGluZyBkb2Vzbid0IHdvcmsgKGZvciBleGFtcGxlLCB0 aGUKPiA+ID4gYm9hcmQgaGFzIHNvbWUgc3ViLXN0YW5kYXJkIHdpcmluZyBtYWtpbmcgVVNCMiB1 bnJlbGlhYmxlLCBvciBhIGRyaXZlcgo+ID4gPiBidWcgd2l0aCBETUEgZGVzY3JpcHRvcnMpLgo+ ID4gPiAKPiA+ID4gSSBjYW4ganVzdCB0YWtlIHRoZW0gb3V0IGNvbXBsZXRlbHkgYnV0IGl0IGZl ZWxzIGxpa2UgbW9kdWxlIHBhcmFtZXRlcnMKPiA+ID4gYXJlIHRoZSByaWdodCB0aGluZyB0byBk byBpbiB0aGF0IHNwZWNpZmljIGNhc2UuCj4gPiAKPiA+IEkndmUgdGFrZW4gb3V0IHRoZSBzZWNv bmQgb25lLCBpdCBpc24ndCB0aGF0IHVzZWZ1bC4gSSd2ZSBsZWZ0IGluIHRoZQo+ID4gZmlyc3Qg b25lIGhvd2V2ZXIuIFRoaXMgaXMgdGhlIHJpZ2h0IHRoaW5nIHRvIGRvLiBUaGF0IHNldHRpbmcg KGZvcmNlCj4gPiBVU0IxIG1vZGUpIG5lZWRzIHRvIGJlIGFwcGxpZWQgYXMgc29vbiBhcyB0aGUg dmh1YiBnZXRzIGluaXRpYWxpemVkCj4gPiBhdCBkcml2ZXIgbG9hZCB0aW1lLCByZWdhcmRsZXNz IG9mIHdoYXQgZ2FkZ2V0cyBtaWdodCBiZSBhdHRhY2hlZCB0bwo+ID4gaXQgbGF0ZXIgb24uCj4g Cj4gd2UgaGF2ZSBEVCBiaW5kaW5nIGZvciBwYXNzaW5nIG1heGltdW0gc3BlZWQuIEEgbW9kdWxl IHBhcmFtZXRlciBpcwo+IGdsb2JhbCwgd2hlcmVhcyBEVCBiaW5kaW5nIChvciBkZXZpY2UgcHJv cGVydHkpIGlzIHBlci1kZXZpY2UuCgpIcm0sIG9rIEkgY291bGQgZG8gdGhhdC4gTGVzcyBwcmFj dGljYWwgZm9yIGRpYWdub3N0aWNzLCB5b3UgY2FuJ3QKYWx3YXlzIGVhc2lseSBjaGFuZ2UgdGhl IERUIChvciB0ZWxsIGEgdXNlciB0byBkbyBzbyBvdmVyIGVtYWlsKSwgYnV0Cml0IHdvdWxkIHdv cmsuCgo+ID4gPiA+ID4gK3ZvaWQgYXN0X3ZodWJfaW5pdF9odyhzdHJ1Y3QgYXN0X3ZodWIgKnZo dWIpCj4gPiA+ID4gPiArewo+ID4gPiA+ID4gKyAgIHUzMiBjdHJsOwo+ID4gPiA+ID4gKwo+ID4g PiA+ID4gKyAgIFVEQ0RCRyh2aHViLCIoUmUpU3RhcnRpbmcgSFcgLi4uXG4iKTsKPiA+ID4gPiA+ ICsKPiA+ID4gPiA+ICsgICAvKiBFbmFibGUgUEhZICovCj4gPiA+ID4gPiArICAgY3RybCA9IFZI VUJfQ1RSTF9QSFlfQ0xLIHwKPiA+ID4gPiA+ICsgICAgICAgICAgIFZIVUJfQ1RSTF9QSFlfUkVT RVRfRElTOwo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gKyNpZiAwIC8qCj4gPiA+ID4gPiArICAgICAg ICogVGhpcyBjYXVzZXMgcmVnaXN0ZXJzIHRvIGJlY29tZSBpbmFjY2Vzc2libGUgZHVyaW5nCj4g PiA+ID4gPiArICAgICAgICogc3VzcGVuZC4gTmVlZCB0byBmaWd1cmUgb3V0IGhvdyB0byBicmlu ZyB0aGUgY29udHJvbGxlcgo+ID4gPiA+ID4gKyAgICAgICAqIGJhY2sgaW50byBsaWZlIHRvIGlz c3VlIGEgd2FrZXVwLgo+ID4gPiA+ID4gKyAgICAgICAqLwo+ID4gPiA+ID4gKyAgIGN0cmwgfD0g VkhVQl9DVFJMX0NMS19TVE9QX1NVU1BFTkQ7Cj4gPiA+ID4gPiArI2VuZGlmCj4gPiA+ID4gCj4g PiA+ID4gbm8gY29tbWVudGVkIGNvZGUuCj4gPiA+IAo+ID4gPiBXaHkgPyBUaGlzIGRvY3VtZW50 cyBhIEhXIGlzc3VlIC4uLiBpZSwgb25lIHdvdWxkIG5vcm1hbGx5IHdhbnQgdG8gc2V0Cj4gPiA+ IHRoaXMgYml0IGJ1dCB5b3UgY2FuJ3QgYmVjYXVzZSBpbiBwcmFjdGljZSB5b3UgY2FuJ3QgYnJp bmcgdGhlIEhXIGJhY2sKPiA+ID4gc2hvcnQgb2YgZG9pbmcgYSBmdWxsIHJlc2V0Lgo+ID4gCj4g PiBTbyBJIGRvbid0IHdhbnQgdG8gbG9zZSB0aGUgIkhXIGRvY3VtZW50YXRpb24iIHBhcnQgb2Yg dGhhdCwgSSd2ZQo+ID4gdHVybmVkIHRoZSBhYm92ZSBpbnRvIGEgY29tbWVudDoKPiA+IAo+ID4g ICAgICAgLyoKPiA+IAkqIFdlIGRvICpOT1QqIHNldCB0aGUgVkhVQl9DVFJMX0NMS19TVE9QX1NV U1BFTkQgYml0Cj4gPiAJKiB0byBzdG9wIHRoZSBsb2dpYyBjbG9jayBkdXJpbmcgc3VzcGVuZCBi ZWNhdXNlCj4gPiAJKiBpdCBjYXVzZXMgdGhlIHJlZ2lzdGVycyB0byBiZWNvbWUgaW5hY2Nlc3Np YmxlIGFuZAo+ID4gCSogd2UgaGF2ZW4ndCB5ZXQgZmlndXJlZCBvdXQgYSBnb29kIHdheXQgdG8g YnJpbmcgdGhlCj4gPiAJKiBjb250cm9sbGVyIGJhY2sgaW50byBsaWZlIHRvIGlzc3VlIGEgd2Fr ZXVwLgo+ID4gCSovCj4gCj4gdGhpcyBpcyBnb29kCj4gCj4gPiBJdCB3aWxsIGJlIGluIHY1IHdo ZW4gSSBwb3N0IGl0IChJJ2xsIHRlc3QgYSBiaXQgbW9yZSBhbmQgd2FpdAo+ID4gZm9yIG90aGVy IHJlcGxpZXMgZnJvbSB5b3UsIGlmIEkgZG9uJ3QgaGVhciBiYWNrIEknbGwgcHJvYmFibHkgc2Vu ZAo+ID4gaXQgYnkgZW5kIG9mIHdlZWsgb3IgbmV4dCB3ZWVrKS4KPiAKPiBva2F5Cj4gCj4gPiA+ ID4gPiArICAgLyoKPiA+ID4gPiA+ICsgICAgKiBTZXQgc29tZSBJU08gJiBzcGxpdCBjb250cm9s IGJpdHMgYWNjb3JkaW5nIHRvIEFzcGVlZAo+ID4gPiA+ID4gKyAgICAqIHJlY29tbWVuZGF0aW9u Cj4gPiA+ID4gPiArICAgICoKPiA+ID4gPiA+ICsgICAgKiBWSFVCX0NUUkxfSVNPX1JTUF9DVFJM OiBXaGVuIHNldCB0ZWxscyB0aGUgSFcgdG8gcmVzcG9uZAo+ID4gPiA+ID4gKyAgICAqIHdpdGgg MCBieXRlcyBkYXRhIHBhY2tldCB0byBJU08gSU4gZW5kcG9pbnRzIHdoZW4gbm8gZGF0YQo+ID4g PiA+ID4gKyAgICAqIGlzIGF2YWlsYWJsZS4KPiA+ID4gPiA+ICsgICAgKgo+ID4gPiA+ID4gKyAg ICAqIFZIVUJfQ1RSTF9TUExJVF9JTjogVGhpcyBtYWtlcyBhIFNPRiBjb21wbGV0ZSBhIHNwbGl0 IElOCj4gPiA+ID4gPiArICAgICogdHJhbnNhY3Rpb24uCj4gPiA+ID4gPiArICAgICovCj4gPiA+ ID4gPiArICAgY3RybCB8PSBWSFVCX0NUUkxfSVNPX1JTUF9DVFJMIHwgVkhVQl9DVFJMX1NQTElU X0lOOwo+ID4gPiA+ID4gKyAgIHdyaXRlbChjdHJsLCB2aHViLT5yZWdzICsgQVNUX1ZIVUJfQ1RS TCk7Cj4gPiA+ID4gPiArICAgdWRlbGF5KDEpOwo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gKyAgIC8q IFNldCBkZXNjcmlwdG9yIHJpbmcgc2l6ZSAqLwo+ID4gPiA+ID4gKyNpZiBBU1RfVkhVQl9ERVND U19DT1VOVCA9PSAyNTYKPiA+ID4gPiA+ICsgICBjdHJsIHw9IFZIVUJfQ1RSTF9MT05HX0RFU0M7 Cj4gPiA+ID4gPiArICAgd3JpdGVsKGN0cmwsIHZodWItPnJlZ3MgKyBBU1RfVkhVQl9DVFJMKTsK PiA+ID4gPiA+ICsjZWxpZiBBU1RfVkhVQl9ERVNDU19DT1VOVCAhPSAzMgo+ID4gPiA+ID4gKyAg ICNlcnJvciBJbnZhbGlkIEFTVF9WSFVCX0RFU0NTX0NPVU5UCj4gPiA+ID4gPiArI2VuZGlmCj4g PiA+ID4gCj4gPiA+ID4gZmluZCBhIGJldHRlciB3YXkgZm9yIHRoaXMuIE5vIGlmZGVmcwo+ID4g PiAKPiA+ID4gVWdoID8gV2hhdCdzIHRoYXQgcnVsZSA/IEkgY291bGQgZG8gYSBtb2R1bGUgcGFy YW1ldGVyIGJ1dCB5b3UgaGF0ZQo+ID4gPiB0aGF0IHRvbyBhbmQgaG9uZXN0bHkga2VlcGluZyB0 aGF0IGFuIGlmZGVmIG1ha2VzIHRoaW5ncyBlYXNpZXIuIEl0J3MKPiA+ID4gbm90IG1lYW50IHRv IGJlIGNoYW5nZWQgdW5sZXNzIGEgaGFyZHdhcmUgb3IgcGVyZm9ybWFuY2UgaXNzdWVzIHNob3dz Cj4gPiA+IHVwLCBJIHdhbnRlZCB0byBrZWVwIGJvdGggbW9kZSBvZiBvcGVyYXRpb25zIGF2YWls YWJsZS4KPiA+IAo+ID4gT2ggd2VsbCwgSSd2ZSBqdXN0IG1hZGUgaXQgYW4gaWYgKCkgYW5kIGtl cHQgdGhlICNkZWZpbmUsIGFuZCB0aGUKPiA+ICNlcnJvciB0dXJucyBpbnRvIGEgQlVJTERfQlVH X09OKCkuIFNhbWUgcHJpbmNpcGxlLi4uIGJ1dCBJIGRvbid0Cj4gPiBsaWtlIHRob3NlIGFyYml0 cmFyeSAicnVsZXMiLCBJIHRyeSB0byBhdm9pZCB0aGVtIGZvciB0aGluZ3MgSQo+ID4gbWFpbnRh aW4gKGdyYW50ZWQsIG5vdCBtdWNoIGFueW1vcmUgdGhlc2UgZGF5cykuCj4gCj4gdGhleSdyZSBu b3QgYXJiaXRyYXJ5LCBhY3R1YWxseSwgYW5kIGhhdmUgYmVlbiBhcm91bmQgZm9yIGEgbG9uZyB0 aW1lIDstKQo+IAo+ID4gRG8geW91IGhhdmUgbW9yZSBjb21tZW50cyBmb3IgdGhlIHJlc3Qgb2Yg dGhlIGRyaXZlciBvciB0aGF0J3MgaXQgPwo+IAo+IHNvIGZhciwgdGhhdCdzIGl0LgoKT2suIEkn bGwgcmUtc2VuZC4KClRoYW5rcyAhCgpDaGVlcnMsCkJlbi4KLS0tClRvIHVuc3Vic2NyaWJlIGZy b20gdGhpcyBsaXN0OiBzZW5kIHRoZSBsaW5lICJ1bnN1YnNjcmliZSBsaW51eC11c2IiIGluCnRo ZSBib2R5IG9mIGEgbWVzc2FnZSB0byBtYWpvcmRvbW9Admdlci5rZXJuZWwub3JnCk1vcmUgbWFq b3Jkb21vIGluZm8gYXQgIGh0dHA6Ly92Z2VyLmtlcm5lbC5vcmcvbWFqb3Jkb21vLWluZm8uaHRt bAo=