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: [5/6] usb: musb: gadget: implement send_response From: Paul Elder Message-Id: <20181010024903.1633-6-paul.elder@ideasonboard.com> Date: Tue, 9 Oct 2018 22:49:02 -0400 To: laurent.pinchart@ideasonboard.com, kieran.bingham@ideasonboard.com Cc: Paul Elder , b-liu@ti.com, gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, balbi@kernel.org, stern@rowland.harvard.edu, rogerq@ti.com List-ID: VGhpcyBwYXRjaCBpbXBsZW1lbnRzIGEgbWVjaGFuaXNtIHRvIHNpZ25hbCB0aGUgTVVTQiBkcml2 ZXIgdG8gcmVwbHkgdG8KYSBjb250cm9sIE9VVCByZXF1ZXN0IHdpdGggU1RBTEwgb3IgQUNLLgoK U2lnbmVkLW9mZi1ieTogUGF1bCBFbGRlciA8cGF1bC5lbGRlckBpZGVhc29uYm9hcmQuY29tPgpS ZXZpZXdlZC1ieTogTGF1cmVudCBQaW5jaGFydCA8bGF1cmVudC5waW5jaGFydEBpZGVhc29uYm9h cmQuY29tPgotLS0KIGRyaXZlcnMvdXNiL211c2IvbXVzYl9nYWRnZXRfZXAwLmMgfCA0MSArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA0MSBpbnNlcnRpb25z KCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvbXVzYi9tdXNiX2dhZGdldF9lcDAuYyBiL2Ry aXZlcnMvdXNiL211c2IvbXVzYl9nYWRnZXRfZXAwLmMKaW5kZXggOTFhNTAyN2I1YzFmLi5mMGVk MWY3NDcyYTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL211c2IvbXVzYl9nYWRnZXRfZXAwLmMK KysrIGIvZHJpdmVycy91c2IvbXVzYi9tdXNiX2dhZGdldF9lcDAuYwpAQCAtNDU4LDYgKzQ1OCwy NSBAQCBfX2FjcXVpcmVzKG11c2ItPmxvY2spCiAJcmV0dXJuIGhhbmRsZWQ7CiB9CiAKK3N0YXRp YyBpbnQgZXAwX3NlbmRfcmVzcG9uc2Uoc3RydWN0IG11c2IgKm11c2IsIGJvb2wgc3RhbGwpCit7 CisJdm9pZCBfX2lvbWVtICpyZWdzID0gbXVzYi0+Y29udHJvbF9lcC0+cmVnczsKKwl1MTYgYWNr cGVuZDsKKworCWlmIChtdXNiLT5lcDBfc3RhdGUgIT0gTVVTQl9FUDBfU1RBR0VfUlggJiYKKwkg ICAgbXVzYi0+ZXAwX3N0YXRlICE9IE1VU0JfRVAwX1NUQUdFX1NUQVRVU0lOKQorCQlyZXR1cm4g LUVJTlZBTDsKKworCWFja3BlbmQgPSBNVVNCX0NTUjBfUF9EQVRBRU5ECisJCXwgTVVTQl9DU1Iw X1BfU1ZEUlhQS1RSRFkKKwkJfCAoc3RhbGwgPyBNVVNCX0NTUjBfUF9TRU5EU1RBTEwgOiAwKTsK KworCW11c2JfZXBfc2VsZWN0KG11c2ItPm1yZWdzLCAwKTsKKwltdXNiX3dyaXRldyhyZWdzLCBN VVNCX0NTUjAsIGFja3BlbmQpOworCisJcmV0dXJuIDA7Cit9CisKIC8qIHdlIGhhdmUgYW4gZXAw b3V0IGRhdGEgcGFja2V0CiAgKiBDb250ZXh0OiAgY2FsbGVyIGhvbGRzIGNvbnRyb2xsZXIgbG9j awogICovCkBAIC00NjYsMTAgKzQ4NSwxMyBAQCBzdGF0aWMgdm9pZCBlcDBfcnhzdGF0ZShzdHJ1 Y3QgbXVzYiAqbXVzYikKIAl2b2lkIF9faW9tZW0JCSpyZWdzID0gbXVzYi0+Y29udHJvbF9lcC0+ cmVnczsKIAlzdHJ1Y3QgbXVzYl9yZXF1ZXN0CSpyZXF1ZXN0OwogCXN0cnVjdCB1c2JfcmVxdWVz dAkqcmVxOworCXN0cnVjdCB1c2JfZXAJCSplcDsKIAl1MTYJCQljb3VudCwgY3NyOworCWJvb2wJ CQlsYXN0X3BhY2tldCA9IGZhbHNlOwogCiAJcmVxdWVzdCA9IG5leHRfZXAwX3JlcXVlc3QobXVz Yik7CiAJcmVxID0gJnJlcXVlc3QtPnJlcXVlc3Q7CisJZXAgPSAmcmVxdWVzdC0+ZXAtPmVuZF9w b2ludDsKIAogCS8qIHJlYWQgcGFja2V0IGFuZCBhY2s7IG9yIHN0YWxsIGJlY2F1c2Ugb2YgZ2Fk Z2V0IGRyaXZlciBidWc6CiAJICogc2hvdWxkIGhhdmUgcHJvdmlkZWQgdGhlIHJ4IGJ1ZmZlciBi ZWZvcmUgc2V0dXAoKSByZXR1cm5lZC4KQEAgLTQ5Miw2ICs1MTQsNyBAQCBzdGF0aWMgdm9pZCBl cDBfcnhzdGF0ZShzdHJ1Y3QgbXVzYiAqbXVzYikKIAkJaWYgKGNvdW50IDwgNjQgfHwgcmVxLT5h Y3R1YWwgPT0gcmVxLT5sZW5ndGgpIHsKIAkJCW11c2ItPmVwMF9zdGF0ZSA9IE1VU0JfRVAwX1NU QUdFX1NUQVRVU0lOOwogCQkJY3NyIHw9IE1VU0JfQ1NSMF9QX0RBVEFFTkQ7CisJCQlsYXN0X3Bh Y2tldCA9IHRydWU7CiAJCX0gZWxzZQogCQkJcmVxID0gTlVMTDsKIAl9IGVsc2UKQEAgLTUwOCw2 ICs1MzEsMTAgQEAgc3RhdGljIHZvaWQgZXAwX3J4c3RhdGUoc3RydWN0IG11c2IgKm11c2IpCiAJ CQlyZXR1cm47CiAJCW11c2ItPmFja3BlbmQgPSAwOwogCX0KKworCWlmIChsYXN0X3BhY2tldCAm JiBlcC0+ZGVsYXllZF9zdGF0dXMpCisJCXJldHVybjsKKwogCW11c2JfZXBfc2VsZWN0KG11c2It Pm1yZWdzLCAwKTsKIAltdXNiX3dyaXRldyhyZWdzLCBNVVNCX0NTUjAsIGNzcik7CiB9CkBAIC05 OTEsNiArMTAxOCwxOSBAQCBzdGF0aWMgaW50IG11c2JfZ19lcDBfZGVxdWV1ZShzdHJ1Y3QgdXNi X2VwICplcCwgc3RydWN0IHVzYl9yZXF1ZXN0ICpyZXEpCiAJcmV0dXJuIC1FSU5WQUw7CiB9CiAK K3N0YXRpYyBpbnQgbXVzYl9nX2VwMF9zZW5kX3Jlc3BvbnNlKHN0cnVjdCB1c2JfZXAgKmUsIGJv b2wgc3RhbGwpCit7CisJc3RydWN0IG11c2JfZXAgKmVwID0gdG9fbXVzYl9lcChlKTsKKwlzdHJ1 Y3QgbXVzYiAqbXVzYiA9IGVwLT5tdXNiOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJaW50IHJl dDsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZtdXNiLT5sb2NrLCBmbGFncyk7CisJcmV0ID0gZXAw X3NlbmRfcmVzcG9uc2UobXVzYiwgc3RhbGwpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm11 c2ItPmxvY2ssIGZsYWdzKTsKKwlyZXR1cm4gcmV0OworfQorCiBzdGF0aWMgaW50IG11c2JfZ19l cDBfaGFsdChzdHJ1Y3QgdXNiX2VwICplLCBpbnQgdmFsdWUpCiB7CiAJc3RydWN0IG11c2JfZXAJ CSplcDsKQEAgLTEwNTksNCArMTA5OSw1IEBAIGNvbnN0IHN0cnVjdCB1c2JfZXBfb3BzIG11c2Jf Z19lcDBfb3BzID0gewogCS5xdWV1ZQkJPSBtdXNiX2dfZXAwX3F1ZXVlLAogCS5kZXF1ZXVlCT0g bXVzYl9nX2VwMF9kZXF1ZXVlLAogCS5zZXRfaGFsdAk9IG11c2JfZ19lcDBfaGFsdCwKKwkuc2Vu ZF9yZXNwb25zZSAgPSBtdXNiX2dfZXAwX3NlbmRfcmVzcG9uc2UsCiB9Owo=