From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Chen, Hongzhan" Subject: RE: [for-upstream/dovetail 1/2] drivers/gpio: core: introduce helper to find array of gpiochips Date: Mon, 17 May 2021 01:15:35 +0000 Message-ID: References: <20210513010238.32466-1-hongzhan.chen@intel.com> <20210513010238.32466-2-hongzhan.chen@intel.com> <2e41efd7-519f-d9c4-feda-8f60fc4ceb1c@siemens.com> In-Reply-To: <2e41efd7-519f-d9c4-feda-8f60fc4ceb1c@siemens.com> Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 List-Id: Discussions about the Xenomai project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Florian Bezdeka , "xenomai@xenomai.org" DQo+DQo+LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj5Gcm9tOiBGbG9yaWFuIEJlemRla2Eg PGZsb3JpYW4uYmV6ZGVrYUBzaWVtZW5zLmNvbT4gDQo+U2VudDogRnJpZGF5LCBNYXkgMTQsIDIw MjEgNToxMSBQTQ0KPlRvOiBDaGVuLCBIb25nemhhbiA8aG9uZ3poYW4uY2hlbkBpbnRlbC5jb20+ OyB4ZW5vbWFpQHhlbm9tYWkub3JnDQo+U3ViamVjdDogUmU6IFtmb3ItdXBzdHJlYW0vZG92ZXRh aWwgMS8yXSBkcml2ZXJzL2dwaW86IGNvcmU6IGludHJvZHVjZSBoZWxwZXIgdG8gZmluZCBhcnJh eSBvZiBncGlvY2hpcHMNCj4NCj5PbiAxNC4wNS4yMSAxMDo1NSwgRmxvcmlhbiBCZXpkZWthIHZp YSBYZW5vbWFpIHdyb3RlOg0KPj4gT24gMTMuMDUuMjEgMDM6MDIsIGhvbmd6aGExIHZpYSBYZW5v bWFpIHdyb3RlOg0KPj4+IFRvIGZpbmQgYXJyYXkgb2YgZ3Bpb2NoaXBzIGZvciBub24tT0YgcGxh dGZvcm0NCj4+Pg0KPj4+IFNpZ25lZC1vZmYtYnk6IGhvbmd6aGExIDxob25nemhhbi5jaGVuQGlu dGVsLmNvbT4NCj4+PiAtLS0NCj4+PiAgaW5jbHVkZS9jb2JhbHQva2VybmVsL3J0ZG0vZ3Bpby5o IHwgIDQgKysrKw0KPj4+ICBrZXJuZWwvZHJpdmVycy9ncGlvL2dwaW8tY29yZS5jICAgfCAxOSAr KysrKysrKysrKysrKysrKysrDQo+Pj4gIDIgZmlsZXMgY2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygr KQ0KPj4+DQo+Pj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvY29iYWx0L2tlcm5lbC9ydGRtL2dwaW8u aCBiL2luY2x1ZGUvY29iYWx0L2tlcm5lbC9ydGRtL2dwaW8uaA0KPj4+IGluZGV4IGM1ZmIyMGYy NS4uOTk3NzJmNTU4IDEwMDY0NA0KPj4+IC0tLSBhL2luY2x1ZGUvY29iYWx0L2tlcm5lbC9ydGRt L2dwaW8uaA0KPj4+ICsrKyBiL2luY2x1ZGUvY29iYWx0L2tlcm5lbC9ydGRtL2dwaW8uaA0KPj4+ IEBAIC02NCw2ICs2NCwxMCBAQCBpbnQgcnRkbV9ncGlvY2hpcF9wb3N0X2V2ZW50KHN0cnVjdCBy dGRtX2dwaW9fY2hpcCAqcmdjLA0KPj4+ICBpbnQgcnRkbV9ncGlvY2hpcF9maW5kKHN0cnVjdCBk ZXZpY2Vfbm9kZSAqZnJvbSwNCj4+PiAgCQkJICBjb25zdCBjaGFyICpsYWJlbCwgaW50IHR5cGUp Ow0KPj4+ICANCj4+PiAraW50IHJ0ZG1fZ3Bpb2NoaXBfYXJyYXlfZmluZChzdHJ1Y3QgZGV2aWNl X25vZGUgKmZyb20sDQo+Pj4gKwkJCQljb25zdCBjaGFyICpjb21wYXRbXSwNCj4+PiArCQkJCWlu dCBuZW50cmllcywgaW50IHR5cGUpOw0KPj4+ICsNCj4+PiAgI2lmZGVmIENPTkZJR19PRg0KPj4+ ICANCj4+PiAgaW50IHJ0ZG1fZ3Bpb2NoaXBfc2Nhbl9vZihzdHJ1Y3QgZGV2aWNlX25vZGUgKmZy b20sDQo+Pj4gZGlmZiAtLWdpdCBhL2tlcm5lbC9kcml2ZXJzL2dwaW8vZ3Bpby1jb3JlLmMgYi9r ZXJuZWwvZHJpdmVycy9ncGlvL2dwaW8tY29yZS5jDQo+Pj4gaW5kZXggYjNkODAxZmExLi4yMGE2 ZDc4NzUgMTAwNjQ0DQo+Pj4gLS0tIGEva2VybmVsL2RyaXZlcnMvZ3Bpby9ncGlvLWNvcmUuYw0K Pj4+ICsrKyBiL2tlcm5lbC9kcml2ZXJzL2dwaW8vZ3Bpby1jb3JlLmMNCj4+PiBAQCAtNTQzLDYg KzU0MywyNSBAQCBpbnQgcnRkbV9ncGlvY2hpcF9maW5kKHN0cnVjdCBkZXZpY2Vfbm9kZSAqZnJv bSwgY29uc3QgY2hhciAqbGFiZWwsDQo+Pj4gIH0NCj4+PiAgRVhQT1JUX1NZTUJPTF9HUEwocnRk bV9ncGlvY2hpcF9maW5kKTsNCj4+PiAgDQo+Pj4gK2ludCBydGRtX2dwaW9jaGlwX2FycmF5X2Zp bmQoc3RydWN0IGRldmljZV9ub2RlICpmcm9tLA0KPj4+ICsJCQkJY29uc3QgY2hhciAqY29tcGF0 W10sDQo+Pj4gKwkJCQlpbnQgbmVudHJpZXMsIGludCB0eXBlKQ0KPj4+ICt7DQo+Pj4gKwlpbnQg cmV0ID0gLUVOT0RFViwgX3JldCwgbjsNCj4+PiArDQo+Pj4gKwlmb3IgKG4gPSAwOyBuIDwgbmVu dHJpZXM7IG4rKykgew0KPj4+ICsJCV9yZXQgPSBydGRtX2dwaW9jaGlwX2ZpbmQoZnJvbSwgY29t cGF0W25dLCB0eXBlKTsNCj4+PiArCQlpZiAoX3JldCkgew0KPj4+ICsJCQlpZiAoX3JldCAhPSAt RU5PREVWKQ0KPj4+ICsJCQkJcmV0dXJuIF9yZXQ7DQo+Pj4gKwkJfSBlbHNlDQo+Pj4gKwkJCXJl dCA9IDA7DQo+Pj4gKwl9DQo+Pj4gKw0KPj4+ICsJcmV0dXJuIHJldDsNCj4+PiArfQ0KPj4gDQo+ PiBJJ20gbm90IHN1cmUgaWYgSSBjb21wbGV0ZWx5IHVuZGVyc3RhbmQgdGhlIGNvZGUsIGJ1dCBt YXliZSBpdCBjb3VsZCBiZQ0KPj4gc2ltcGxpZmllZCB0bzoNCj4+IA0KPj4gew0KPj4gCWludCBy ZXQsIG47DQo+PiANCj4+IAlmb3IgKG4gPSAwOyBuIDwgbmVudHJpZXM7IG4rKykgew0KPiAJCXJl dCA9IHJ0ZG1fZ3Bpb2NoaXBfZmluZChmcm9tLCBjb21wYXRbbl0sIHR5cGUpOw0KPiANCj4gCQlp ZiAocmV0ICYmIHJldCAhPSAtRU5PREVWKQ0KPiAJCQlicmVhazsNCj4gCX0NCj4gDQo+IAlyZXR1 cm4gcmV0Ow0KPiB9DQo+DQo+djI6DQo+ew0KPglpbnQgcmV0LCBuOw0KPg0KPglmb3IgKG4gPSAw OyBuIDwgbmVudHJpZXM7IG4rKykgew0KPgkJcmV0ID0gcnRkbV9ncGlvY2hpcF9maW5kKGZyb20s IGNvbXBhdFtuXSwgdHlwZSk7DQo+DQo+CQlpZiAocmV0ICYmIHJldCAhPSAtRU5PREVWKQ0KPgkJ CWJyZWFrOw0KPg0KPgkJLy8gU2hvdWxkIHdlIHN0b3Agb24gZmlyc3QgLUVOT0RFVj8NCj4JCWlm IChyZXQgJiYgcmV0ID09IC1FTk9ERVYpDQo+CQkJcmV0ID0gMDsNCg0KVGhhbmtzIGZvciB5b3Vy IGFkdmljZXMuIA0KDQpUaGUgY29kZSBhY3R1YWxseSBpcyByZWZlcnJpbmcgdG8gcnRkbV9ncGlv Y2hpcF9zY2FuX2FycmF5X29mIGZ1bmN0aW9uIHRvdGFsbHkgYnV0IHdlIGhhdmUgdG8gaW1wbGVt ZW50IGhlbHBlciBmb3IgDQpOb24tb2YgcGxhdGZvcm0gdG8gZmluZCBncGlvY2hpcCB3aXRoIHNj YW5uaW5nIHdob2xlIGFycmF5LiAgDQoNClJlZ2FyZHMNCg0KSG9uZ3poYW4gQ2hlbg0KDQo+CX0N Cj4NCj4JcmV0dXJuIHJldDsNCj59DQo+PiANCj4+PiArRVhQT1JUX1NZTUJPTF9HUEwocnRkbV9n cGlvY2hpcF9hcnJheV9maW5kKTsNCj4+PiArDQo+Pj4gICNpZmRlZiBDT05GSUdfT0YNCj4+PiAg DQo+Pj4gICNpbmNsdWRlIDxsaW51eC9vZl9wbGF0Zm9ybS5oPg0KPj4+DQo+PiANCj4+IA0KPg0K Pg0KPi0tIA0KPlNpZW1lbnMgQUcsIFQgUkRBIElPVA0KPkNvcnBvcmF0ZSBDb21wZXRlbmNlIENl bnRlciBFbWJlZGRlZCBMaW51eA0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTog RmxvcmlhbiBCZXpkZWthIDxmbG9yaWFuLmJlemRla2FAc2llbWVucy5jb20+IA0KU2VudDogRnJp ZGF5LCBNYXkgMTQsIDIwMjEgNToxMSBQTQ0KVG86IENoZW4sIEhvbmd6aGFuIDxob25nemhhbi5j aGVuQGludGVsLmNvbT47IHhlbm9tYWlAeGVub21haS5vcmcNClN1YmplY3Q6IFJlOiBbZm9yLXVw c3RyZWFtL2RvdmV0YWlsIDEvMl0gZHJpdmVycy9ncGlvOiBjb3JlOiBpbnRyb2R1Y2UgaGVscGVy IHRvIGZpbmQgYXJyYXkgb2YgZ3Bpb2NoaXBzDQoNCk9uIDE0LjA1LjIxIDEwOjU1LCBGbG9yaWFu IEJlemRla2EgdmlhIFhlbm9tYWkgd3JvdGU6DQo+IE9uIDEzLjA1LjIxIDAzOjAyLCBob25nemhh MSB2aWEgWGVub21haSB3cm90ZToNCj4+IFRvIGZpbmQgYXJyYXkgb2YgZ3Bpb2NoaXBzIGZvciBu b24tT0YgcGxhdGZvcm0NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBob25nemhhMSA8aG9uZ3poYW4u Y2hlbkBpbnRlbC5jb20+DQo+PiAtLS0NCj4+ICBpbmNsdWRlL2NvYmFsdC9rZXJuZWwvcnRkbS9n cGlvLmggfCAgNCArKysrDQo+PiAga2VybmVsL2RyaXZlcnMvZ3Bpby9ncGlvLWNvcmUuYyAgIHwg MTkgKysrKysrKysrKysrKysrKysrKw0KPj4gIDIgZmlsZXMgY2hhbmdlZCwgMjMgaW5zZXJ0aW9u cygrKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2NvYmFsdC9rZXJuZWwvcnRkbS9ncGlv LmggYi9pbmNsdWRlL2NvYmFsdC9rZXJuZWwvcnRkbS9ncGlvLmgNCj4+IGluZGV4IGM1ZmIyMGYy NS4uOTk3NzJmNTU4IDEwMDY0NA0KPj4gLS0tIGEvaW5jbHVkZS9jb2JhbHQva2VybmVsL3J0ZG0v Z3Bpby5oDQo+PiArKysgYi9pbmNsdWRlL2NvYmFsdC9rZXJuZWwvcnRkbS9ncGlvLmgNCj4+IEBA IC02NCw2ICs2NCwxMCBAQCBpbnQgcnRkbV9ncGlvY2hpcF9wb3N0X2V2ZW50KHN0cnVjdCBydGRt X2dwaW9fY2hpcCAqcmdjLA0KPj4gIGludCBydGRtX2dwaW9jaGlwX2ZpbmQoc3RydWN0IGRldmlj ZV9ub2RlICpmcm9tLA0KPj4gIAkJCSAgY29uc3QgY2hhciAqbGFiZWwsIGludCB0eXBlKTsNCj4+ ICANCj4+ICtpbnQgcnRkbV9ncGlvY2hpcF9hcnJheV9maW5kKHN0cnVjdCBkZXZpY2Vfbm9kZSAq ZnJvbSwNCj4+ICsJCQkJY29uc3QgY2hhciAqY29tcGF0W10sDQo+PiArCQkJCWludCBuZW50cmll cywgaW50IHR5cGUpOw0KPj4gKw0KPj4gICNpZmRlZiBDT05GSUdfT0YNCj4+ICANCj4+ICBpbnQg cnRkbV9ncGlvY2hpcF9zY2FuX29mKHN0cnVjdCBkZXZpY2Vfbm9kZSAqZnJvbSwNCj4+IGRpZmYg LS1naXQgYS9rZXJuZWwvZHJpdmVycy9ncGlvL2dwaW8tY29yZS5jIGIva2VybmVsL2RyaXZlcnMv Z3Bpby9ncGlvLWNvcmUuYw0KPj4gaW5kZXggYjNkODAxZmExLi4yMGE2ZDc4NzUgMTAwNjQ0DQo+ PiAtLS0gYS9rZXJuZWwvZHJpdmVycy9ncGlvL2dwaW8tY29yZS5jDQo+PiArKysgYi9rZXJuZWwv ZHJpdmVycy9ncGlvL2dwaW8tY29yZS5jDQo+PiBAQCAtNTQzLDYgKzU0MywyNSBAQCBpbnQgcnRk bV9ncGlvY2hpcF9maW5kKHN0cnVjdCBkZXZpY2Vfbm9kZSAqZnJvbSwgY29uc3QgY2hhciAqbGFi ZWwsDQo+PiAgfQ0KPj4gIEVYUE9SVF9TWU1CT0xfR1BMKHJ0ZG1fZ3Bpb2NoaXBfZmluZCk7DQo+ PiAgDQo+PiAraW50IHJ0ZG1fZ3Bpb2NoaXBfYXJyYXlfZmluZChzdHJ1Y3QgZGV2aWNlX25vZGUg KmZyb20sDQo+PiArCQkJCWNvbnN0IGNoYXIgKmNvbXBhdFtdLA0KPj4gKwkJCQlpbnQgbmVudHJp ZXMsIGludCB0eXBlKQ0KPj4gK3sNCj4+ICsJaW50IHJldCA9IC1FTk9ERVYsIF9yZXQsIG47DQo+ PiArDQo+PiArCWZvciAobiA9IDA7IG4gPCBuZW50cmllczsgbisrKSB7DQo+PiArCQlfcmV0ID0g cnRkbV9ncGlvY2hpcF9maW5kKGZyb20sIGNvbXBhdFtuXSwgdHlwZSk7DQo+PiArCQlpZiAoX3Jl dCkgew0KPj4gKwkJCWlmIChfcmV0ICE9IC1FTk9ERVYpDQo+PiArCQkJCXJldHVybiBfcmV0Ow0K Pj4gKwkJfSBlbHNlDQo+PiArCQkJcmV0ID0gMDsNCj4+ICsJfQ0KPj4gKw0KPj4gKwlyZXR1cm4g cmV0Ow0KPj4gK30NCj4gDQo+IEknbSBub3Qgc3VyZSBpZiBJIGNvbXBsZXRlbHkgdW5kZXJzdGFu ZCB0aGUgY29kZSwgYnV0IG1heWJlIGl0IGNvdWxkIGJlDQo+IHNpbXBsaWZpZWQgdG86DQo+IA0K PiB7DQo+IAlpbnQgcmV0LCBuOw0KPiANCj4gCWZvciAobiA9IDA7IG4gPCBuZW50cmllczsgbisr KSB7DQo+IAkJcmV0ID0gcnRkbV9ncGlvY2hpcF9maW5kKGZyb20sIGNvbXBhdFtuXSwgdHlwZSk7 DQo+IA0KPiAJCWlmIChyZXQgJiYgcmV0ICE9IC1FTk9ERVYpDQo+IAkJCWJyZWFrOw0KPiAJfQ0K PiANCj4gCXJldHVybiByZXQ7DQo+IH0NCg0KdjI6DQp7DQoJaW50IHJldCwgbjsNCg0KCWZvciAo biA9IDA7IG4gPCBuZW50cmllczsgbisrKSB7DQoJCXJldCA9IHJ0ZG1fZ3Bpb2NoaXBfZmluZChm cm9tLCBjb21wYXRbbl0sIHR5cGUpOw0KDQoJCWlmIChyZXQgJiYgcmV0ICE9IC1FTk9ERVYpDQoJ CQlicmVhazsNCg0KCQkvLyBTaG91bGQgd2Ugc3RvcCBvbiBmaXJzdCAtRU5PREVWPw0KCQlpZiAo cmV0ICYmIHJldCA9PSAtRU5PREVWKQ0KCQkJcmV0ID0gMDsNCgl9DQoNCglyZXR1cm4gcmV0Ow0K fQ0KPiANCj4+ICtFWFBPUlRfU1lNQk9MX0dQTChydGRtX2dwaW9jaGlwX2FycmF5X2ZpbmQpOw0K Pj4gKw0KPj4gICNpZmRlZiBDT05GSUdfT0YNCj4+ICANCj4+ICAjaW5jbHVkZSA8bGludXgvb2Zf cGxhdGZvcm0uaD4NCj4+DQo+IA0KPiANCg0KDQotLSANClNpZW1lbnMgQUcsIFQgUkRBIElPVA0K Q29ycG9yYXRlIENvbXBldGVuY2UgQ2VudGVyIEVtYmVkZGVkIExpbnV4DQo=