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: [05/12] usb: usbtmc: Add ioctl for generic requests on control pipe From: Greg Kroah-Hartman Message-Id: <20180518124253.GA8828@kroah.com> Date: Fri, 18 May 2018 14:42:53 +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: T24gVGh1LCBNYXkgMTcsIDIwMTggYXQgMDc6MDM6MjlQTSArMDIwMCwgR3VpZG8gS2llbmVyIHdy b3RlOgo+IEFkZCBVU0JUTUNfSU9DVExfQ1RSTF9SRVFVRVNUIHRvIHNlbmQgYXJiaXRyYXJ5IHJl cXVlc3RzIG9uIHRoZQo+IGNvbnRyb2wgcGlwZS4gIFVzZWQgYnkgc3BlY2lmaWMgYXBwbGljYXRp b25zIG9mIElWSSBGb3VuZGF0aW9uLAo+IEluYy4gdG8gaW1wbGVtZW50IFZJU0EgQVBJIGZ1bmN0 aW9uczogdmlVc2JDb250cm9sSW4vT3V0Lgo+IAo+IFNpZ25lZC1vZmYtYnk6IEd1aWRvIEtpZW5l ciA8Z3VpZG8ua2llbmVyQHJvaGRlLXNjaHdhcnouY29tPgo+IFJldmlld2VkLWJ5OiBTdGV2ZSBC YXlsZXNzIDxzdGV2ZV9iYXlsZXNzQGtleXNpZ2h0LmNvbT4KPiAtLS0KPiAgZHJpdmVycy91c2Iv Y2xhc3MvdXNidG1jLmMgICB8IDYxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Kwo+ICBpbmNsdWRlL3VhcGkvbGludXgvdXNiL3RtYy5oIHwgMTUgKysrKysrKysrCj4gIDIgZmls ZXMgY2hhbmdlZCwgNzYgaW5zZXJ0aW9ucygrKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3Vz Yi9jbGFzcy91c2J0bWMuYyBiL2RyaXZlcnMvdXNiL2NsYXNzL3VzYnRtYy5jCj4gaW5kZXggMTUy ZTJkYWE5NjQ0Li4wMGMyZTUxYTIzYTcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy91c2IvY2xhc3Mv dXNidG1jLmMKPiArKysgYi9kcml2ZXJzL3VzYi9jbGFzcy91c2J0bWMuYwo+IEBAIC01LDYgKzUs NyBAQAo+ICAgKiBDb3B5cmlnaHQgKEMpIDIwMDcgU3RlZmFuIEtvcHAsIEdlY2hpbmdlbiwgR2Vy bWFueQo+ICAgKiBDb3B5cmlnaHQgKEMpIDIwMDggTm92ZWxsLCBJbmMuCj4gICAqIENvcHlyaWdo dCAoQykgMjAwOCBHcmVnIEtyb2FoLUhhcnRtYW4gPGdyZWdraEBzdXNlLmRlPgo+ICsgKiBDb3B5 cmlnaHQgKEMpIDIwMTgsIElWSSBGb3VuZGF0aW9uLCBJbmMuCj4gICAqLwo+ICAKPiAgI2RlZmlu ZSBwcl9mbXQoZm10KSBLQlVJTERfTU9ETkFNRSAiOiAiIGZtdAo+IEBAIC0xMjYzLDYgKzEyNjQs NjIgQEAgc3RhdGljIGludCB1c2J0bWNfaW9jdGxfaW5kaWNhdG9yX3B1bHNlKHN0cnVjdCB1c2J0 bWNfZGV2aWNlX2RhdGEgKmRhdGEpCj4gIAlyZXR1cm4gcnY7Cj4gIH0KPiAgCj4gK3N0YXRpYyBp bnQgdXNidG1jX2lvY3RsX3JlcXVlc3Qoc3RydWN0IHVzYnRtY19kZXZpY2VfZGF0YSAqZGF0YSwK PiArCQkJCXZvaWQgX191c2VyICphcmcpCj4gK3sKPiArCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZk YXRhLT5pbnRmLT5kZXY7Cj4gKwlzdHJ1Y3QgdXNidG1jX2N0cmxyZXF1ZXN0IHJlcXVlc3Q7Cj4g Kwl1OCAqYnVmZmVyID0gTlVMTDsKPiArCWludCBydjsKPiArCXVuc2lnbmVkIGxvbmcgcmVzOwo+ ICsKPiArCXJlcyA9IGNvcHlfZnJvbV91c2VyKCZyZXF1ZXN0LCBhcmcsIHNpemVvZihzdHJ1Y3Qg dXNidG1jX2N0cmxyZXF1ZXN0KSk7Cj4gKwlpZiAocmVzKQo+ICsJCXJldHVybiAtRUZBVUxUOwo+ ICsKPiArCWJ1ZmZlciA9IGttYWxsb2MobWluX3QodTE2LCAyNTYsIHJlcXVlc3QucmVxLndMZW5n dGgpLCBHRlBfS0VSTkVMKTsKCk5vIHZhbGlkYXRpb24gdGhhdCB3TGVuZ3RoIGlzIGEgc2FuZSBu dW1iZXI/CgpHbyB0byB0aGUgd2hpdGVib2FyZCBuZWFyYnkgYW5kIHdyaXRlIGEgdGhlIHRvcCBv ZiBpdDoKCUFMTCBJTlBVVCBJUyBFVklMCgo+ICsJaWYgKCFidWZmZXIpCj4gKwkJcmV0dXJuIC1F Tk9NRU07Cj4gKwo+ICsJaWYgKChyZXF1ZXN0LnJlcS5iUmVxdWVzdFR5cGUgJiBVU0JfRElSX0lO KSA9PSAwCj4gKwkgICAgJiYgcmVxdWVzdC5yZXEud0xlbmd0aCkgewo+ICsJCXJlcyA9IGNvcHlf ZnJvbV91c2VyKGJ1ZmZlciwgcmVxdWVzdC5kYXRhLAo+ICsJCQkJICAgICByZXF1ZXN0LnJlcS53 TGVuZ3RoKTsKPiArCQlpZiAocmVzKSB7Cj4gKwkJCXJ2ID0gLUVGQVVMVDsKPiArCQkJZ290byBl eGl0Owo+ICsJCX0KPiArCX0KPiArCj4gKwlydiA9IHVzYl9jb250cm9sX21zZyhkYXRhLT51c2Jf ZGV2LAo+ICsJCQl1c2JfcmN2Y3RybHBpcGUoZGF0YS0+dXNiX2RldiwgMCksCj4gKwkJCXJlcXVl c3QucmVxLmJSZXF1ZXN0LAo+ICsJCQlyZXF1ZXN0LnJlcS5iUmVxdWVzdFR5cGUsCj4gKwkJCXJl cXVlc3QucmVxLndWYWx1ZSwKPiArCQkJcmVxdWVzdC5yZXEud0luZGV4LAo+ICsJCQlidWZmZXIs IHJlcXVlc3QucmVxLndMZW5ndGgsIFVTQl9DVFJMX0dFVF9USU1FT1VUKTsKCnJlcXVlc3QucmVx LndMZW5ndGggbWlnaHQgbm90IGJlIHRoZSBhY3R1YWwgc2l6ZSBvZiBidWZmZXIgaGVyZSBkdWUg dG8KeW91ciBhYm92ZSBtaW5fdCgpIGNoZWNrLgoKPiArCj4gKwlpZiAocnYgPCAwKSB7Cj4gKwkJ ZGV2X2VycihkZXYsICIlcyBmYWlsZWQgJWRcbiIsIF9fZnVuY19fLCBydik7Cj4gKwkJZ290byBl eGl0Owo+ICsJfQo+ICsJaWYgKChyZXF1ZXN0LnJlcS5iUmVxdWVzdFR5cGUgJiBVU0JfRElSX0lO KSkgewo+ICsJCWlmIChydiA+IHJlcXVlc3QucmVxLndMZW5ndGgpIHsKPiArCQkJZGV2X3dhcm4o ZGV2LCAiJXMgcmV0dXJuZWQgdG9vIG11Y2ggZGF0YTogJWRcbiIsCj4gKwkJCQkgX19mdW5jX18s IHJ2KTsKPiArCQkJcnYgPSByZXF1ZXN0LnJlcS53TGVuZ3RoOwoKV2h5IGFyZSB5b3UgcmV0dXJu aW5nIGEgdmFsdWUgdGhhdCBpcyBncmVhdGVyIHRoYW4gdGhlIHNpemUgYXNrZWQgZm9yPwpUaGF0 J3MgZ29pbmcgdG8gbWFrZSB1c2Vyc3BhY2UgY29uZnVzZWQuCgpUaGVuIHRoZXJlIGlzIHRoZSBn ZW5lcmljIHF1ZXN0aW9uIG9mICJ3aHkgYXJlIHlvdSBhbGxvd2luZyBhcmJpdHJhcnkKVVNCIGNv bnRyb2wgbWVzc2FnZXMgdG8gYmUgc2VudCB0byBkZXZpY2VzIiBoZXJlLiAgVGhhdCBmZWVscyBs aWtlIGEKdmVyeSBvZGQgd2F5IGZvciBhIGRldmljZSB0aGF0IGlzIHN1cHBvc2VkIHRvIGJlIGZv bGxvd2luZyBhIHN0YW5kYXJkIHRvCmJlIHdvcmtpbmcuICBZb3UgYXJlIGNpcmN1bXZlbnRpbmcg dGhlIHN0YW5kYXJkIGhlcmUgYnkgYWxsb3dpbmcgYW55Cm1lc3NhZ2UgdG8gYmUgc2VudCB0byB0 aGUgZGV2aWNlLiAgV2hpbGUgbmljZSBmb3IgdGhhdCBvbmUgdHlwZSBvZgpkZXZpY2UsIHlvdSBh cmUgYnJlYWtpbmcgaW50ZXJvcGVyYWJpbGl0eSBpbiBob3JyaWJsZSB3YXlzIChub3cgYXBwcwpv bmx5IHdvcmsgd2l0aCBvbmUgdHlwZSBvZiBkZXZpY2UuKQoKV2h5IGRpZCB5b3UgYWxsIGFncmVl IHRvIGFsbG93IHRoaXMgdG8gaGFwcGVuPwoKdGhhbmtzLAoKZ3JlZyBrLWgKLS0tClRvIHVuc3Vi c2NyaWJlIGZyb20gdGhpcyBsaXN0OiBzZW5kIHRoZSBsaW5lICJ1bnN1YnNjcmliZSBsaW51eC11 c2IiIGluCnRoZSBib2R5IG9mIGEgbWVzc2FnZSB0byBtYWpvcmRvbW9Admdlci5rZXJuZWwub3Jn Ck1vcmUgbWFqb3Jkb21vIGluZm8gYXQgIGh0dHA6Ly92Z2VyLmtlcm5lbC5vcmcvbWFqb3Jkb21v LWluZm8uaHRtbAo=