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: [03/12] usb: usbtmc: Add ioctls to set/get usb timeout From: Guido Kiener Message-Id: <20180518145601.Horde.WrcsG7htEF4oy8fralWr6sP@webmail.kiener-muenchen.de> Date: Fri, 18 May 2018 14:56:01 +0000 To: Greg KH Cc: linux-usb@vger.kernel.org, guido.kiener@rohde-schwarz.com, pankaj.adhikari@ni.com, steve_bayless@keysight.com, dpenkler@gmail.com List-ID: Wml0YXQgdm9uIEdyZWcgS0ggPGdyZWdraEBsaW51eGZvdW5kYXRpb24ub3JnPjoKCj4gT24gVGh1 LCBNYXkgMTcsIDIwMTggYXQgMDc6MDM6MjdQTSArMDIwMCwgR3VpZG8gS2llbmVyIHdyb3RlOgo+ PiBBZGQgaW9jdGxzIFVTQlRNQ19JT0NUTF9HRVRfVElNRU9VVCAvIFVTQlRNQ19JT0NUTF9TRVRf VElNRU9VVCB0bwo+PiBnZXQvc2V0IEkvTyB0aW1lb3V0IGZvciBzcGVjaWZpYyBmaWxlIGhhbmRs ZS4KPj4KPj4gRGlmZmVyZW50IG9wZXJhdGlvbnMgb24gYW4gaW5zdHJ1bWVudCBjYW4gdGFrZSBk aWZmZXJlbnQgbGVuZ3RocyBvZgo+PiB0aW1lIHRodXMgaXQgaXMgaW1wb3J0YW50IHRvIGJlIGFi bGUgdG8gc2V0IHRoZSB0aW1lb3V0IHNsaWdodGx5Cj4+IGxvbmdlciB0aGFuIHRoZSBleHBlY3Rl ZCBkdXJhdGlvbiBvZiBlYWNoIG9wZXJhdGlvbiB0byBvcHRpbWlzZSB0aGUKPj4gcmVzcG9uc2l2 ZW5lc3Mgb2YgdGhlIGFwcGxpY2F0aW9uLiBBcyB0aGUgaW5zdHJ1bWVudCBtYXkgYmUgc2hhcmVk IGJ5Cj4+IG11bHRpcGxlIGFwcGxpY2F0aW9ucyB0aGUgdGltZW91dCBzaG91bGQgYmUgc2V0dGFi bGUgb24gYSBwZXIgZmlsZQo+PiBkZXNjcmlwdG9yIGJhc2lzLgo+Pgo+PiBUZXN0ZWQtYnk6IERh dmUgUGVua2xlciA8ZHBlbmtsZXJAZ21haWwuY29tPgo+PiBSZXZpZXdlZC1ieTogU3RldmUgQmF5 bGVzcyA8c3RldmVfYmF5bGVzc0BrZXlzaWdodC5jb20+Cj4+IFNpZ25lZC1vZmYtYnk6IERhdmUg UGVua2xlciA8ZHBlbmtsZXJAZ21haWwuY29tPgo+PiBTaWduZWQtb2ZmLWJ5OiBHdWlkbyBLaWVu ZXIgPGd1aWRvLmtpZW5lckByb2hkZS1zY2h3YXJ6LmNvbT4KPj4gLS0tCj4+ICBkcml2ZXJzL3Vz Yi9jbGFzcy91c2J0bWMuYyAgIHwgNTggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0tCj4+ICBpbmNsdWRlL3VhcGkvbGludXgvdXNiL3RtYy5oIHwgIDIgKysKPj4gIDIgZmlsZXMg Y2hhbmdlZCwgNTYgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvdXNiL2NsYXNzL3VzYnRtYy5jIGIvZHJpdmVycy91c2IvY2xhc3MvdXNidG1j LmMKPj4gaW5kZXggNTc1NDM1NDQyOWQ4Li5hZDc4NzIwMDM0MjAgMTAwNjQ0Cj4+IC0tLSBhL2Ry aXZlcnMvdXNiL2NsYXNzL3VzYnRtYy5jCj4+ICsrKyBiL2RyaXZlcnMvdXNiL2NsYXNzL3VzYnRt Yy5jCj4+IEBAIC0zMCw2ICszMCw4IEBACj4+ICAgKi8KPj4gICNkZWZpbmUgVVNCVE1DX1NJWkVf SU9CVUZGRVIJMjA0OAo+Pgo+PiArLyogTWluaW11bSBVU0IgdGltZW91dCAoaW4gbWlsbGlzZWNv bmRzKSAqLwo+PiArI2RlZmluZSBVU0JUTUNfTUlOX1RJTUVPVVQJMTAwCj4+ICAvKiBEZWZhdWx0 IFVTQiB0aW1lb3V0IChpbiBtaWxsaXNlY29uZHMpICovCj4+ICAjZGVmaW5lIFVTQlRNQ19USU1F T1VUCQk1MDAwCj4+Cj4+IEBAIC0xMTYsNiArMTE4LDcgQEAgc3RydWN0IHVzYnRtY19maWxlX2Rh dGEgewo+PiAgCXN0cnVjdCB1c2J0bWNfZGV2aWNlX2RhdGEgKmRhdGE7Cj4+ICAJc3RydWN0IGxp c3RfaGVhZCBmaWxlX2VsZW07Cj4+Cj4+ICsJdTMyICAgICAgICAgICAgdGltZW91dDsKPj4gIAl1 OCAgICAgICAgICAgICBzcnFfYnl0ZTsKPj4gIAlhdG9taWNfdCAgICAgICBzcnFfYXNzZXJ0ZWQ7 Cj4+Cj4+IEBAIC0xNjMsNiArMTY2LDcgQEAgc3RhdGljIGludCB1c2J0bWNfb3BlbihzdHJ1Y3Qg aW5vZGUgKmlub2RlLCAgCj4+IHN0cnVjdCBmaWxlICpmaWxwKQo+PiAgCWZpbGVfZGF0YS0+ZGF0 YSA9IGRhdGE7Cj4+Cj4+ICAJLyogY29weSBkZWZhdWx0IHZhbHVlcyBmcm9tIGRldmljZSBzZXR0 aW5ncyAqLwo+PiArCWZpbGVfZGF0YS0+dGltZW91dCA9IFVTQlRNQ19USU1FT1VUOwo+PiAgCWZp bGVfZGF0YS0+VGVybUNoYXIgPSBkYXRhLT5UZXJtQ2hhcjsKPj4gIAlmaWxlX2RhdGEtPlRlcm1D aGFyRW5hYmxlZCA9IGRhdGEtPlRlcm1DaGFyRW5hYmxlZDsKPj4gIAlmaWxlX2RhdGEtPmF1dG9f YWJvcnQgPSBkYXRhLT5hdXRvX2Fib3J0Owo+PiBAQCAtNDc4LDcgKzQ4Miw3IEBAIHN0YXRpYyBp bnQgdXNidG1jNDg4X2lvY3RsX3JlYWRfc3RiKHN0cnVjdCAgCj4+IHVzYnRtY19maWxlX2RhdGEg KmZpbGVfZGF0YSwKPj4gIAkJcnYgPSB3YWl0X2V2ZW50X2ludGVycnVwdGlibGVfdGltZW91dCgK Pj4gIAkJCWRhdGEtPndhaXRxLAo+PiAgCQkJYXRvbWljX3JlYWQoJmRhdGEtPmlpbl9kYXRhX3Zh bGlkKSAhPSAwLAo+PiAtCQkJVVNCVE1DX1RJTUVPVVQpOwo+PiArCQkJZmlsZV9kYXRhLT50aW1l b3V0KTsKPj4gIAkJaWYgKHJ2IDwgMCkgewo+PiAgCQkJZGV2X2RiZyhkZXYsICJ3YWl0IGludGVy cnVwdGVkICVkXG4iLCBydik7Cj4+ICAJCQlnb3RvIGV4aXQ7Cj4+IEBAIC02MTMsNyArNjE3LDgg QEAgc3RhdGljIGludCBzZW5kX3JlcXVlc3RfZGV2X2RlcF9tc2dfaW4oc3RydWN0ICAKPj4gdXNi dG1jX2ZpbGVfZGF0YSAqZmlsZV9kYXRhLAo+PiAgCXJldHZhbCA9IHVzYl9idWxrX21zZyhkYXRh LT51c2JfZGV2LAo+PiAgCQkJICAgICAgdXNiX3NuZGJ1bGtwaXBlKGRhdGEtPnVzYl9kZXYsCj4+ ICAJCQkJCSAgICAgIGRhdGEtPmJ1bGtfb3V0KSwKPj4gLQkJCSAgICAgIGJ1ZmZlciwgVVNCVE1D X0hFQURFUl9TSVpFLCAmYWN0dWFsLCBVU0JUTUNfVElNRU9VVCk7Cj4+ICsJCQkgICAgICBidWZm ZXIsIFVTQlRNQ19IRUFERVJfU0laRSwKPj4gKwkJCSAgICAgICZhY3R1YWwsIGZpbGVfZGF0YS0+ dGltZW91dCk7Cj4+Cj4+ICAJLyogU3RvcmUgYlRhZyAoaW4gY2FzZSB3ZSBuZWVkIHRvIGFib3J0 KSAqLwo+PiAgCWRhdGEtPmJUYWdfbGFzdF93cml0ZSA9IGRhdGEtPmJUYWc7Cj4+IEBAIC02ODEs NyArNjg2LDcgQEAgc3RhdGljIHNzaXplX3QgdXNidG1jX3JlYWQoc3RydWN0IGZpbGUgKmZpbHAs ICAKPj4gY2hhciBfX3VzZXIgKmJ1ZiwKPj4gIAkJCQkgICAgICB1c2JfcmN2YnVsa3BpcGUoZGF0 YS0+dXNiX2RldiwKPj4gIAkJCQkJCSAgICAgIGRhdGEtPmJ1bGtfaW4pLAo+PiAgCQkJCSAgICAg IGJ1ZmZlciwgVVNCVE1DX1NJWkVfSU9CVUZGRVIsICZhY3R1YWwsCj4+IC0JCQkJICAgICAgVVNC VE1DX1RJTUVPVVQpOwo+PiArCQkJCSAgICAgIGZpbGVfZGF0YS0+dGltZW91dCk7Cj4+Cj4+ICAJ CWRldl9kYmcoZGV2LCAidXNiX2J1bGtfbXNnOiByZXR2YWwoJXUpLCBkb25lKCV6dSksICAKPj4g cmVtYWluaW5nKCV6dSksIGFjdHVhbCglZClcbiIsIHJldHZhbCwgZG9uZSwgcmVtYWluaW5nLCBh Y3R1YWwpOwo+Pgo+PiBAQCAtODU0LDcgKzg1OSw3IEBAIHN0YXRpYyBzc2l6ZV90IHVzYnRtY193 cml0ZShzdHJ1Y3QgZmlsZSAqZmlscCwgIAo+PiBjb25zdCBjaGFyIF9fdXNlciAqYnVmLAo+PiAg CQkJCQkgICAgICB1c2Jfc25kYnVsa3BpcGUoZGF0YS0+dXNiX2RldiwKPj4gIAkJCQkJCQkgICAg ICBkYXRhLT5idWxrX291dCksCj4+ICAJCQkJCSAgICAgIGJ1ZmZlciwgbl9ieXRlcywKPj4gLQkJ CQkJICAgICAgJmFjdHVhbCwgVVNCVE1DX1RJTUVPVVQpOwo+PiArCQkJCQkgICAgICAmYWN0dWFs LCBmaWxlX2RhdGEtPnRpbWVvdXQpOwo+PiAgCQkJaWYgKHJldHZhbCAhPSAwKQo+PiAgCQkJCWJy ZWFrOwo+PiAgCQkJbl9ieXRlcyAtPSBhY3R1YWw7Cj4+IEBAIC0xMjExLDYgKzEyMTYsNDEgQEAg c3RhdGljIGludCAgCj4+IHVzYnRtY19pb2N0bF9pbmRpY2F0b3JfcHVsc2Uoc3RydWN0IHVzYnRt Y19kZXZpY2VfZGF0YSAqZGF0YSkKPj4gIAlyZXR1cm4gcnY7Cj4+ICB9Cj4+Cj4+ICsvKgo+PiAr ICogR2V0IHRoZSB1c2IgdGltZW91dCB2YWx1ZQo+PiArICovCj4+ICtzdGF0aWMgaW50IHVzYnRt Y19pb2N0bF9nZXRfdGltZW91dChzdHJ1Y3QgdXNidG1jX2ZpbGVfZGF0YSAqZmlsZV9kYXRhLAo+ PiArCQkJCXZvaWQgX191c2VyICphcmcpCj4+ICt7Cj4+ICsJX191MzIgdGltZW91dDsKPj4gKwo+ PiArCXRpbWVvdXQgPSBmaWxlX2RhdGEtPnRpbWVvdXQ7Cj4+ICsKPj4gKwlyZXR1cm4gcHV0X3Vz ZXIodGltZW91dCwgKF9fdTMyIF9fdXNlciAqKWFyZyk7Cj4+ICt9Cj4+ICsKPj4gKy8qCj4+ICsg KiBTZXQgdGhlIHVzYiB0aW1lb3V0IHZhbHVlCj4+ICsgKi8KPj4gK3N0YXRpYyBpbnQgdXNidG1j X2lvY3RsX3NldF90aW1lb3V0KHN0cnVjdCB1c2J0bWNfZmlsZV9kYXRhICpmaWxlX2RhdGEsCj4+ ICsJCQkJdm9pZCBfX3VzZXIgKmFyZykKPj4gK3sKPj4gKwlfX3UzMiB0aW1lb3V0Owo+PiArCj4+ ICsJaWYgKGdldF91c2VyKHRpbWVvdXQsIChfX3UzMiBfX3VzZXIgKilhcmcpKQo+PiArCQlyZXR1 cm4gLUVGQVVMVDsKPj4gKwo+PiArCS8qIE5vdGUgdGhhdCB0aW1lb3V0ID0gMCBtZWFucwo+PiAr CSAqIE1BWF9TQ0hFRFVMRV9USU1FT1VUIGluIHVzYl9jb250cm9sX21zZwo+PiArCSAqLwo+PiAr CWlmICh0aW1lb3V0IDwgVVNCVE1DX01JTl9USU1FT1VUKQo+PiArCQlyZXR1cm4gLUVJTlZBTDsK Pj4gKwo+PiArCWZpbGVfZGF0YS0+dGltZW91dCA9IHRpbWVvdXQ7Cj4+ICsKPj4gKwlyZXR1cm4g MDsKPj4gK30KPj4gKwo+PiAgc3RhdGljIGxvbmcgdXNidG1jX2lvY3RsKHN0cnVjdCBmaWxlICpm aWxlLCB1bnNpZ25lZCBpbnQgY21kLCAgCj4+IHVuc2lnbmVkIGxvbmcgYXJnKQo+PiAgewo+PiAg CXN0cnVjdCB1c2J0bWNfZmlsZV9kYXRhICpmaWxlX2RhdGE7Cj4+IEBAIC0xMjUxLDYgKzEyOTEs MTYgQEAgc3RhdGljIGxvbmcgdXNidG1jX2lvY3RsKHN0cnVjdCBmaWxlICpmaWxlLCAgCj4+IHVu c2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQo+PiAgCQlyZXR2YWwgPSB1c2J0bWNf aW9jdGxfYWJvcnRfYnVsa19pbihkYXRhKTsKPj4gIAkJYnJlYWs7Cj4+Cj4+ICsJY2FzZSBVU0JU TUNfSU9DVExfR0VUX1RJTUVPVVQ6Cj4+ICsJCXJldHZhbCA9IHVzYnRtY19pb2N0bF9nZXRfdGlt ZW91dChmaWxlX2RhdGEsCj4+ICsJCQkJCQkgICh2b2lkIF9fdXNlciAqKWFyZyk7Cj4+ICsJCWJy ZWFrOwo+PiArCj4+ICsJY2FzZSBVU0JUTUNfSU9DVExfU0VUX1RJTUVPVVQ6Cj4+ICsJCXJldHZh bCA9IHVzYnRtY19pb2N0bF9zZXRfdGltZW91dChmaWxlX2RhdGEsCj4+ICsJCQkJCQkgICh2b2lk IF9fdXNlciAqKWFyZyk7Cj4+ICsJCWJyZWFrOwo+PiArCj4+ICAJY2FzZSBVU0JUTUM0ODhfSU9D VExfR0VUX0NBUFM6Cj4+ICAJCXJldHZhbCA9IGNvcHlfdG9fdXNlcigodm9pZCBfX3VzZXIgKilh cmcsCj4+ICAJCQkJJmRhdGEtPnVzYjQ4OF9jYXBzLAo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91 YXBpL2xpbnV4L3VzYi90bWMuaCBiL2luY2x1ZGUvdWFwaS9saW51eC91c2IvdG1jLmgKPj4gaW5k ZXggMDNmNmFkYzhmMzViLi5kNmRlMTkyMTUwZjQgMTAwNjQ0Cj4+IC0tLSBhL2luY2x1ZGUvdWFw aS9saW51eC91c2IvdG1jLmgKPj4gKysrIGIvaW5jbHVkZS91YXBpL2xpbnV4L3VzYi90bWMuaAo+ PiBAQCAtNDYsNiArNDYsOCBAQAo+PiAgI2RlZmluZSBVU0JUTUNfSU9DVExfQUJPUlRfQlVMS19J TglfSU8oVVNCVE1DX0lPQ19OUiwgNCkKPj4gICNkZWZpbmUgVVNCVE1DX0lPQ1RMX0NMRUFSX09V VF9IQUxUCV9JTyhVU0JUTUNfSU9DX05SLCA2KQo+PiAgI2RlZmluZSBVU0JUTUNfSU9DVExfQ0xF QVJfSU5fSEFMVAlfSU8oVVNCVE1DX0lPQ19OUiwgNykKPj4gKyNkZWZpbmUgVVNCVE1DX0lPQ1RM X0dFVF9USU1FT1VUCV9JT1IoVVNCVE1DX0lPQ19OUiwgOSwgdW5zaWduZWQgaW50KQo+PiArI2Rl ZmluZSBVU0JUTUNfSU9DVExfU0VUX1RJTUVPVVQJX0lPVyhVU0JUTUNfSU9DX05SLCAxMCwgdW5z aWduZWQgaW50KQo+Cj4gV2hhdCBpcyB0aGUgInNpemUiIG9mIHVuc2lnbmVkIGludCBpbiAzMiB2 cy4gNjQgYml0IGtlcm5lbHM/ICBTaG91bGRuJ3QKPiB0aGlzIGJlIF9fdTMyPwoKVGhhbmtzLiBP ZiBjb3Vyc2UsIHNhbWUgcHJvYmxlbS4gV2UgbWFrZSBfX3UzMi4KCj4KPiB0aGFua3MsCj4KPiBn cmVnIGstaAotLS0KVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUg InVuc3Vic2NyaWJlIGxpbnV4LXVzYiIgaW4KdGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9y ZG9tb0B2Z2VyLmtlcm5lbC5vcmcKTW9yZSBtYWpvcmRvbW8gaW5mbyBhdCAgaHR0cDovL3ZnZXIu a2VybmVsLm9yZy9tYWpvcmRvbW8taW5mby5odG1sCg==