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: [v2] usbip: dynamically allocate idev by nports found in sysfs From: Shuah Khan Message-Id: Date: Tue, 22 May 2018 16:56:13 -0600 To: Michael Grzeschik , linux-usb@vger.kernel.org Cc: valentina.manea.m@gmail.com, gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org, kernel@pengutronix.de, Shuah Khan List-ID: T24gMDUvMjIvMjAxOCAxMTowNCBBTSwgTWljaGFlbCBHcnplc2NoaWsgd3JvdGU6Cj4gQXMgdGhl IGFtb3VudCBvZiBhdmFpbGFibGUgcG9ydHMgdmFyaWVzIGJ5IHRoZSBrZXJuZWxzIGJ1aWxkCj4g Y29uZmlndXJhdGlvbi4gVG8gcmVtb3ZlIHRoZSBsaW1pdGF0aW9uIG9mIHRoZSBmaXhlZCAxMjgg cG9ydHMKPiB3ZSBhbGxvY2F0ZSB0aGUgYW1vdW50IG9mIGlkZXZzIGJ5IHVzaW5nIHRoZSBudW1i ZXIgd2UgZ2V0Cj4gZnJvbSB0aGUga2VybmVsLgo+IAo+IFNpZ25lZC1vZmYtYnk6IE1pY2hhZWwg R3J6ZXNjaGlrIDxtLmdyemVzY2hpa0BwZW5ndXRyb25peC5kZT4KPiAtLS0KPiB2MSAtPiB2Mjog LSByZXdvcmtlZCBtZW1vcnkgYWxsb2NhdGlvbiBpbnRvIG9uZSBjYWxsb2MgY2FsbAo+ICAgICAg ICAgICAtIGFkZGVkIGVycm9yIHBhdGggb24gYWxsb2NhdGlvbiBmYWlsdXJlCj4gCj4gIHRvb2xz L3VzYi91c2JpcC9saWJzcmMvdmhjaV9kcml2ZXIuYyB8IDE0ICsrKysrKysrKy0tLS0tCj4gIHRv b2xzL3VzYi91c2JpcC9saWJzcmMvdmhjaV9kcml2ZXIuaCB8ICAzICstLQo+ICAyIGZpbGVzIGNo YW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBh L3Rvb2xzL3VzYi91c2JpcC9saWJzcmMvdmhjaV9kcml2ZXIuYyBiL3Rvb2xzL3VzYi91c2JpcC9s aWJzcmMvdmhjaV9kcml2ZXIuYwo+IGluZGV4IGM5YzgxNjE0YTY2YWQuLjZlMmE5ZWRmZDFmMGQg MTAwNjQ0Cj4gLS0tIGEvdG9vbHMvdXNiL3VzYmlwL2xpYnNyYy92aGNpX2RyaXZlci5jCj4gKysr IGIvdG9vbHMvdXNiL3VzYmlwL2xpYnNyYy92aGNpX2RyaXZlci5jCj4gQEAgLTI0MiwxMyArMjQy LDIwIEBAIHN0YXRpYyBpbnQgcmVhZF9yZWNvcmQoaW50IHJocG9ydCwgY2hhciAqaG9zdCwgdW5z aWduZWQgbG9uZyBob3N0X2xlbiwKPiAgCj4gIGludCB1c2JpcF92aGNpX2RyaXZlcl9vcGVuKHZv aWQpCj4gIHsKPiArCWludCBucG9ydHMgPSBnZXRfbnBvcnRzKCk7Cj4gCgpJIG1pc3NlZCB0aGlz IGVycm9yIGxlZyBpbiBteSBwcmV2aW91cyBjb21tZW50cy4gZ2V0X25wb3J0cygpIGNvdWxkIHJl dHVybgplcnJvcndoaWNoIGlzIC0xLgoKPiAgCXVkZXZfY29udGV4dCA9IHVkZXZfbmV3KCk7Cj4g IAlpZiAoIXVkZXZfY29udGV4dCkgewo+ICAJCWVycigidWRldl9uZXcgZmFpbGVkIik7Cj4gIAkJ cmV0dXJuIC0xOwo+ICAJfQo+ICAKPiAtCXZoY2lfZHJpdmVyID0gY2FsbG9jKDEsIHNpemVvZihz dHJ1Y3QgdXNiaXBfdmhjaV9kcml2ZXIpKTsKPiArCXZoY2lfZHJpdmVyID0gY2FsbG9jKDEsIHNp emVvZihzdHJ1Y3QgdXNiaXBfdmhjaV9kcml2ZXIpICsKPiArCQkJbnBvcnRzICogc2l6ZW9mKHN0 cnVjdCB1c2JpcF9pbXBvcnRlZF9kZXZpY2UpKTsKCm5wb3J0cyBjb3VsZCBiZSAtMSBhdCB0aGlz IHBvaW50LgoKPiArCWlmICghdmhjaV9kcml2ZXIpIHsKPiArCQllcnIoInZoY2lfZHJpdmVyIGFs bG9jYXRpb24gZmFpbGVkIik7Cj4gKwkJcmV0dXJuIC0xOwo+ICsJfQo+ICAKPiAgCS8qIHdpbGwg YmUgZnJlZWQgaW4gdXNiaXBfZHJpdmVyX2Nsb3NlKCkgKi8KPiAgCXZoY2lfZHJpdmVyLT5oY19k ZXZpY2UgPQo+IEBAIC0yNjAsMTUgKzI2NywxMiBAQCBpbnQgdXNiaXBfdmhjaV9kcml2ZXJfb3Bl bih2b2lkKQo+ICAJCWdvdG8gZXJyOwo+ICAJfQo+ICAKPiAtCXZoY2lfZHJpdmVyLT5ucG9ydHMg PSBnZXRfbnBvcnRzKCk7Cj4gKwl2aGNpX2RyaXZlci0+bnBvcnRzID0gbnBvcnRzOwo+ICAJZGJn KCJhdmFpbGFibGUgcG9ydHM6ICVkIiwgdmhjaV9kcml2ZXItPm5wb3J0cyk7Cj4gIAo+ICAJaWYg KHZoY2lfZHJpdmVyLT5ucG9ydHMgPD0gMCkgewo+ICAJCWVycigibm8gYXZhaWxhYmxlIHBvcnRz Iik7Cj4gIAkJZ290byBlcnI7ClRoaXMgY2hlY2sgc2hvdWxkIG1vdmUgdXAgYWxvbmcgd2l0aCB0 aGUgZ2V0X25wb3J0cygpIGNhbGwuCgo+IC0JfSBlbHNlIGlmICh2aGNpX2RyaXZlci0+bnBvcnRz ID4gTUFYTlBPUlQpIHsKPiAtCQllcnIoInBvcnQgbnVtYmVyIGV4Y2VlZHMgJWQiLCBNQVhOUE9S VCk7Cj4gLQkJZ290byBlcnI7Cj4gIAl9Cj4gIAo+ICAJdmhjaV9kcml2ZXItPm5jb250cm9sbGVy cyA9IGdldF9uY29udHJvbGxlcnMoKTsKPiBkaWZmIC0tZ2l0IGEvdG9vbHMvdXNiL3VzYmlwL2xp YnNyYy92aGNpX2RyaXZlci5oIGIvdG9vbHMvdXNiL3VzYmlwL2xpYnNyYy92aGNpX2RyaXZlci5o Cj4gaW5kZXggNDE4YjQwNGQ1MTIxMC4uNmM5YWNhMjE2NzA1MSAxMDA2NDQKPiAtLS0gYS90b29s cy91c2IvdXNiaXAvbGlic3JjL3ZoY2lfZHJpdmVyLmgKPiArKysgYi90b29scy91c2IvdXNiaXAv bGlic3JjL3ZoY2lfZHJpdmVyLmgKPiBAQCAtMTMsNyArMTMsNiBAQAo+ICAKPiAgI2RlZmluZSBV U0JJUF9WSENJX0JVU19UWVBFICJwbGF0Zm9ybSIKPiAgI2RlZmluZSBVU0JJUF9WSENJX0RFVklD RV9OQU1FICJ2aGNpX2hjZC4wIgo+IC0jZGVmaW5lIE1BWE5QT1JUIDEyOAo+ICAKPiAgZW51bSBo dWJfc3BlZWQgewo+ICAJSFVCX1NQRUVEX0hJR0ggPSAwLAo+IEBAIC00MSw3ICs0MCw3IEBAIHN0 cnVjdCB1c2JpcF92aGNpX2RyaXZlciB7Cj4gIAo+ICAJaW50IG5jb250cm9sbGVyczsKPiAgCWlu dCBucG9ydHM7Cj4gLQlzdHJ1Y3QgdXNiaXBfaW1wb3J0ZWRfZGV2aWNlIGlkZXZbTUFYTlBPUlRd Owo+ICsJc3RydWN0IHVzYmlwX2ltcG9ydGVkX2RldmljZSBpZGV2W107Cj4gIH07Cj4gIAo+ICAK PiAKCnRoYW5rcywKLS0gU2h1YWgKLS0tClRvIHVuc3Vic2NyaWJlIGZyb20gdGhpcyBsaXN0OiBz ZW5kIHRoZSBsaW5lICJ1bnN1YnNjcmliZSBsaW51eC11c2IiIGluCnRoZSBib2R5IG9mIGEgbWVz c2FnZSB0byBtYWpvcmRvbW9Admdlci5rZXJuZWwub3JnCk1vcmUgbWFqb3Jkb21vIGluZm8gYXQg IGh0dHA6Ly92Z2VyLmtlcm5lbC5vcmcvbWFqb3Jkb21vLWluZm8uaHRtbAo=