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: [06/12] usb: usbtmc: Add vendor specific/asynchronous read/write ioctls From: Greg Kroah-Hartman Message-Id: <20180522133712.GA5744@kroah.com> Date: Tue, 22 May 2018 15:37:12 +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: T24gVHVlLCBNYXkgMjIsIDIwMTggYXQgMTE6MzY6MTNBTSArMDAwMCwgZ3VpZG9Aa2llbmVyLW11 ZW5jaGVuLmRlIHdyb3RlOgo+IAo+IFppdGF0IHZvbiBHcmVnIEtIIDxncmVna2hAbGludXhmb3Vu ZGF0aW9uLm9yZz46Cj4gCj4gPiBPbiBNb24sIE1heSAyMSwgMjAxOCBhdCAwODo0MToyMlBNICsw MDAwLCBndWlkb0BraWVuZXItbXVlbmNoZW4uZGUgd3JvdGU6Cj4gPiA+IAo+ID4gPiBaaXRhdCB2 b24gR3JlZyBLSCA8Z3JlZ2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+Ogo+ID4gPiAKPiA+ID4gPiBP biBGcmksIE1heSAxOCwgMjAxOCBhdCAwMjo0ODoxMVBNICswMDAwLCBndWlkb0BraWVuZXItbXVl bmNoZW4uZGUgd3JvdGU6Cj4gPiA+ID4gPgo+ID4gPiA+ID4gWml0YXQgdm9uIEdyZWcgS0ggPGdy ZWdraEBsaW51eGZvdW5kYXRpb24ub3JnPjoKPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IE9uIFRodSwg TWF5IDE3LCAyMDE4IGF0IDA3OjAzOjMwUE0gKzAyMDAsIEd1aWRvIEtpZW5lciB3cm90ZToKPiA+ ID4gPiA+ID4gPiArLyoKPiA+ID4gPiA+ID4gPiArICogdXNidG1jX21lc3NhZ2UtPmZsYWdzOgo+ ID4gPiA+ID4gPiA+ICsgKi8KPiA+ID4gPiA+ID4gPiArI2RlZmluZSBVU0JUTUNfRkxBR19BU1lO QwkJMHgwMDAxCj4gPiA+ID4gPiA+ID4gKyNkZWZpbmUgVVNCVE1DX0ZMQUdfQVBQRU5ECQkweDAw MDIKPiA+ID4gPiA+ID4gPiArI2RlZmluZSBVU0JUTUNfRkxBR19JR05PUkVfVFJBSUxFUgkweDAw MDQKPiA+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ID4gK3N0cnVjdCB1c2J0bWNfbWVzc2FnZSB7 Cj4gPiA+ID4gPiA+ID4gKwl2b2lkIF9fdXNlciAqbWVzc2FnZTsgLyogcG9pbnRlciB0byBoZWFk ZXIgYW5kIGRhdGEgKi8KPiA+ID4gPiA+ID4gPiArCV9fdTY0IHRyYW5zZmVyX3NpemU7IC8qIHNp emUgb2YgYnl0ZXMgdG8gdHJhbnNmZXIgKi8KPiA+ID4gPiA+ID4gPiArCV9fdTY0IHRyYW5zZmVy cmVkOyAvKiBzaXplIG9mIHJlY2VpdmVkL3dyaXR0ZW4gYnl0ZXMgKi8KPiA+ID4gPiA+ID4gPiAr CV9fdTMyIGZsYWdzOyAvKiBiaXQgMDogMCA9IHN5bmNocm9ub3VzOyAxID0gYXN5bmNocm9ub3Vz ICovCj4gPiA+ID4gPiA+ID4gK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwo+ID4gPiA+ID4g Pgo+ID4gPiA+ID4gPiBWZXJ5IG9kZCBzdHJ1Y3R1cmUuICBZb3VyIHVzZXJzcGFjZSBwb2ludGVy IGlzIGdvaW5nIHRvIGJlIHRvdGFsbHkgb3V0Cj4gPiA+ID4gPiA+IG9mIGFsaWdubWVudCBvbiAz MmJpdCBzeXN0ZW1zIHJ1bm5pbmcgb24gYSA2NGJpdCBrZXJuZWwuICBXaHkgaGF2ZSBhCj4gPiA+ ID4gPiA+IHNlcGFyYXRlIHBvaW50ZXIgYXQgYWxsPyAgV2h5IG5vdCBqdXN0IHB1dCB0aGUgbWVz YWdlIGF0IHRoZQo+ID4gPiBlbmQgb2YgdGhpcwo+ID4gPiA+ID4gPiBzdHJ1Y3R1cmUgZGlyZWN0 bHkgd2l0aCBzb21ldGhpbmcgbGlrZToKPiA+ID4gPiA+ID4gCV9fdTggbWVzc2FnZVswXTsKPiA+ ID4gPiA+ID4gPwo+ID4gPiA+ID4gPgo+ID4gPiAKPiA+ID4gVXNpbmcgYSBfX3U4IG1lc3NhZ2Vb MF0gZW5kcyB1cCB3aXRoIGFuIGV4dHJhIG1hbGxvYywgbWVtY3B5LCBhbmQgZnJlZQo+ID4gPiBv cGVyYXRpb24gaW4gdXNlcmxhbmQsIHNpbmNlIHdlIGFsd2F5cyBoYXZlIHRvIGFwcGVuZCB0aGUg ZGF0YSBvZiBhIGdpdmVuCj4gPiA+IHVzZXIgcG9pbnRlciB0byB0aGlzIHN0cnVjdC4gRS5nLiB3 aGVuIEkgc2VuZCA0IE1CeXRlIG9uIG15IChvbGQpIGxhcHRvcAo+ID4gPiB0aGlzIHRha2VzIGFi b3V0IHBsdXMgNiBtcywgYW5kIGRlY3JlYXNlcyBiYW5kd2lkdGggZnJvbSAzMSwwIE1CeXRlL3MK PiA+ID4gdG8gMjksNSBNQnl0ZS9zIHdpdGggVVNCIDIuMC4KPiA+IAo+ID4gUmVhbGx5PyAgVGhh dCBmZWVscyBsaWtlIHlvdSBhcmUgZG9pbmcgc29tZXRoaW5nIHJlYWxseSBvZGQuICBJIGd1ZXNz Cj4gPiB5b3UgbmVlZCB0byBmaWd1cmUgb3V0IGhvdyB5b3UgZ2V0IHRoZSBkYXRhIHRvL2Zyb20g dXNlcnNwYWNlLgo+IAo+IEEgdHlwaWNhbGx5IHVzZXIgQVBJIGlzIHNvbWV0aGluZyBsaWtlIHRo aXM6Cj4gc3NpemVfdCB3cml0ZShpbnQgZmQsIGNvbnN0IHZvaWQgKmJ1Ziwgc2l6ZV90IGNvdW50 KTsKPiBzc2l6ZV90IHNlbmQoaW50IHNvY2tmZCwgY29uc3Qgdm9pZCAqYnVmLCBzaXplX3QgbGVu LCBpbnQgZmxhZ3MpOwo+IAo+IFdlIHVzZSBhIHNpbWlsYXIgZnVuY3Rpb246Cj4gVmlTdGF0dXMg dmlXcml0ZShWaVNlc3Npb24gdmksIFZpQnVmIGJ1ZiwgVmlVSW50MzIgY291bnQsIFZpUFVJbnQz MiByZXRDb3VudCkKPiAKPiBXaGVuIGEgdXNlciBjYWxscyB2aVdyaXRlKHZpLCAiKklETj8gKyA0 IE1CIC4uLlxuIiwgNDAwMDAwMDAsICZyZXRjb250KSBob3cKPiBjYW4gd2UgcGFzcyB0aGUgYmln IGJ1ZiB0byB0aGUga2VybmVsIHdpdGhvdXQgYW55IGNvcHkgb3BlcmF0aW9uPwoKWW91ciBmdW5j dGlvbiBsb29rcyBfanVzdF8gbGlrZSBhIG5vcm1hbCB3cml0ZSgpIGNhbGwsIHdoeSBhcmUgeW91 IGV2ZW4KdHJ5aW5nIHRvIHdyYXAgaXQgaW4gYW4gaW9jdGw/ICBKdXN0IHVzZSB3cml0ZSgpIQoK PiA+ID4gSSBob3BlIHRoaXMgc3RydWN0IGxvb2tzIGJldHRlciAoaW4gY29tcGF0IG1vZGUpOgo+ ID4gPiAKPiA+ID4gc3RydWN0IHVzYnRtY19tZXNzYWdlIHsKPiA+ID4gICAgIF9fdTY0IHRyYW5z ZmVyX3NpemU7IC8qIHNpemUgb2YgYnl0ZXMgdG8gdHJhbnNmZXIgKi8KPiA+ID4gICAgIF9fdTY0 IHRyYW5zZmVycmVkOyAvKiBzaXplIG9mIHJlY2VpdmVkL3dyaXR0ZW4gYnl0ZXMgKi8KPiA+ID4g ICAgIHZvaWQgX191c2VyICptZXNzYWdlOyAvKiBwb2ludGVyIHRvIGhlYWRlciBhbmQgZGF0YSAq Lwo+ID4gPiAgICAgX191MzIgZmxhZ3M7IC8qIGJpdCAwOiAwID0gc3luY2hyb25vdXM7IDEgPSBh c3luY2hyb25vdXMgKi8KPiA+ID4gfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7Cj4gPiAKPiA+ IE5vLCB0aGF0IHdpbGwgbm90IHdvcmsgYXQgYWxsLiAgQWdhaW4sIHRoaW5rIGFib3V0IHRoZSBz aXplIG9mIHRoYXQKPiA+IHBvaW50ZXIuCj4gPiAKPiAKPiBUaGUgY29tcGF0IHN0cnVjdHVyZSBp czoKPiAKPiBzdHJ1Y3QgY29tcGF0X3VzYnRtY19tZXNzYWdlIHsKPiAJdTY0IHRyYW5zZmVyX3Np emU7Cj4gCXU2NCB0cmFuc2ZlcnJlZDsKPiAJY29tcGF0X3VwdHJfdCBtZXNzYWdlOwo+IAl1MzIg ZmxhZ3M7Cj4gfSBfX3BhY2tlZDsKPiAKPiBGb3IgQU1ENjQgaXQgd29ya3MuCgpTaG93IG1lIHRo ZSBzaXplIGFuZCBsYXlvdXQgb2YgYm90aCBzdHJ1Y3R1cmVzIGZvciBhIDMyYml0IGFuZCA2NGJp dAp1c2Vyc3BhY2UgcGxlYXNlLiAgVGhlcmUgYXJlIHRvb2xzIHRoYXQgZG8gdGhpcy4KCkFnYWlu LCB0aGlzIGlzIG5vdCBob3cgdG8gZG8gaXQhICBZb3UgZG8gbm90IHB1dCBhIHZhcmlhYmxlIHNp emVkCnZhcmlhYmxlIGluIHRoZSBtaWRkbGUgb2YgYSBzdHJ1Y3R1cmUuICB2b2lkICogY2hhbmdl cyBzaXplISAgRWl0aGVyCmFsaWduIGV2ZXJ5dGhpbmcgcHJvcGVybHkgb3IgdGhyb3cgaXQgYXQg dGhlIGVuZCBvciBldmVuIGJldHRlciB5ZXQsCkRPTidUIERPIFRISVMgQVQgQUxMLCBKVVNUIFVT RSB3cml0ZSgpISA6KQoKPiA+ID4gQlRXIHRoZSBkcml2ZXIgaGFzIG5vIC5jb21wYXRfaW9jdGwg ZW50cnkuCj4gPiAKPiA+IEJlY2F1c2UgeW91IGRpZG4ndCBuZWVkIGl0IHVudGlsIG5vdy4KPiAK PiBpb2N0bChmZCxVU0JUTUNfSU9DVExfQ0xFQVIpIHJldHVybnMgZXJybm8gPSAyNSAoPUVOT1RU WSkgaW4gTGludXgKPiBLZXJuZWwgNC4xNSB3aGVuIHJ1bm5pbmcgdGVzdC1yYXczMiBjcmVhdGVk IHdpdGgKPiBnY2MgLW0zMiB0ZXN0LXJhdy5jIC1vIHRlc3QtcmF3MzIKPiBEb2VzIGl0IHdvcmsg d2l0aCBvdGhlciBrZXJuZWwgdmVyc2lvbnM/CgpJIGhhdmUgbm8gaWRlYSB3aGF0IHlvdSBhcmUg dGVzdGluZyBoZXJlLCBzb3JyeS4KCj4gPiA+IFNvIEkgd29uZGVyIGhvdyBpdCBjb3VsZCB3b3Jr IHdpdGggMzIgYml0IGFwcGxpY2F0aW9ucyBvbiA2NCBiaXQKPiA+ID4gc3lzdGVtcyBiZWZvcmUg c3VibWlzc2lvbiBvZiBvdXIgcGF0Y2hlcy4gIERvIEkgbWlzcyBzb21ldGhpbmc/Cj4gPiAKPiA+ IFlvdSBhcmUgY3JlYXRpbmcgc3RydWN0dXJlcyB0aGF0IGhhdmUgZGlmZmVyZW50IHNpemVzIG9u IHRob3NlIHR3bwo+ID4gZGlmZmVyZW50IHVzZXJzcGFjZXMuICBCZWNhdXNlIG9mIHRoYXQsIHlv dSB3b3VsZCBiZSBmb3JjZWQgdG8gaGF2ZSBhCj4gPiBjb21wYXQgbGF5ZXIuICBUaGUgc21hcnQg dGhpbmcgdG8gZG8gaXMgdG8gZGVzaWduIHRoZSBpbnRlcmZhY2UgdG8gbm90Cj4gPiBoYXZlIHRo YXQgdHlwZSBvZiBwcm9ibGVtIGF0IGFsbCwgZG9uJ3QgY3JlYXRlIG5ldyBhcGlzIHRoYXQgYXJl IG5vdAo+ID4ganVzdCA2NC1iaXQgc2FuZSB0byBzdGFydCB3aXRoLgo+ID4gCj4gPiBDb3B5aW5n IG1lbW9yeSBpcyBmYXN0LCByZWFsbHkgZmFzdCwgbXVjaCBtdWNoIGZhc3RlciB0aGFuIHNlbmRp bmcgdGhlCj4gPiBkYXRhIGFjcm9zcyB0aGUgVVNCIGNvbm5lY3Rpb24uICBJZiB5b3UgYXJlIHNl ZWluZyBtYWpvciBwcm9ibGVtcyBoZXJlLAo+ID4gdGhlbiBJIHdvdWxkIGZpcnN0IGxvb2sgYXQg eW91ciB1c2Vyc3BhY2UgY29kZSwgYW5kIHRoZW4gc2VlIHdoYXQgdGhlCj4gPiBrZXJuZWwgY29k ZSBkb2VzLgo+IAo+IEkganVzdCBkbyBub3QgbGlrZSB0byBiZSBzbG93ZXIgdGhhbiBsaWJ1c2Ig b3Igb3RoZXIgb3BlcmF0aW5nIHN5c3RlbXMuCgpJZiB5b3UgZG8gdGhpcyBjb3JyZWN0bHksIHlv dXIgYm90dGxlbmVjayB3aWxsIGJlIHRoZSBVU0IgY29ubmVjdGlvbi4KCnRoYW5rcywKCmdyZWcg ay1oCi0tLQpUbyB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbGlzdDogc2VuZCB0aGUgbGluZSAidW5z dWJzY3JpYmUgbGludXgtdXNiIiBpbgp0aGUgYm9keSBvZiBhIG1lc3NhZ2UgdG8gbWFqb3Jkb21v QHZnZXIua2VybmVsLm9yZwpNb3JlIG1ham9yZG9tbyBpbmZvIGF0ICBodHRwOi8vdmdlci5rZXJu ZWwub3JnL21ham9yZG9tby1pbmZvLmh0bWwK