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: [3/8] usb: gadget: uvc: configfs: Allocate groups dynamically From: Laurent Pinchart Message-Id: <7269586.OUnpxaZDRU@avalon> Date: Thu, 02 Aug 2018 00:37:13 +0300 To: kieran.bingham@ideasonboard.com Cc: linux-usb@vger.kernel.org, Felipe Balbi , Joel Pepper , Andrzej Pietrasiewicz List-ID: SGkgS2llcmFuLAoKT24gV2VkbmVzZGF5LCAxIEF1Z3VzdCAyMDE4IDEyOjU4OjQwIEVFU1QgS2ll cmFuIEJpbmdoYW0gd3JvdGU6Cj4gT24gMDEvMDgvMTggMDE6MjksIExhdXJlbnQgUGluY2hhcnQg d3JvdGU6Cj4gPiBUaGUgVVZDIGNvbmZpZ2ZzIGltcGxlbWVudGF0aW9uIGNyZWF0ZXMgYWxsIGdy b3VwcyBhcyBnbG9iYWwgc3RhdGljCj4gPiB2YXJpYWJsZXMuIFRoaXMgcHJldmVudHMgY3JlYXRp b25nIG9mIG11bHRpcGxlIFVWQyBmdW5jdGlvbiBpbnN0YW5jZXMsCj4gCj4gL2NyZWF0aW9uZy9j cmVhdGlvbi8KPiAKPiA+IGFzIHRoZXkgd291bGQgYWxsIHJlcXVpcmUgdGhlaXIgb3duIGNvbmZp Z2ZzIGdyb3VwIGluc3RhbmNlcy4KPiA+IAo+ID4gRml4IHRoaXMgYnkgYWxsb2NhdGluZyBhbGwg Z3JvdXBzIGR5bmFtaWNhbGx5LiBUbyBhdm9pZCBkdXBsaWNhdGluZyBjb2RlCj4gPiBhcm91bmQs IGV4dGVuZCB0aGUgY29uZmlnX2l0ZW1fdHlwZSBzdHJ1Y3R1cmUgd2l0aCBncm91cCBuYW1lIGFu ZAo+ID4gY2hpbGRyZW4sIGFuZCBpbXBsZW1lbnQgaGVscGVyIGZ1bmN0aW9ucyB0byBjcmVhdGUg Y2hpbGRyZW4KPiA+IGF1dG9tYXRpY2FsbHkgZm9yIG1vc3QgZ3JvdXBzLgo+ID4gCj4gPiBTaWdu ZWQtb2ZmLWJ5OiBMYXVyZW50IFBpbmNoYXJ0IDxsYXVyZW50LnBpbmNoYXJ0QGlkZWFzb25ib2Fy ZC5jb20+Cj4gCj4gSSdtIHN0cnVnZ2xpbmcgdG8gc2VlIHdoYXQgcGF0aHMgZnJlZSBhbGwgb2Yg dGhlIGR5bmFtaWNhbGx5IGNyZWF0ZWQKPiBjaGlsZHJlbiBpbiB0aGlzIHBhdGNoLgo+IAo+IElz IHRoaXMgYWxyZWFkeSBzdXBwb3J0ZWQgYnkgdGhlIGNvbmZpZ19ncm91cCBmcmFtZXdvcms/Cj4g Cj4gSSBzZWUgYSByZWZlcmVuY2UgdG8gY29uZmlnX2dyb3VwX3B1dCgmb3B0cy0+ZnVuY19pbnN0 Lmdyb3VwKTsgaW4gb25lCj4gZXJyb3IgcGF0aCAtIGJ1dCB0aGF0J3MgYWJvdXQgaXQuCj4gCj4g QW0gSSBtaXNzaW5nIHNvbWV0aGluZyBuaWNlIGFuZCBvYnZpb3VzPyAob3IgaXMgaXQgYWxyZWFk eSBoYW5kbGVkIGJ5Cj4gZnJhbWV3b3JrIGNvZGUgbm90IGluIHRoaXMgcGF0Y2gpCj4gCj4gCj4g SW4gZmFjdCwgSSBjYW4ndCBzZWUgaG93IGl0IGNvdWxkIGJlIGhhbmRsZWQgYnkgY29yZSAtIGFz IHRoZSBjaGlsZHJlbgo+IGFyZSBhZGRlZCB0byBhIG5ldyBzdHJ1Y3R1cmUgeW91IGhhdmUgY3Jl YXRlZC4KPiAKPiBJJ2xsIGxldCB5b3UgbG9vayBpbnRvIHRoaXMgOikKCkkgZGlkLCBmb3IgYSB3 aG9sZSBkYXkgOi1TIEl0IHdhc24ndCBlYXN5IGFzIHRoZSBjb25maWdmcyBkb2N1bWVudGF0aW9u IGlzIApxdWl0ZSB0ZXJzZSwgYW5kIGRvZXNuJ3QgY2xlYXJseSBleHBsYWluIHdoZW4gYW5kIGhv dyByZWZlcmVuY2VzIHNob3VsZCBiZSAKYWNxdWlyZWQgYW5kIHJlbGVhc2VkLiBJJ2xsIHBvc3Qg YSB2MiBzaG9ydGx5LgoKPiA+IC0tLQo+ID4gCj4gPiAgZHJpdmVycy91c2IvZ2FkZ2V0L2Z1bmN0 aW9uL2ZfdXZjLmMgICAgICAgIHwgICA4ICstCj4gPiAgZHJpdmVycy91c2IvZ2FkZ2V0L2Z1bmN0 aW9uL3V2Y19jb25maWdmcy5jIHwgNDgwICsrKysrKysrKysrKysrLS0tLS0tLS0tLQo+ID4gIDIg ZmlsZXMgY2hhbmdlZCwgMjgyIGluc2VydGlvbnMoKyksIDIwNiBkZWxldGlvbnMoLSkKCltzbmlw XQoKCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L2Z1bmN0aW9uL3V2Y19jb25m aWdmcy5jCj4gPiBiL2RyaXZlcnMvdXNiL2dhZGdldC9mdW5jdGlvbi91dmNfY29uZmlnZnMuYyBp bmRleAo+ID4gZGJjOTVjOTU1OGRlLi5lMDE5ZWEzMTdjN2EgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2 ZXJzL3VzYi9nYWRnZXQvZnVuY3Rpb24vdXZjX2NvbmZpZ2ZzLmMKPiA+ICsrKyBiL2RyaXZlcnMv dXNiL2dhZGdldC9mdW5jdGlvbi91dmNfY29uZmlnZnMuYwoKW3NuaXBdCgo+ID4gLXN0YXRpYyBz dHJ1Y3QgY29uZmlnX2dyb3VwIHV2Y2dfdGVybWluYWxfZ3JwOwo+ID4gLQo+ID4gLXN0YXRpYyBj b25zdCBzdHJ1Y3QgY29uZmlnX2l0ZW1fdHlwZSB1dmNnX3Rlcm1pbmFsX2dycF90eXBlID0gewo+ ID4gLQkuY3Rfb3duZXIgPSBUSElTX01PRFVMRSwKPiA+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHV2 Y2dfY29uZmlnX2dyb3VwX3R5cGUgdXZjZ190ZXJtaW5hbF9ncnBfdHlwZSA9IHsKPiA+ICsJLnR5 cGUgPSB7Cj4gPiArCQkuY3Rfb3duZXIgPSBUSElTX01PRFVMRSwKPiA+ICsJfSwKPiA+ICsJLm5h bWUgPSAidGVybWluYWwiLAo+ID4gKwkuY2hpbGRyZW4gPSAoY29uc3Qgc3RydWN0IHV2Y2dfY29u ZmlnX2dyb3VwX3R5cGUqW10pIHsKPiAKPiBJcyB0aGlzIGNhc3QgcmVhbGx5IG5lZWRlZD8gT3Ig aXMgaXQganVzdCB0byBjb25zdGlmeSB0aGUgYXJyYXkgPwoKSXQncyBuZWVkZWQgdG8gbWFrZSB0 aGUgZXhwcmVzc2lvbiB3aXRoaW4gdGhlIGN1cmx5IGJyYWNlcyBhbiBhcnJheSB0aGF0IGlzIAp0 aGVuIHR1cm5lZCBpbnRvIGEgcG9pbnRlciB0byBpbml0aWFsaXplIHRoZSBjaGlsZHJlbiBmaWVs ZCwgd2hpY2ggaXMgZGVmaW5lZCAKYXMKCgljb25zdCBzdHJ1Y3QgdXZjZ19jb25maWdfZ3JvdXBf dHlwZSAqKmNoaWxkcmVuOwoKV2l0aG91dCB0aGF0IHlvdSB3b3VsZCBnZXQgdGhlIGZvbGxvd2lu ZyBjb21waWxhdGlvbiBlcnJvcnMuCgpkcml2ZXJzL3VzYi9nYWRnZXQvZnVuY3Rpb24vdXZjX2Nv bmZpZ2ZzLmM6NTU3OjI6IGVycm9yOiBicmFjZXMgYXJvdW5kIHNjYWxhciAKaW5pdGlhbGl6ZXIg Wy1XZXJyb3JdCmRyaXZlcnMvdXNiL2dhZGdldC9mdW5jdGlvbi91dmNfY29uZmlnZnMuYzo1NTc6 MjogZXJyb3I6IChuZWFyIGluaXRpYWxpemF0aW9uIApmb3Ig4oCYdXZjZ190ZXJtaW5hbF9ncnBf dHlwZS5jaGlsZHJlbuKAmSkgWy1XZXJyb3JdCmRyaXZlcnMvdXNiL2dhZGdldC9mdW5jdGlvbi91 dmNfY29uZmlnZnMuYzo1NTg6MzogZXJyb3I6IGluaXRpYWxpemF0aW9uIGZyb20gCmluY29tcGF0 aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3JdIApkcml2ZXJzL3VzYi9nYWRnZXQvZnVuY3Rpb24v dXZjX2NvbmZpZ2ZzLmM6NTU4OjM6IGVycm9yOiAobmVhciBpbml0aWFsaXphdGlvbiAKZm9yIOKA mHV2Y2dfdGVybWluYWxfZ3JwX3R5cGUuY2hpbGRyZW7igJkpIFstV2Vycm9yXQpkcml2ZXJzL3Vz Yi9nYWRnZXQvZnVuY3Rpb24vdXZjX2NvbmZpZ2ZzLmM6NTU5OjM6IGVycm9yOiBleGNlc3MgZWxl bWVudHMgaW4gCnNjYWxhciBpbml0aWFsaXplciBbLVdlcnJvcl0gCmRyaXZlcnMvdXNiL2dhZGdl dC9mdW5jdGlvbi91dmNfY29uZmlnZnMuYzo1NTk6MzogZXJyb3I6IChuZWFyIGluaXRpYWxpemF0 aW9uIApmb3Ig4oCYdXZjZ190ZXJtaW5hbF9ncnBfdHlwZS5jaGlsZHJlbuKAmSkgWy1XZXJyb3Jd CmRyaXZlcnMvdXNiL2dhZGdldC9mdW5jdGlvbi91dmNfY29uZmlnZnMuYzo1NjA6MzogZXJyb3I6 IGV4Y2VzcyBlbGVtZW50cyBpbiAKc2NhbGFyIGluaXRpYWxpemVyIFstV2Vycm9yXSAKZHJpdmVy cy91c2IvZ2FkZ2V0L2Z1bmN0aW9uL3V2Y19jb25maWdmcy5jOjU2MDozOiBlcnJvcjogKG5lYXIg aW5pdGlhbGl6YXRpb24gCmZvciDigJh1dmNnX3Rlcm1pbmFsX2dycF90eXBlLmNoaWxkcmVu4oCZ KSBbLVdlcnJvcl0KClN1Y2ggYSBzeW50YXggcmVtb3ZlcyB0aGUgbmVlZCB0byBkZWNsYXJlIHRo ZSBhcnJheSBleHRlcm5hbGx5IHRvIAp1dmNnX3Rlcm1pbmFsX2dycF90eXBlIGFzCgpzdGF0aWMg Y29uc3Qgc3RydWN0IHV2Y2dfY29uZmlnX2dyb3VwX3R5cGUgKnV2Y2dfdGVybWluYWxfZ3JwX2No aWxkcmVuW10gPSB7CgkmdXZjZ19jYW1lcmFfZ3JwX3R5cGUsCgkmdXZjZ19vdXRwdXRfZ3JwX3R5 cGUsCglOVUxMLAp9OwoKc3RhdGljIGNvbnN0IHN0cnVjdCB1dmNnX2NvbmZpZ19ncm91cF90eXBl IHV2Y2dfdGVybWluYWxfZ3JwX3R5cGUgPSB7CgkudHlwZSA9IHsKCQkuY3Rfb3duZXIgPSBUSElT X01PRFVMRSwKCX0sCgkubmFtZSA9ICJ0ZXJtaW5hbCIsCgkuY2hpbGRyZW4gPSB1dmNnX3Rlcm1p bmFsX2dycF9jaGlsZHJlbiwKfTsKCj4gPiArCQkmdXZjZ19jYW1lcmFfZ3JwX3R5cGUsCj4gPiAr CQkmdXZjZ19vdXRwdXRfZ3JwX3R5cGUsCj4gPiArCQlOVUxMLAo+ID4gKwl9LAo+ID4gIH07Cgpb c25pcF0K