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: <20180518135056.GA24822@kroah.com> Date: Fri, 18 May 2018 15:50:56 +0200 To: guido@kiener-muenchen.de Cc: linux-usb@vger.kernel.org, guido.kiener@rohde-schwarz.com, pankaj.adhikari@ni.com, steve_bayless@keysight.com, dpenkler@gmail.com List-ID: T24gRnJpLCBNYXkgMTgsIDIwMTggYXQgMDE6MzI6NTFQTSArMDAwMCwgZ3VpZG9Aa2llbmVyLW11 ZW5jaGVuLmRlIHdyb3RlOgo+IAo+IFppdGF0IHZvbiBHcmVnIEtIIDxncmVna2hAbGludXhmb3Vu ZGF0aW9uLm9yZz46Cj4gCj4gPiBPbiBUaHUsIE1heSAxNywgMjAxOCBhdCAwNzowMzoyOVBNICsw MjAwLCBHdWlkbyBLaWVuZXIgd3JvdGU6Cj4gPiA+IEFkZCBVU0JUTUNfSU9DVExfQ1RSTF9SRVFV RVNUIHRvIHNlbmQgYXJiaXRyYXJ5IHJlcXVlc3RzIG9uIHRoZQo+ID4gPiBjb250cm9sIHBpcGUu ICBVc2VkIGJ5IHNwZWNpZmljIGFwcGxpY2F0aW9ucyBvZiBJVkkgRm91bmRhdGlvbiwKPiA+ID4g SW5jLiB0byBpbXBsZW1lbnQgVklTQSBBUEkgZnVuY3Rpb25zOiB2aVVzYkNvbnRyb2xJbi9PdXQu Cj4gPiA+IAo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBHdWlkbyBLaWVuZXIgPGd1aWRvLmtpZW5lckBy b2hkZS1zY2h3YXJ6LmNvbT4KPiA+ID4gUmV2aWV3ZWQtYnk6IFN0ZXZlIEJheWxlc3MgPHN0ZXZl X2JheWxlc3NAa2V5c2lnaHQuY29tPgo+ID4gPiAtLS0KPiA+ID4gIGRyaXZlcnMvdXNiL2NsYXNz L3VzYnRtYy5jICAgfCA2MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiA+ ID4gIGluY2x1ZGUvdWFwaS9saW51eC91c2IvdG1jLmggfCAxNSArKysrKysrKysKPiA+ID4gIDIg ZmlsZXMgY2hhbmdlZCwgNzYgaW5zZXJ0aW9ucygrKQo+ID4gPiAKPiA+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvdXNiL2NsYXNzL3VzYnRtYy5jIGIvZHJpdmVycy91c2IvY2xhc3MvdXNidG1jLmMK PiA+ID4gaW5kZXggMTUyZTJkYWE5NjQ0Li4wMGMyZTUxYTIzYTcgMTAwNjQ0Cj4gPiA+IC0tLSBh L2RyaXZlcnMvdXNiL2NsYXNzL3VzYnRtYy5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvdXNiL2NsYXNz L3VzYnRtYy5jCj4gPiA+IEBAIC01LDYgKzUsNyBAQAo+ID4gPiAgICogQ29weXJpZ2h0IChDKSAy MDA3IFN0ZWZhbiBLb3BwLCBHZWNoaW5nZW4sIEdlcm1hbnkKPiA+ID4gICAqIENvcHlyaWdodCAo QykgMjAwOCBOb3ZlbGwsIEluYy4KPiA+ID4gICAqIENvcHlyaWdodCAoQykgMjAwOCBHcmVnIEty b2FoLUhhcnRtYW4gPGdyZWdraEBzdXNlLmRlPgo+ID4gPiArICogQ29weXJpZ2h0IChDKSAyMDE4 LCBJVkkgRm91bmRhdGlvbiwgSW5jLgo+ID4gPiAgICovCj4gPiA+IAo+ID4gPiAgI2RlZmluZSBw cl9mbXQoZm10KSBLQlVJTERfTU9ETkFNRSAiOiAiIGZtdAo+ID4gPiBAQCAtMTI2Myw2ICsxMjY0 LDYyIEBAIHN0YXRpYyBpbnQKPiA+ID4gdXNidG1jX2lvY3RsX2luZGljYXRvcl9wdWxzZShzdHJ1 Y3QgdXNidG1jX2RldmljZV9kYXRhICpkYXRhKQo+ID4gPiAgCXJldHVybiBydjsKPiA+ID4gIH0K PiA+ID4gCj4gPiA+ICtzdGF0aWMgaW50IHVzYnRtY19pb2N0bF9yZXF1ZXN0KHN0cnVjdCB1c2J0 bWNfZGV2aWNlX2RhdGEgKmRhdGEsCj4gPiA+ICsJCQkJdm9pZCBfX3VzZXIgKmFyZykKPiA+ID4g K3sKPiA+ID4gKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmZGF0YS0+aW50Zi0+ZGV2Owo+ID4gPiAr CXN0cnVjdCB1c2J0bWNfY3RybHJlcXVlc3QgcmVxdWVzdDsKPiA+ID4gKwl1OCAqYnVmZmVyID0g TlVMTDsKPiA+ID4gKwlpbnQgcnY7Cj4gPiA+ICsJdW5zaWduZWQgbG9uZyByZXM7Cj4gPiA+ICsK PiA+ID4gKwlyZXMgPSBjb3B5X2Zyb21fdXNlcigmcmVxdWVzdCwgYXJnLCBzaXplb2Yoc3RydWN0 IHVzYnRtY19jdHJscmVxdWVzdCkpOwo+ID4gPiArCWlmIChyZXMpCj4gPiA+ICsJCXJldHVybiAt RUZBVUxUOwo+ID4gPiArCj4gPiA+ICsJYnVmZmVyID0ga21hbGxvYyhtaW5fdCh1MTYsIDI1Niwg cmVxdWVzdC5yZXEud0xlbmd0aCksIEdGUF9LRVJORUwpOwo+ID4gCj4gPiBObyB2YWxpZGF0aW9u IHRoYXQgd0xlbmd0aCBpcyBhIHNhbmUgbnVtYmVyPwo+IAo+IE9vb3BzLiBJdCBzaG91bGQgYmUg YnVmZmVyID0ga21hbGxvYyhtYXhfdCh1MTYsIDI1NiwgcmVxdWVzdC5yZXEud0xlbmd0aCksCj4g R0ZQX0tFUk5FTCk7Cj4gVGhlbiBhbGwgdmFsdWVzIG9mIHJlcXVlc3QucmVxLndMZW5ndGggKDAu LjY1NTM1KSBhcmUgb2suCgpZZXMsIHRoYXQgd291bGQgbWFrZSBtb3JlIHNlbnNlLiAgQnV0IHlv dSBzaG91bGQgc3RpbGwgcmVqZWN0Cmtub3duLWludmFsaWQgdmFsdWVzLCBhbmQgbm90IGp1c3Qg InNpbGVudGx5IGZpeCB0aGVtIHVwIi4KCj4gPiBHbyB0byB0aGUgd2hpdGVib2FyZCBuZWFyYnkg YW5kIHdyaXRlIGEgdGhlIHRvcCBvZiBpdDoKPiA+IAlBTEwgSU5QVVQgSVMgRVZJTAo+ID4gCj4g PiA+ICsJaWYgKCFidWZmZXIpCj4gPiA+ICsJCXJldHVybiAtRU5PTUVNOwo+ID4gPiArCj4gPiA+ ICsJaWYgKChyZXF1ZXN0LnJlcS5iUmVxdWVzdFR5cGUgJiBVU0JfRElSX0lOKSA9PSAwCj4gPiA+ ICsJICAgICYmIHJlcXVlc3QucmVxLndMZW5ndGgpIHsKPiA+ID4gKwkJcmVzID0gY29weV9mcm9t X3VzZXIoYnVmZmVyLCByZXF1ZXN0LmRhdGEsCj4gPiA+ICsJCQkJICAgICByZXF1ZXN0LnJlcS53 TGVuZ3RoKTsKPiA+ID4gKwkJaWYgKHJlcykgewo+ID4gPiArCQkJcnYgPSAtRUZBVUxUOwo+ID4g PiArCQkJZ290byBleGl0Owo+ID4gPiArCQl9Cj4gPiA+ICsJfQo+ID4gPiArCj4gPiA+ICsJcnYg PSB1c2JfY29udHJvbF9tc2coZGF0YS0+dXNiX2RldiwKPiA+ID4gKwkJCXVzYl9yY3ZjdHJscGlw ZShkYXRhLT51c2JfZGV2LCAwKSwKPiA+ID4gKwkJCXJlcXVlc3QucmVxLmJSZXF1ZXN0LAo+ID4g PiArCQkJcmVxdWVzdC5yZXEuYlJlcXVlc3RUeXBlLAo+ID4gPiArCQkJcmVxdWVzdC5yZXEud1Zh bHVlLAo+ID4gPiArCQkJcmVxdWVzdC5yZXEud0luZGV4LAo+ID4gPiArCQkJYnVmZmVyLCByZXF1 ZXN0LnJlcS53TGVuZ3RoLCBVU0JfQ1RSTF9HRVRfVElNRU9VVCk7Cj4gPiAKPiA+IHJlcXVlc3Qu cmVxLndMZW5ndGggbWlnaHQgbm90IGJlIHRoZSBhY3R1YWwgc2l6ZSBvZiBidWZmZXIgaGVyZSBk dWUgdG8KPiA+IHlvdXIgYWJvdmUgbWluX3QoKSBjaGVjay4KClN0aWxsIHdyb25nIGdpdmVuIHRo ZSBjaGVjayBhYm92ZS4KCj4gPiBUaGVuIHRoZXJlIGlzIHRoZSBnZW5lcmljIHF1ZXN0aW9uIG9m ICJ3aHkgYXJlIHlvdSBhbGxvd2luZyBhcmJpdHJhcnkKPiA+IFVTQiBjb250cm9sIG1lc3NhZ2Vz IHRvIGJlIHNlbnQgdG8gZGV2aWNlcyIgaGVyZS4gIFRoYXQgZmVlbHMgbGlrZSBhCj4gPiB2ZXJ5 IG9kZCB3YXkgZm9yIGEgZGV2aWNlIHRoYXQgaXMgc3VwcG9zZWQgdG8gYmUgZm9sbG93aW5nIGEg c3RhbmRhcmQgdG8KPiA+IGJlIHdvcmtpbmcuICBZb3UgYXJlIGNpcmN1bXZlbnRpbmcgdGhlIHN0 YW5kYXJkIGhlcmUgYnkgYWxsb3dpbmcgYW55Cj4gPiBtZXNzYWdlIHRvIGJlIHNlbnQgdG8gdGhl IGRldmljZS4gIFdoaWxlIG5pY2UgZm9yIHRoYXQgb25lIHR5cGUgb2YKPiA+IGRldmljZSwgeW91 IGFyZSBicmVha2luZyBpbnRlcm9wZXJhYmlsaXR5IGluIGhvcnJpYmxlIHdheXMgKG5vdyBhcHBz Cj4gPiBvbmx5IHdvcmsgd2l0aCBvbmUgdHlwZSBvZiBkZXZpY2UuKQo+ID4gCj4gPiBXaHkgZGlk IHlvdSBhbGwgYWdyZWUgdG8gYWxsb3cgdGhpcyB0byBoYXBwZW4/Cj4gCj4gSSBkaWQgbm90IGRl ZmluZSB0aGUgVVNCVE1DIGFuZCBWSVNBIHN0YW5kYXJkLiBIb3dldmVyIHRoZSBBUEkgcmVxdWly ZXMKPiB0byBzZW5kIHRoaXMgZ2VuZXJpYyBjb250cm9sIHJlcXVlc3QuIE90aGVyd2lzZSB3ZSBo YXZlIHRvIHVzZSB0aGUgbGlidXNiCj4gYWdhaW4uCj4gCj4gaHR0cDovL3pvbmUubmkuY29tL3Jl ZmVyZW5jZS9lbi1YWC9oZWxwLzM3MDEzMVMtMDEvbmktdmlzYS92aXVzYmNvbnRyb2xpbi8KClVn aCwgdGhhdCdzIGhvcnJpZC4gIEFuZCBhIHNpZ24gb2YgIndobyBrbm93cyB3aGF0IG91ciBkZXZp Y2VzIHdpbGwgd2FudAp0byBzdXBwb3J0ISIgZGVzaWduIGJ5IGNvbW1pdHRlZSAobm90ZSwgSSd2 ZSB3b3JrZWQgb24gbG90cyBvZiBzcGVjCmdyb3VwcyBiZWZvcmUsIEkga25vdyBob3cgdGhleSB3 b3JrLi4uKQoKT2ssIHNvIHRoYXQgbmVlZHMgdG8gYmUgc3VwcG9ydGVkLCBmYWlyIGVub3VnaCwg c28gbGV0J3MgZ2V0IHRoZQppbXBsZW1lbnRhdGlvbiBjb3JyZWN0IDopCgp0aGFua3MsCgpncmVn IGstaAotLS0KVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVu c3Vic2NyaWJlIGxpbnV4LXVzYiIgaW4KdGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9t b0B2Z2VyLmtlcm5lbC5vcmcKTW9yZSBtYWpvcmRvbW8gaW5mbyBhdCAgaHR0cDovL3ZnZXIua2Vy bmVsLm9yZy9tYWpvcmRvbW8taW5mby5odG1sCg==