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: <1520999616.16434.100.camel@kernel.crashing.org> Date: Wed, 14 Mar 2018 14:53:36 +1100 To: Felipe Balbi , linux-usb@vger.kernel.org Cc: Greg KH , Joel Stanley , Andrew Jeffery List-ID: T24gVHVlLCAyMDE4LTAzLTEzIGF0IDA5OjM1ICsxMTAwLCBCZW5qYW1pbiBIZXJyZW5zY2htaWR0 IHdyb3RlOgo+IE9uIEZyaSwgMjAxOC0wMy0wOSBhdCAxMToyMCArMDIwMCwgRmVsaXBlIEJhbGJp IHdyb3RlOgo+ID4gCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9nYWRnZXQvdWRjL2Fz cGVlZC12aHViL2NvcmUuYyBiL2RyaXZlcnMvdXNiL2dhZGdldC91ZGMvYXNwZWVkLXZodWIvY29y ZS5jCj4gPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiA+IGluZGV4IDAwMDAwMDAwMDAwMC4u MzFlZDJiNmUyNDFiCj4gPiA+IC0tLSAvZGV2L251bGwKPiA+ID4gKysrIGIvZHJpdmVycy91c2Iv Z2FkZ2V0L3VkYy9hc3BlZWQtdmh1Yi9jb3JlLmMKPiA+ID4gQEAgLTAsMCArMSw0MjkgQEAKPiA+ IAo+ID4gbWlzc2luZyBTUERYIGxpY2Vuc2UgaWRlbnRpZmllciAoYWxsIGZpbGVzKQo+IAo+IEFo IHl1cCwgdGhlIGRyaXZlciBwcmVkYXRlcyBtZSBrbm93aW5nIGFib3V0IHRoZW0sIEknbGwgZml4 Lgo+IAo+ID4gPiArc3RhdGljIGJvb2wgZm9yY2VfdXNiMSA9IGZhbHNlOwo+ID4gPiArc3RhdGlj IGJvb2wgbm9fZG1hX2Rlc2MgPSBmYWxzZTsKPiA+ID4gKwo+ID4gPiArbW9kdWxlX3BhcmFtX25h bWVkKGZvcmNlX3VzYjEsIGZvcmNlX3VzYjEsIGJvb2wsIDA2NDQpOwo+ID4gPiArTU9EVUxFX1BB Uk1fREVTQyhmb3JjZV91c2IxLCAiU2V0IHRvIHRydWUgdG8gZm9yY2UgdG8gVVNCMSBzcGVlZCIp Owo+ID4gPiArbW9kdWxlX3BhcmFtX25hbWVkKG5vX2RtYV9kZXNjLCBub19kbWFfZGVzYywgYm9v bCwgMDY0NCk7Cj4gPiA+ICtNT0RVTEVfUEFSTV9ERVNDKG5vX2RtYV9kZXNjLCAiU2V0IHRvIHRy dWUgdG8gZGlzYWJsZSB1c2Ugb2YgRE1BIGRlc2NyaXB0b3JzIik7Cj4gPiAKPiA+IG1vZHVsZSBw YXJhbWV0ZXJzPyBTb3JyeSwgYnV0IG5vLgo+IAo+IFdoeSA/IEFueSBzdWdnZXN0aW9uIHRoZW4g Zm9yIHRoZSB0d28gYWJvdmUgPyBUaGV5IGFyZSBtb3N0bHkgbWVhbnQgYXMKPiBkaWFnbm9zdGlj L2RlYnVnIGZlYXR1cmVzIGlmIHNvbWV0aGluZyBkb2Vzbid0IHdvcmsgKGZvciBleGFtcGxlLCB0 aGUKPiBib2FyZCBoYXMgc29tZSBzdWItc3RhbmRhcmQgd2lyaW5nIG1ha2luZyBVU0IyIHVucmVs aWFibGUsIG9yIGEgZHJpdmVyCj4gYnVnIHdpdGggRE1BIGRlc2NyaXB0b3JzKS4KPiAKPiBJIGNh biBqdXN0IHRha2UgdGhlbSBvdXQgY29tcGxldGVseSBidXQgaXQgZmVlbHMgbGlrZSBtb2R1bGUg cGFyYW1ldGVycwo+IGFyZSB0aGUgcmlnaHQgdGhpbmcgdG8gZG8gaW4gdGhhdCBzcGVjaWZpYyBj YXNlLgoKSSd2ZSB0YWtlbiBvdXQgdGhlIHNlY29uZCBvbmUsIGl0IGlzbid0IHRoYXQgdXNlZnVs LiBJJ3ZlIGxlZnQgaW4gdGhlCmZpcnN0IG9uZSBob3dldmVyLiBUaGlzIGlzIHRoZSByaWdodCB0 aGluZyB0byBkby4gVGhhdCBzZXR0aW5nIChmb3JjZQpVU0IxIG1vZGUpIG5lZWRzIHRvIGJlIGFw cGxpZWQgYXMgc29vbiBhcyB0aGUgdmh1YiBnZXRzIGluaXRpYWxpemVkCmF0IGRyaXZlciBsb2Fk IHRpbWUsIHJlZ2FyZGxlc3Mgb2Ygd2hhdCBnYWRnZXRzIG1pZ2h0IGJlIGF0dGFjaGVkIHRvCml0 IGxhdGVyIG9uLgoKSXQncyBwdXJlbHkgYSBkaWFnbm9zdGljIGZ1bmN0aW9uLCBJIGRvbid0IHNl ZSBhIHBvaW50IGhhdmluZyBpdAplbHNld2hlcmUuCgogLi4uLy4uLgoKPiA+ID4gK3ZvaWQgYXN0 X3ZodWJfaW5pdF9odyhzdHJ1Y3QgYXN0X3ZodWIgKnZodWIpCj4gPiA+ICt7Cj4gPiA+ICsgICB1 MzIgY3RybDsKPiA+ID4gKwo+ID4gPiArICAgVURDREJHKHZodWIsIihSZSlTdGFydGluZyBIVyAu Li5cbiIpOwo+ID4gPiArCj4gPiA+ICsgICAvKiBFbmFibGUgUEhZICovCj4gPiA+ICsgICBjdHJs ID0gVkhVQl9DVFJMX1BIWV9DTEsgfAo+ID4gPiArICAgICAgICAgICBWSFVCX0NUUkxfUEhZX1JF U0VUX0RJUzsKPiA+ID4gKwo+ID4gPiArI2lmIDAgLyoKPiA+ID4gKyAgICAgICAqIFRoaXMgY2F1 c2VzIHJlZ2lzdGVycyB0byBiZWNvbWUgaW5hY2Nlc3NpYmxlIGR1cmluZwo+ID4gPiArICAgICAg ICogc3VzcGVuZC4gTmVlZCB0byBmaWd1cmUgb3V0IGhvdyB0byBicmluZyB0aGUgY29udHJvbGxl cgo+ID4gPiArICAgICAgICogYmFjayBpbnRvIGxpZmUgdG8gaXNzdWUgYSB3YWtldXAuCj4gPiA+ ICsgICAgICAgKi8KPiA+ID4gKyAgIGN0cmwgfD0gVkhVQl9DVFJMX0NMS19TVE9QX1NVU1BFTkQ7 Cj4gPiA+ICsjZW5kaWYKPiA+IAo+ID4gbm8gY29tbWVudGVkIGNvZGUuCj4gCj4gV2h5ID8gVGhp cyBkb2N1bWVudHMgYSBIVyBpc3N1ZSAuLi4gaWUsIG9uZSB3b3VsZCBub3JtYWxseSB3YW50IHRv IHNldAo+IHRoaXMgYml0IGJ1dCB5b3UgY2FuJ3QgYmVjYXVzZSBpbiBwcmFjdGljZSB5b3UgY2Fu J3QgYnJpbmcgdGhlIEhXIGJhY2sKPiBzaG9ydCBvZiBkb2luZyBhIGZ1bGwgcmVzZXQuCgpTbyBJ IGRvbid0IHdhbnQgdG8gbG9zZSB0aGUgIkhXIGRvY3VtZW50YXRpb24iIHBhcnQgb2YgdGhhdCwg SSd2ZQp0dXJuZWQgdGhlIGFib3ZlIGludG8gYSBjb21tZW50OgoKICAgICAgLyoKCSogV2UgZG8g Kk5PVCogc2V0IHRoZSBWSFVCX0NUUkxfQ0xLX1NUT1BfU1VTUEVORCBiaXQKCSogdG8gc3RvcCB0 aGUgbG9naWMgY2xvY2sgZHVyaW5nIHN1c3BlbmQgYmVjYXVzZQoJKiBpdCBjYXVzZXMgdGhlIHJl Z2lzdGVycyB0byBiZWNvbWUgaW5hY2Nlc3NpYmxlIGFuZAoJKiB3ZSBoYXZlbid0IHlldCBmaWd1 cmVkIG91dCBhIGdvb2Qgd2F5dCB0byBicmluZyB0aGUKCSogY29udHJvbGxlciBiYWNrIGludG8g bGlmZSB0byBpc3N1ZSBhIHdha2V1cC4KCSovCgpJdCB3aWxsIGJlIGluIHY1IHdoZW4gSSBwb3N0 IGl0IChJJ2xsIHRlc3QgYSBiaXQgbW9yZSBhbmQgd2FpdApmb3Igb3RoZXIgcmVwbGllcyBmcm9t IHlvdSwgaWYgSSBkb24ndCBoZWFyIGJhY2sgSSdsbCBwcm9iYWJseSBzZW5kCml0IGJ5IGVuZCBv ZiB3ZWVrIG9yIG5leHQgd2VlaykuCgo+ID4gPiArICAgLyoKPiA+ID4gKyAgICAqIFNldCBzb21l IElTTyAmIHNwbGl0IGNvbnRyb2wgYml0cyBhY2NvcmRpbmcgdG8gQXNwZWVkCj4gPiA+ICsgICAg KiByZWNvbW1lbmRhdGlvbgo+ID4gPiArICAgICoKPiA+ID4gKyAgICAqIFZIVUJfQ1RSTF9JU09f UlNQX0NUUkw6IFdoZW4gc2V0IHRlbGxzIHRoZSBIVyB0byByZXNwb25kCj4gPiA+ICsgICAgKiB3 aXRoIDAgYnl0ZXMgZGF0YSBwYWNrZXQgdG8gSVNPIElOIGVuZHBvaW50cyB3aGVuIG5vIGRhdGEK PiA+ID4gKyAgICAqIGlzIGF2YWlsYWJsZS4KPiA+ID4gKyAgICAqCj4gPiA+ICsgICAgKiBWSFVC X0NUUkxfU1BMSVRfSU46IFRoaXMgbWFrZXMgYSBTT0YgY29tcGxldGUgYSBzcGxpdCBJTgo+ID4g PiArICAgICogdHJhbnNhY3Rpb24uCj4gPiA+ICsgICAgKi8KPiA+ID4gKyAgIGN0cmwgfD0gVkhV Ql9DVFJMX0lTT19SU1BfQ1RSTCB8IFZIVUJfQ1RSTF9TUExJVF9JTjsKPiA+ID4gKyAgIHdyaXRl bChjdHJsLCB2aHViLT5yZWdzICsgQVNUX1ZIVUJfQ1RSTCk7Cj4gPiA+ICsgICB1ZGVsYXkoMSk7 Cj4gPiA+ICsKPiA+ID4gKyAgIC8qIFNldCBkZXNjcmlwdG9yIHJpbmcgc2l6ZSAqLwo+ID4gPiAr I2lmIEFTVF9WSFVCX0RFU0NTX0NPVU5UID09IDI1Ngo+ID4gPiArICAgY3RybCB8PSBWSFVCX0NU UkxfTE9OR19ERVNDOwo+ID4gPiArICAgd3JpdGVsKGN0cmwsIHZodWItPnJlZ3MgKyBBU1RfVkhV Ql9DVFJMKTsKPiA+ID4gKyNlbGlmIEFTVF9WSFVCX0RFU0NTX0NPVU5UICE9IDMyCj4gPiA+ICsg ICAjZXJyb3IgSW52YWxpZCBBU1RfVkhVQl9ERVNDU19DT1VOVAo+ID4gPiArI2VuZGlmCj4gPiAK PiA+IGZpbmQgYSBiZXR0ZXIgd2F5IGZvciB0aGlzLiBObyBpZmRlZnMKPiAKPiBVZ2ggPyBXaGF0 J3MgdGhhdCBydWxlID8gSSBjb3VsZCBkbyBhIG1vZHVsZSBwYXJhbWV0ZXIgYnV0IHlvdSBoYXRl Cj4gdGhhdCB0b28gYW5kIGhvbmVzdGx5IGtlZXBpbmcgdGhhdCBhbiBpZmRlZiBtYWtlcyB0aGlu Z3MgZWFzaWVyLiBJdCdzCj4gbm90IG1lYW50IHRvIGJlIGNoYW5nZWQgdW5sZXNzIGEgaGFyZHdh cmUgb3IgcGVyZm9ybWFuY2UgaXNzdWVzIHNob3dzCj4gdXAsIEkgd2FudGVkIHRvIGtlZXAgYm90 aCBtb2RlIG9mIG9wZXJhdGlvbnMgYXZhaWxhYmxlLgoKT2ggd2VsbCwgSSd2ZSBqdXN0IG1hZGUg aXQgYW4gaWYgKCkgYW5kIGtlcHQgdGhlICNkZWZpbmUsIGFuZCB0aGUKI2Vycm9yIHR1cm5zIGlu dG8gYSBCVUlMRF9CVUdfT04oKS4gU2FtZSBwcmluY2lwbGUuLi4gYnV0IEkgZG9uJ3QKbGlrZSB0 aG9zZSBhcmJpdHJhcnkgInJ1bGVzIiwgSSB0cnkgdG8gYXZvaWQgdGhlbSBmb3IgdGhpbmdzIEkK bWFpbnRhaW4gKGdyYW50ZWQsIG5vdCBtdWNoIGFueW1vcmUgdGhlc2UgZGF5cykuCgpEbyB5b3Ug aGF2ZSBtb3JlIGNvbW1lbnRzIGZvciB0aGUgcmVzdCBvZiB0aGUgZHJpdmVyIG9yIHRoYXQncyBp dCA/CgpDaGVlcnMsCkJlbi4KLS0tClRvIHVuc3Vic2NyaWJlIGZyb20gdGhpcyBsaXN0OiBzZW5k IHRoZSBsaW5lICJ1bnN1YnNjcmliZSBsaW51eC11c2IiIGluCnRoZSBib2R5IG9mIGEgbWVzc2Fn ZSB0byBtYWpvcmRvbW9Admdlci5rZXJuZWwub3JnCk1vcmUgbWFqb3Jkb21vIGluZm8gYXQgIGh0 dHA6Ly92Z2VyLmtlcm5lbC5vcmcvbWFqb3Jkb21vLWluZm8uaHRtbAo=