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: [v5,4/6] usb: gadget: add mechanism to specify an explicit status stage From: Paul Elder Message-Id: <20190124024816.GG7331@localhost.localdomain> Date: Wed, 23 Jan 2019 21:48:16 -0500 To: Alan Stern Cc: laurent.pinchart@ideasonboard.com, kieran.bingham@ideasonboard.com, b-liu@ti.com, rogerq@ti.com, balbi@kernel.org, gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org List-ID: T24gV2VkLCBKYW4gMjMsIDIwMTkgYXQgMDQ6MTA6MTJQTSAtMDUwMCwgQWxhbiBTdGVybiB3cm90 ZToKPiBPbiBNb24sIDE0IEphbiAyMDE5LCBQYXVsIEVsZGVyIHdyb3RlOgo+IAo+ID4gT24gRnJp LCBKYW4gMTEsIDIwMTkgYXQgMTA6NTA6MTFBTSAtMDUwMCwgQWxhbiBTdGVybiB3cm90ZToKPiA+ ID4gT24gRnJpLCAxMSBKYW4gMjAxOSwgUGF1bCBFbGRlciB3cm90ZToKPiA+ID4gCj4gPiA+ID4g T24gV2VkLCBKYW4gMDksIDIwMTkgYXQgMDI6MDY6MzFQTSAtMDUwMCwgQWxhbiBTdGVybiB3cm90 ZToKPiA+ID4gPiA+IE9uIFdlZCwgOSBKYW4gMjAxOSwgUGF1bCBFbGRlciB3cm90ZToKPiA+ID4g PiA+IAo+ID4gPiA+ID4gPiBBIHVzYiBnYWRnZXQgZnVuY3Rpb24gZHJpdmVyIG1heSBvciBtYXkg bm90IHdhbnQgdG8gZGVsYXkgdGhlIHN0YXR1cwo+ID4gPiA+ID4gPiBzdGFnZSBvZiBhIGNvbnRy b2wgT1VUIHJlcXVlc3QuIEFuIGluc3RhbmNlIHdoZXJlIGl0IG1pZ2h0IHdhbnQgdG8gaXMgdG8K PiA+ID4gPiA+ID4gYXN5bmNocm9ub3VzbHkgdmFsaWRhdGUgdGhlIGRhdGEgb2YgYSBjbGFzcy1z cGVjaWZpYyByZXF1ZXN0Lgo+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gQSBmdW5jdGlvbiBkcml2 ZXIgdGhhdCB3YW50cyBhbiBleHBsaWNpdCBzdGF0dXMgc3RhZ2Ugc2hvdWxkIHNldCB0aGUKPiA+ ID4gPiA+ID4gbmV3bHkgYWRkZWQgZXhwbGljaXRfc3RhdHVzIGZsYWcgb2YgdGhlIHVzYl9yZXF1 ZXN0IGNvcnJlc3BvbmRpbmcgdG8gdGhlCj4gPiA+ID4gPiA+IGRhdGEgc3RhZ2UuIExhdGVyIG9u LCB0aGUgZnVuY3Rpb24gZHJpdmVyIGNhbiBleHBsaWNpdGx5IGNvbXBsZXRlIHRoZQo+ID4gPiA+ ID4gPiBzdGF0dXMgc3RhZ2UgYnkgZW5xdWV1ZWluZyBhIHVzYl9yZXF1ZXN0IGZvciBBQ0ssIG9y IGNhbGxpbmcKPiA+ID4gPiA+ID4gdXNiX2VwX3NldF9oYWx0KCkgZm9yIFNUQUxMLgo+ID4gPiA+ ID4gPiAKPiA+ID4gPiA+ID4gVG8gc3VwcG9ydCBib3RoIGV4cGxpY2l0IGFuZCBpbXBsaWNpdCBz dGF0dXMgc3RhZ2VzLCBhIFVEQyBkcml2ZXIgbXVzdAo+ID4gPiA+ID4gPiBjYWxsIHRoZSBuZXds eSBhZGRlZCB1c2JfZ2FkZ2V0X2NvbnRyb2xfY29tcGxldGUgZnVuY3Rpb24gcmlnaHQgYmVmb3Jl Cj4gPiA+ID4gPiA+IGNhbGxpbmcgdXNiX2dhZGdldF9naXZlYmFja19yZXF1ZXN0LiBUbyBzdXBw b3J0IHRoZSBleHBsaWNpdCBzdGF0dXMKPiA+ID4gPiA+ID4gc3RhZ2UsIGl0IG1pZ2h0IHRoZW4g Y2hlY2sgd2hhdCBzdGFnZSB0aGUgdXNiX3JlcXVlc3Qgd2FzIHF1ZXVlZCBpbiwgYW5kCj4gPiA+ ID4gPiA+IGZvciBjb250cm9sIElOIEFDSyB0aGUgaG9zdCdzIHplcm8tbGVuZ3RoIGRhdGEgcGFj a2V0LCBvciBmb3IgY29udHJvbAo+ID4gPiA+ID4gPiBPVVQgc2VuZCBhIHplcm8tbGVuZ3RoIERB VEExIEFDSyBwYWNrZXQuCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBQ YXVsIEVsZGVyIDxwYXVsLmVsZGVyQGlkZWFzb25ib2FyZC5jb20+Cj4gPiA+ID4gPiA+IHY0IEFj a2VkLWJ5OiBBbGFuIFN0ZXJuIDxzdGVybkByb3dsYW5kLmhhcnZhcmQuZWR1Pgo+ID4gPiA+ID4g PiB2MSBSZXZpZXdlZC1ieTogTGF1cmVudCBQaW5jaGFydCA8bGF1cmVudC5waW5jaGFydEBpZGVh c29uYm9hcmQuY29tPgo+ID4gPiA+ID4gCj4gPiA+ID4gPiBUaGlzIGxvb2tzIGdvb2QgYW5kIGhh cyBwYXNzZWQgbXkgdGVzdHMgc28gZmFyLgo+ID4gPiA+IAo+ID4gPiA+IEdvb2QhIFRoYW5rIHlv dSA6KQo+ID4gPiA+IAo+ID4gPiA+ID4gQ2FuIHlvdSBjaGVjayB5b3VyIHV2Ywo+ID4gPiA+ID4g Y2hhbmdlcyB1c2luZyBkdW1teV9oY2Qgd2l0aCB0aGUgcGF0Y2ggYmVsb3c/Cj4gPiA+ID4gCj4g PiA+ID4gSSdtIG5vdCBzdXJlIHdoYXQgdG8gbWFrZSBvZiB0aGUgdGVzdCByZXN1bHRzLiBJIGdl dCB0aGUgc2FtZSByZXN1bHRzCj4gPiA+ID4gd2l0aCBvciB3aXRob3V0IHRoZSBwYXRjaC4gV2hp Y2ggSSBndWVzcyBtYWtlcyBzZW5zZS4uLiBpbiBkdW1teV9xdWV1ZSwKPiA+ID4gPiB0aGlzIGlz IGdldHRpbmcgaGl0IHdoZW4gdGhlIHV2YyBmdW5jdGlvbiBkcml2ZXIgdHJpZXMgdG8gY29tcGxl dGUgdGhlCj4gPiA+ID4gZGVsYXllZCBzdGF0dXM6Cj4gPiA+ID4gCj4gPiA+ID4gCXJlcSA9IHVz Yl9yZXF1ZXN0X3RvX2R1bW15X3JlcXVlc3QoX3JlcSk7Cj4gPiA+ID4gCWlmICghX3JlcSB8fCAh bGlzdF9lbXB0eSgmcmVxLT5xdWV1ZSkgfHwgIV9yZXEtPmNvbXBsZXRlKQo+ID4gPiA+IAkJcmV0 dXJuIC1FSU5WQUw7Cj4gPiA+ID4gCj4gPiA+ID4gU28gdGhlIGRlbGF5ZWQvZXhwbGljaXQgc3Rh dHVzIHN0YWdlIGlzIG5ldmVyIGNvbXBsZXRlZCwgYWZhaWN0Lgo+ID4gPiAKPiA+ID4gSSBwcmVz dW1lIHlvdSBhcmUgaGl0dGluZyB0aGUgIWxpc3RfZW1wdHkoJnJlcS0+cXVldWUpIHRlc3QsIHll cz8gIFRoZSAKPiA+ID4gb3RoZXIgdHdvIHRlc3RzIGFyZSB0cml2aWFsLgo+ID4gCj4gPiBZZXMs IHRoYXQgaXMgd2hhdCdzIGhhcHBlbmluZy4KPiA+IAo+ID4gPiBUcmlnZ2VyaW5nIHRoZSAhbGlz dF9lbXB0eSgpIHRlc3QgbWVhbnMgdGhlIHJlcXVlc3QgaGFzIGFscmVhZHkgYmVlbgo+ID4gPiBz dWJtaXR0ZWQgYW5kIG5vdCB5ZXQgY29tcGxldGVkLiAgVGhpcyBwcm9iYWJseSBpbmRpY2F0ZXMg dGhlcmUgaXMgYQo+ID4gPiBidWcgaW4gdGhlIHV2YyBmdW5jdGlvbiBkcml2ZXIgY29kZS4KPiA+ IAo+ID4gVGhlIHV2YyBmdW5jdGlvbiBkcml2ZXIgd29ya3Mgd2l0aCBtdXNiLCB0aG91Z2ggOi8K PiAKPiBEaWQgeW91IGV2ZXIgZmlndXJlIG91dCB0aGUgcmVhc29uIGZvciB0aGUgIiFsaXN0X2Vt cHR5KCZyZXEtPnF1ZXVlKSIgCj4gZXJyb3Igd2l0aCBkdW1teV9oY2Q/ICBXYXMgaXQgcmVsYXRl ZCB0byB0aGUgY29uZnVzaW9uIGFib3V0IGNvbXBsZXRpb24gCj4gY2FsbGJhY2tzIGZvciBzdGF0 dXMgcmVxdWVzdHM/CgpZZWFoLCBJJ20gcHJldHR5IHN1cmUgdGhhdCdzIHdoYXQgd2FzIGhhcHBl bmluZy4gV2l0aCB3aGF0IEkgcHJldmlvdXNseQpoYWQgdGhlIHV2YyBmdW5jdGlvbiBkcml2ZXIg d2Fzbid0IGV4cGVjdGluZyBhIGNvbXBsZXRpb24gY2FsbGJhY2sgZm9yCnRoZSBzdGF0dXMgc3Rh Z2UgYnV0IHRoZSBPVVQgcmVxdWVzdCBmbGFnIHdhcyBzZXQgc28gaXQganVzdCBrZXB0CnNlbmRp bmcgdGhlIGRhdGEgc3RhZ2UgZGF0YSB0byB1c2Vyc3BhY2UgYW5kIHVzZXJzcGFjZSBrZXB0IGNh bGxpbmcgdGhlCmlvY3RsIHRvIHNlbmQgdGhlIHN0YXR1cyBzdGFnZSB3aGljaCBrZXB0IGNhbGxp bmcgdGhlIGNvbXBsZXRpb24KY2FsbGJhY2sgYW5kIHNvIG9uLCB1bnRpbCB0aGUgZHVtbXlfaGNk IHRpbWVyIHRyaWdnZXJlZCBhbmQgdGhlIG5leHQKcmVxdWVzdCBjYW1lIGluLgoKPiBJbnRlcmVz dGluZyBuZXcgcXVlc3Rpb246IEhvdyBkb2VzIHlvdXIgY29kZSBpbiBtdXNiIHRlbGwgdGhlCj4g ZGlmZmVyZW5jZSBiZXR3ZWVuIGEgMC1sZW5ndGggZGF0YS1zdGFnZSByZXBseSB0byBhIGNvbnRy b2wtSU4KPiB0cmFuc2ZlciwgYW5kIGEgc3RhdHVzLXN0YWdlIHJlcXVlc3Q/ICBCb3RoIHdvdWxk IGFwcGVhciB0byB0aGUgVURDCj4gZHJpdmVyIGFzIDAtbGVuZ3RoIHJlcXVlc3Qgc3VibWlzc2lv bnMgZm9yIGVwMC4KPiBEbyB5b3UgZXhwbGljaXRseSBrZWVwIHRyYWNrIG9mIHdoZXRoZXIgdGhl IGRhdGEgc3RhZ2UgaXMgcGVuZGluZz8KCm11c2IgaGFzIGEgc3RhdGUgbWFjaGluZSB0byBrZWVw IHRyYWNrIG9mIHdoaWNoIHN0YWdlIGl0J3MgaW4sIHNvIEkKanVzdCBjb3VudCB3aGF0ZXZlciBp cyBxdWV1ZWQgZHVyaW5nIHRoZSBzdGF0dXMtSU4gc3RhZ2UgYXMgYQpzdGF0dXMtc3RhZ2UgcmVx dWVzdCBmb3IgY29udHJvbCBPVVQgcmVxdWVzdHMuIE5vdyB0aGF0IHlvdSBtZW50aW9uIGl0LApJ IGRvbid0IGFjdHVhbGx5IGNoZWNrIHRoYXQgdGhlIHF1ZXVlZCByZXF1ZXN0J3MgbGVuZ3RoIGlz IHplcm8gdGhlcmUuLi4KZ290dGEgZml4IHRoYXQuCgoKUGF1bAo=