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: [02/12] usb: usbtmc: Support Read Status Byte with SRQ per file handle From: Greg Kroah-Hartman Message-Id: <20180517162014.GA6133@kroah.com> Date: Thu, 17 May 2018 18:20:14 +0200 To: Guido Kiener Cc: linux-usb@vger.kernel.org, guido.kiener@rohde-schwarz.com, pankaj.adhikari@ni.com, steve_bayless@keysight.com, dpenkler@gmail.com List-ID: T24gVGh1LCBNYXkgMTcsIDIwMTggYXQgMDc6MDM6MjZQTSArMDIwMCwgR3VpZG8gS2llbmVyIHdy b3RlOgo+IC0gQWRkICdzdHJ1Y3QgdXNidG1jX2ZpbGVfZGF0YScgZm9yIGVhY2ggZmlsZSBoYW5k bGUgdG8gY2FjaGUgbGFzdAo+ICAgc3JxX2J5dGUgKD1TdGF0dXMgQnl0ZSB3aXRoIFNSUSkgcmVj ZWl2ZWQgYnkgdXNidG1jX2ludGVycnVwdCguLikKPiAKPiAtIHVzYnRtYzQ4OF9pb2N0bF9yZWFk X3N0YiByZXR1cm5zIGNhY2hlZCBzcnFfYnl0ZSB3aGVuIGF2YWlsYWJsZSBmb3IKPiAgIGVhY2gg ZmlsZSBoYW5kbGUgdG8gYXZvaWQgcmFjZSBjb25kaXRpb25zIG9mIGNvbmN1cnJlbnQgYXBwbGlj YXRpb25zLgo+IAo+IC0gU1JRIG5vdyBzZXRzIEVQT0xMUFJJIGluc3RlYWQgb2YgRVBPTExJTgo+ IAo+IC0gQ2FjaGVzIG90aGVyIHZhbHVlcyBUZXJtQ2hhciwgVGVybUNoYXJFbmFibGVkLCBhdXRv X2Fib3J0IGluCj4gICAnc3RydWN0IHVzYnRtY19maWxlX2RhdGEnIHdpbGwgbm90IGJlIGNoYW5n ZWQgYnkgc3lzZnMgZGV2aWNlCj4gICBhdHRyaWJ1dGVzIGR1cmluZyBhbiBvcGVuIGZpbGUgc2Vz c2lvbi4KPiAgIEZ1dHVyZSBpb2N0bCBmdW5jdGlvbnMgY2FuIGNoYW5nZSB0aGVzZSB2YWx1ZXMu Cj4gCj4gLSB1c2UgY29uc2lzdGVudCBlcnJvciByZXR1cm4gdmFsdWUgRVRJTUVPVVQgaW5zdGVh ZCBvZiBFVElNRQo+IAo+IFRlc3RlZC1ieTogRGF2ZSBQZW5rbGVyIDxkcGVua2xlckBnbWFpbC5j b20+Cj4gUmV2aWV3ZWQtYnk6IFN0ZXZlIEJheWxlc3MgPHN0ZXZlX2JheWxlc3NAa2V5c2lnaHQu Y29tPgo+IFNpZ25lZC1vZmYtYnk6IEd1aWRvIEtpZW5lciA8Z3VpZG8ua2llbmVyQHJvaGRlLXNj aHdhcnouY29tPgo+IC0tLQo+ICBkcml2ZXJzL3VzYi9jbGFzcy91c2J0bWMuYyB8IDE3NiArKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAxMzYg aW5zZXJ0aW9ucygrKSwgNDAgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv dXNiL2NsYXNzL3VzYnRtYy5jIGIvZHJpdmVycy91c2IvY2xhc3MvdXNidG1jLmMKPiBpbmRleCA1 MjkyOTVhMTc1NzkuLjU3NTQzNTQ0MjlkOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3VzYi9jbGFz cy91c2J0bWMuYwo+ICsrKyBiL2RyaXZlcnMvdXNiL2NsYXNzL3VzYnRtYy5jCj4gQEAgLTY3LDYg KzY3LDcgQEAgc3RydWN0IHVzYnRtY19kZXZpY2VfZGF0YSB7Cj4gIAljb25zdCBzdHJ1Y3QgdXNi X2RldmljZV9pZCAqaWQ7Cj4gIAlzdHJ1Y3QgdXNiX2RldmljZSAqdXNiX2RldjsKPiAgCXN0cnVj dCB1c2JfaW50ZXJmYWNlICppbnRmOwo+ICsJc3RydWN0IGxpc3RfaGVhZCBmaWxlX2xpc3Q7Cj4g IAo+ICAJdW5zaWduZWQgaW50IGJ1bGtfaW47Cj4gIAl1bnNpZ25lZCBpbnQgYnVsa19vdXQ7Cj4g QEAgLTg3LDEyICs4OCwxMiBAQCBzdHJ1Y3QgdXNidG1jX2RldmljZV9kYXRhIHsKPiAgCWludCAg ICAgICAgICAgIGlpbl9pbnRlcnZhbDsKPiAgCXN0cnVjdCB1cmIgICAgKmlpbl91cmI7Cj4gIAl1 MTYgICAgICAgICAgICBpaW5fd01heFBhY2tldFNpemU7Cj4gLQlhdG9taWNfdCAgICAgICBzcnFf YXNzZXJ0ZWQ7Cj4gIAo+ICAJLyogY29hbGVzY2VkIHVzYjQ4OF9jYXBzIGZyb20gdXNidG1jX2Rl dl9jYXBhYmlsaXRpZXMgKi8KPiAgCV9fdTggdXNiNDg4X2NhcHM7Cj4gIAo+ICAJLyogYXR0cmli dXRlcyBmcm9tIHRoZSBVU0IgVE1DIHNwZWMgZm9yIHRoaXMgZGV2aWNlICovCj4gKwkvKiBUaGV5 IGFyZSB1c2VkIGFzIGRlZmF1bHQgdmFsdWVzIGZvciBmaWxlX2RhdGEgKi8KPiAgCXU4IFRlcm1D aGFyOwo+ICAJYm9vbCBUZXJtQ2hhckVuYWJsZWQ7Cj4gIAlib29sIGF1dG9fYWJvcnQ7Cj4gQEAg LTEwNCw5ICsxMDUsMjYgQEAgc3RydWN0IHVzYnRtY19kZXZpY2VfZGF0YSB7Cj4gIAlzdHJ1Y3Qg bXV0ZXggaW9fbXV0ZXg7CS8qIG9ubHkgb25lIGkvbyBmdW5jdGlvbiBydW5uaW5nIGF0IGEgdGlt ZSAqLwo+ICAJd2FpdF9xdWV1ZV9oZWFkX3Qgd2FpdHE7Cj4gIAlzdHJ1Y3QgZmFzeW5jX3N0cnVj dCAqZmFzeW5jOwo+ICsJc3BpbmxvY2tfdCBkZXZfbG9jazsgLyogbG9jayBmb3IgZmlsZV9saXN0 ICovCj4gIH07Cj4gICNkZWZpbmUgdG9fdXNidG1jX2RhdGEoZCkgY29udGFpbmVyX29mKGQsIHN0 cnVjdCB1c2J0bWNfZGV2aWNlX2RhdGEsIGtyZWYpCj4gIAo+ICsvKgo+ICsgKiBUaGlzIHN0cnVj dHVyZSBob2xkcyBwcml2YXRlIGRhdGEgZm9yIGVhY2ggVVNCVE1DIGZpbGUgaGFuZGxlLgo+ICsg Ki8KPiArc3RydWN0IHVzYnRtY19maWxlX2RhdGEgewo+ICsJc3RydWN0IHVzYnRtY19kZXZpY2Vf ZGF0YSAqZGF0YTsKPiArCXN0cnVjdCBsaXN0X2hlYWQgZmlsZV9lbGVtOwo+ICsKPiArCXU4ICAg ICAgICAgICAgIHNycV9ieXRlOwo+ICsJYXRvbWljX3QgICAgICAgc3JxX2Fzc2VydGVkOwo+ICsK PiArCS8qIFRoZXNlIHZhbHVlcyBhcmUgaW5pdGlhbGl6ZWQgd2l0aCBkZWZhdWx0IHZhbHVlcyBm cm9tIGRldmljZV9kYXRhICovCj4gKwl1OCAgICAgICAgICAgICBUZXJtQ2hhcjsKPiArCWJvb2wg ICAgICAgICAgIFRlcm1DaGFyRW5hYmxlZDsKCkkgZG9uJ3QgcmVtZW1iZXIsIGRvZXMgVGVybUNo YXIgYW5kIFRlcm1DaGFyRW5hYmxlZCBjb21lIGZyb20gYQpzcGVjaWZpY2F0aW9uIHNvbWV3aGVy ZT8gIElzIHRoYXQgd2h5IHRoZXkgYXJlIGluIEludGVyQ2FwcyBmb3JtYXQ/CgpBbmQgd2h5IGR1 cGxpY2F0ZSB0aGVzZSBmaWVsZHMgYXMgdGhleSBhcmUgYWxyZWFkeSBpbiB0aGUKZGV2aWNlLXNw ZWNpZmljIGRhdGEgc3RydWN0dXJlPwoKPiArCWJvb2wgICAgICAgICAgIGF1dG9fYWJvcnQ7Cj4g K307Cj4gKwo+ICAvKiBGb3J3YXJkIGRlY2xhcmF0aW9ucyAqLwo+ICBzdGF0aWMgc3RydWN0IHVz Yl9kcml2ZXIgdXNidG1jX2RyaXZlcjsKPiAgCj4gQEAgLTExNCw2ICsxMzIsNyBAQCBzdGF0aWMg dm9pZCB1c2J0bWNfZGVsZXRlKHN0cnVjdCBrcmVmICprcmVmKQo+ICB7Cj4gIAlzdHJ1Y3QgdXNi dG1jX2RldmljZV9kYXRhICpkYXRhID0gdG9fdXNidG1jX2RhdGEoa3JlZik7Cj4gIAo+ICsJcHJf ZGVidWcoIiVzIC0gY2FsbGVkXG4iLCBfX2Z1bmNfXyk7Cj4gIAl1c2JfcHV0X2RldihkYXRhLT51 c2JfZGV2KTsKPiAgCWtmcmVlKGRhdGEpOwo+ICB9Cj4gQEAgLTEyMiw3ICsxNDEsNyBAQCBzdGF0 aWMgaW50IHVzYnRtY19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxw KQo+ICB7Cj4gIAlzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZjsKPiAgCXN0cnVjdCB1c2J0bWNf ZGV2aWNlX2RhdGEgKmRhdGE7Cj4gLQlpbnQgcmV0dmFsID0gMDsKPiArCXN0cnVjdCB1c2J0bWNf ZmlsZV9kYXRhICpmaWxlX2RhdGE7Cj4gIAo+ICAJaW50ZiA9IHVzYl9maW5kX2ludGVyZmFjZSgm dXNidG1jX2RyaXZlciwgaW1pbm9yKGlub2RlKSk7Cj4gIAlpZiAoIWludGYpIHsKPiBAQCAtMTMw LDIxICsxNDksNTQgQEAgc3RhdGljIGludCB1c2J0bWNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2Rl LCBzdHJ1Y3QgZmlsZSAqZmlscCkKPiAgCQlyZXR1cm4gLUVOT0RFVjsKPiAgCX0KPiAgCj4gKwlm aWxlX2RhdGEgPSBremFsbG9jKHNpemVvZigqZmlsZV9kYXRhKSwgR0ZQX0tFUk5FTCk7Cj4gKwlp ZiAoIWZpbGVfZGF0YSkKPiArCQlyZXR1cm4gLUVOT01FTTsKPiArCj4gKwlwcl9kZWJ1ZygiJXMg LSBjYWxsZWRcbiIsIF9fZnVuY19fKTsKClBsZWFzZSBkbyBub3QgYWRkICJ0cmFjaW5nIiBmdW5j dGlvbnMgbGlrZSB0aGlzLiAgVGhlIGtlcm5lbCBoYXMgYQp3b25kZXJmdWwgYnVpbHQtaW4gZnVu Y3Rpb24gdHJhY2luZyBmdW5jdGlvbmFsaXR5LCBkb24ndCB0cnkgdG8gd3JpdGUKeW91ciBvd24u ICBUaGVzZSBsaW5lcyBzaG91bGQganVzdCBiZSByZW1vdmVkLgoKCj4gKwo+ICAJZGF0YSA9IHVz Yl9nZXRfaW50ZmRhdGEoaW50Zik7Cj4gIAkvKiBQcm90ZWN0IHJlZmVyZW5jZSB0byBkYXRhIGZy b20gZmlsZSBzdHJ1Y3R1cmUgdW50aWwgcmVsZWFzZSAqLwo+ICAJa3JlZl9nZXQoJmRhdGEtPmty ZWYpOwo+ICAKPiArCW11dGV4X2xvY2soJmRhdGEtPmlvX211dGV4KTsKPiArCWZpbGVfZGF0YS0+ ZGF0YSA9IGRhdGE7Cj4gKwo+ICsJLyogY29weSBkZWZhdWx0IHZhbHVlcyBmcm9tIGRldmljZSBz ZXR0aW5ncyAqLwo+ICsJZmlsZV9kYXRhLT5UZXJtQ2hhciA9IGRhdGEtPlRlcm1DaGFyOwo+ICsJ ZmlsZV9kYXRhLT5UZXJtQ2hhckVuYWJsZWQgPSBkYXRhLT5UZXJtQ2hhckVuYWJsZWQ7Cj4gKwlm aWxlX2RhdGEtPmF1dG9fYWJvcnQgPSBkYXRhLT5hdXRvX2Fib3J0Owo+ICsKPiArCUlOSVRfTElT VF9IRUFEKCZmaWxlX2RhdGEtPmZpbGVfZWxlbSk7Cj4gKwlzcGluX2xvY2tfaXJxKCZkYXRhLT5k ZXZfbG9jayk7Cj4gKwlsaXN0X2FkZF90YWlsKCZmaWxlX2RhdGEtPmZpbGVfZWxlbSwgJmRhdGEt PmZpbGVfbGlzdCk7Cj4gKwlzcGluX3VubG9ja19pcnEoJmRhdGEtPmRldl9sb2NrKTsKPiArCW11 dGV4X3VubG9jaygmZGF0YS0+aW9fbXV0ZXgpOwo+ICsKPiAgCS8qIFN0b3JlIHBvaW50ZXIgaW4g ZmlsZSBzdHJ1Y3R1cmUncyBwcml2YXRlIGRhdGEgZmllbGQgKi8KPiAtCWZpbHAtPnByaXZhdGVf ZGF0YSA9IGRhdGE7Cj4gKwlmaWxwLT5wcml2YXRlX2RhdGEgPSBmaWxlX2RhdGE7Cj4gIAo+IC0J cmV0dXJuIHJldHZhbDsKPiArCXJldHVybiAwOwo+ICB9Cj4gIAo+ICBzdGF0aWMgaW50IHVzYnRt Y19yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQo+ICB7Cj4g LQlzdHJ1Y3QgdXNidG1jX2RldmljZV9kYXRhICpkYXRhID0gZmlsZS0+cHJpdmF0ZV9kYXRhOwo+ ICsJc3RydWN0IHVzYnRtY19maWxlX2RhdGEgKmZpbGVfZGF0YSA9IGZpbGUtPnByaXZhdGVfZGF0 YTsKPiAgCj4gLQlrcmVmX3B1dCgmZGF0YS0+a3JlZiwgdXNidG1jX2RlbGV0ZSk7Cj4gKwlwcl9k ZWJ1ZygiJXMgLSBjYWxsZWRcbiIsIF9fZnVuY19fKTsKCkFnYWluLCB0aGVzZSBhbGwgbmVlZCB0 byBiZSBkcm9wcGVkLgoKPiArCj4gKwkvKiBwcmV2ZW50IElPIF9BTkRfIHVzYnRtY19pbnRlcnJ1 cHQgKi8KPiArCW11dGV4X2xvY2soJmZpbGVfZGF0YS0+ZGF0YS0+aW9fbXV0ZXgpOwo+ICsJc3Bp bl9sb2NrX2lycSgmZmlsZV9kYXRhLT5kYXRhLT5kZXZfbG9jayk7Cj4gKwo+ICsJbGlzdF9kZWwo JmZpbGVfZGF0YS0+ZmlsZV9lbGVtKTsKPiArCj4gKwlzcGluX3VubG9ja19pcnEoJmZpbGVfZGF0 YS0+ZGF0YS0+ZGV2X2xvY2spOwo+ICsJbXV0ZXhfdW5sb2NrKCZmaWxlX2RhdGEtPmRhdGEtPmlv X211dGV4KTsKCllvdSBwcm90ZWN0IHRoZSBsaXN0LCBidXQgd2hhdCBhYm91dCByZW1vdmluZyB0 aGUgZGF0YSBpdHNlbGY/Cgo+ICsKPiArCWtyZWZfcHV0KCZmaWxlX2RhdGEtPmRhdGEtPmtyZWYs IHVzYnRtY19kZWxldGUpOwoKV2hhdCBwcm90ZWN0cyB0aGlzIGZyb20gYmVpbmcgY2FsbGVkIGF0 IHRoZSBzYW1lIHRpbWUgYSBrcmVmX2dldCBpcwpiZWluZyBjYWxsZWQ/CgpZZWFoLCBpdCBwcmV2 aW91c2x5IHByb2JhYmx5IGFscmVhZHkgaGFkIHRoaXMgcmFjZSwgc29ycnkgSSBuZXZlcgpub3Rp Y2VkIHRoYXQuCgoKCj4gKwlmaWxlX2RhdGEtPmRhdGEgPSBOVUxMOwo+ICsJa2ZyZWUoZmlsZV9k YXRhKTsKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IEBAIC0zNjksMTAgKzQyMSwxMiBAQCBzdGF0 aWMgaW50IHVzYnRtY19pb2N0bF9hYm9ydF9idWxrX291dChzdHJ1Y3QgdXNidG1jX2RldmljZV9k YXRhICpkYXRhKQo+ICAJcmV0dXJuIHJ2Owo+ICB9Cj4gIAo+IC1zdGF0aWMgaW50IHVzYnRtYzQ4 OF9pb2N0bF9yZWFkX3N0YihzdHJ1Y3QgdXNidG1jX2RldmljZV9kYXRhICpkYXRhLAo+ICtzdGF0 aWMgaW50IHVzYnRtYzQ4OF9pb2N0bF9yZWFkX3N0YihzdHJ1Y3QgdXNidG1jX2ZpbGVfZGF0YSAq ZmlsZV9kYXRhLAo+ICAJCQkJdm9pZCBfX3VzZXIgKmFyZykKPiAgewo+ICsJc3RydWN0IHVzYnRt Y19kZXZpY2VfZGF0YSAqZGF0YSA9IGZpbGVfZGF0YS0+ZGF0YTsKPiAgCXN0cnVjdCBkZXZpY2Ug KmRldiA9ICZkYXRhLT5pbnRmLT5kZXY7Cj4gKwlpbnQgc3JxX2Fzc2VydGVkID0gMDsKPiAgCXU4 ICpidWZmZXI7Cj4gIAl1OCB0YWc7Cj4gIAlfX3U4IHN0YjsKPiBAQCAtMzgxLDE1ICs0MzUsMjcg QEAgc3RhdGljIGludCB1c2J0bWM0ODhfaW9jdGxfcmVhZF9zdGIoc3RydWN0IHVzYnRtY19kZXZp Y2VfZGF0YSAqZGF0YSwKPiAgCWRldl9kYmcoZGV2LCAiRW50ZXIgaW9jdGxfcmVhZF9zdGIgaWlu X2VwX3ByZXNlbnQ6ICVkXG4iLAo+ICAJCWRhdGEtPmlpbl9lcF9wcmVzZW50KTsKPiAgCj4gKwlz cGluX2xvY2tfaXJxKCZkYXRhLT5kZXZfbG9jayk7Cj4gKwlzcnFfYXNzZXJ0ZWQgPSBhdG9taWNf eGNoZygmZmlsZV9kYXRhLT5zcnFfYXNzZXJ0ZWQsIHNycV9hc3NlcnRlZCk7CgpUaGF0IHJlYWxs eSBmcmlnaHRlbnMgbWUuIFdoeSBhcmUgeW91IG1lc3Npbmcgd2l0aCBhdG9taWMgdmFsdWVzIGhl cmU/CldoYXQgaXMgaXQgc3VwcG9zZWQgdG8gYmUgInByb3RlY3RpbmciIG9yICJkb2luZyI/Cgp0 aGFua3MsCgpncmVnIGstaAotLS0KVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQg dGhlIGxpbmUgInVuc3Vic2NyaWJlIGxpbnV4LXVzYiIgaW4KdGhlIGJvZHkgb2YgYSBtZXNzYWdl IHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5vcmcKTW9yZSBtYWpvcmRvbW8gaW5mbyBhdCAgaHR0 cDovL3ZnZXIua2VybmVsLm9yZy9tYWpvcmRvbW8taW5mby5odG1sCg==