From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [RFC 3/7] drm/omap: Manage the usable omap_dss_device list within omap_drm_private Date: Fri, 01 Sep 2017 14:27:08 +0300 Message-ID: <3510335.Tu8AiCYPt6@avalon> References: <20170829073218.11097-1-peter.ujfalusi@ti.com> <20170829073218.11097-4-peter.ujfalusi@ti.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from galahad.ideasonboard.com (galahad.ideasonboard.com [185.26.127.97]) by gabe.freedesktop.org (Postfix) with ESMTPS id 889B86E218 for ; Fri, 1 Sep 2017 13:13:09 +0000 (UTC) In-Reply-To: <20170829073218.11097-4-peter.ujfalusi@ti.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Peter Ujfalusi Cc: tomi.valkeinen@ti.com, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org SGkgUGV0ZXIsCgpUaGFuayB5b3UgZm9yIHRoZSBwYXRjaC4KCk9uIFR1ZXNkYXksIDI5IEF1Z3Vz dCAyMDE3IDEwOjMyOjE0IEVFU1QgUGV0ZXIgVWpmYWx1c2kgd3JvdGU6Cj4gSW5zdGVhZCBvZiBy ZWFjaGluZyBiYWNrIHRvIERTUyB0byBpdGVyYXRlIHRocm91Z2ggdGhlIGRzc19kZXZpY2VzIGV2 ZXJ5Cj4gdGltZSwgdXNlIGFuIGludGVybmFsIGFycmF5IHdoZXJlIHdlIHN0b3JlIHRoZSBhdmFp bGFibGUgYW5kIHVzYWJsZQo+IGRzc19kZXZpY2VzLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFBldGVy IFVqZmFsdXNpIDxwZXRlci51amZhbHVzaUB0aS5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2Ry bS9vbWFwZHJtL29tYXBfZHJ2LmMgfCA5NSArKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Rydi5oIHwgIDMgKysKPiAgMiBm aWxlcyBjaGFuZ2VkLCA2MiBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkKPiAKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9kcnYuYwo+IGIvZHJpdmVycy9n cHUvZHJtL29tYXBkcm0vb21hcF9kcnYuYyBpbmRleCBiZDdmZTMxN2EzNjUuLmIwODk2MDRlODcx Ywo+IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Rydi5jCj4gQEAgLTE0NiwxOCArMTQ2 LDI3IEBAIHN0YXRpYyBpbnQgZ2V0X2Nvbm5lY3Rvcl90eXBlKHN0cnVjdCBvbWFwX2Rzc19kZXZp Y2UKPiAqZHNzZGV2KSB9Cj4gIH0KPiAKPiAtc3RhdGljIHZvaWQgb21hcF9kaXNjb25uZWN0X2Rz c2RldnModm9pZCkKPiArc3RhdGljIHZvaWQgb21hcF9kaXNjb25uZWN0X2Rzc2RldnMoc3RydWN0 IGRybV9kZXZpY2UgKmRkZXYpCj4gIHsKPiAtCXN0cnVjdCBvbWFwX2Rzc19kZXZpY2UgKmRzc2Rl diA9IE5VTEw7Cj4gKwlzdHJ1Y3Qgb21hcF9kcm1fcHJpdmF0ZSAqcHJpdiA9IGRkZXYtPmRldl9w cml2YXRlOwo+ICsJaW50IGk7Cj4gKwo+ICsJZm9yIChpID0gMDsgaSA8IHByaXYtPm51bV9kc3Nk ZXZzOyBpKyspIHsKCmlzIGlzIG5ldmVyIG5lZ2F0aXZlLCB5b3UgY2FuIG1ha2UgaXQgYW4gdW5z aWduZWQgaW50LiBUaGlzIGNvbW1lbnQgYXBwbGllcyAKdGhyb3VnaCB0aGUgd2hvbGUgcGF0Y2gu Cgo+ICsJCXN0cnVjdCBvbWFwX2Rzc19kZXZpY2UgKmRzc2RldiA9IHByaXYtPmRzc2RldnNbaV07 Cj4gCj4gLQlmb3JfZWFjaF9kc3NfZGV2KGRzc2RldikKPiAgCQlkc3NkZXYtPmRyaXZlci0+ZGlz Y29ubmVjdChkc3NkZXYpOwo+ICsJCXByaXYtPmRzc2RldnNbaV0gPSBOVUxMOwo+ICsJCW9tYXBf ZHNzX3B1dF9kZXZpY2UoZHNzZGV2KTsKPiArCX0KPiArCj4gKwlwcml2LT5udW1fZHNzZGV2cyA9 IDA7Cj4gIH0KPiAKPiAtc3RhdGljIGludCBvbWFwX2Nvbm5lY3RfZHNzZGV2cyh2b2lkKQo+ICtz dGF0aWMgaW50IG9tYXBfY29ubmVjdF9kc3NkZXZzKHN0cnVjdCBkcm1fZGV2aWNlICpkZGV2KQo+ ICB7Cj4gLQlpbnQgcjsKPiArCXN0cnVjdCBvbWFwX2RybV9wcml2YXRlICpwcml2ID0gZGRldi0+ ZGV2X3ByaXZhdGU7Cj4gIAlzdHJ1Y3Qgb21hcF9kc3NfZGV2aWNlICpkc3NkZXYgPSBOVUxMOwo+ ICsJaW50IHI7Cj4gCj4gIAlpZiAoIW9tYXBkc3Nfc3RhY2tfaXNfcmVhZHkoKSkKPiAgCQlyZXR1 cm4gLUVQUk9CRV9ERUZFUjsKPiBAQCAtMTcwLDYgKzE3OSwxNCBAQCBzdGF0aWMgaW50IG9tYXBf Y29ubmVjdF9kc3NkZXZzKHZvaWQpCj4gIAkJfSBlbHNlIGlmIChyKSB7Cj4gIAkJCWRldl93YXJu KGRzc2Rldi0+ZGV2LCAiY291bGQgbm90IGNvbm5lY3QgZGlzcGxheTogJXNcbiIsCj4gIAkJCQlk c3NkZXYtPm5hbWUpOwo+ICsJCX0gZWxzZSB7Cj4gKwkJCW9tYXBfZHNzX2dldF9kZXZpY2UoZHNz ZGV2KTsKPiArCQkJcHJpdi0+ZHNzZGV2c1twcml2LT5udW1fZHNzZGV2cysrXSA9IGRzc2RldjsK PiArCQkJaWYgKHByaXYtPm51bV9kc3NkZXZzID09IEFSUkFZX1NJWkUocHJpdi0+ZHNzZGV2cykp IHsKPiArCQkJCS8qIFRvIGJhbGFuY2UgdGhlICdmb3JfZWFjaF9kc3NfZGV2JyBsb29wICovCj4g KwkJCQlvbWFwX2Rzc19wdXRfZGV2aWNlKGRzc2Rldik7Cj4gKwkJCQlicmVhazsKPiArCQkJfQo+ ICAJCX0KPiAgCX0KPiAKPiBAQCAtMTgwLDcgKzE5Nyw3IEBAIHN0YXRpYyBpbnQgb21hcF9jb25u ZWN0X2Rzc2RldnModm9pZCkKPiAgCSAqIGlmIHdlIGFyZSBkZWZlcnJpbmcgcHJvYmUsIHdlIGRp c2Nvbm5lY3QgdGhlIGRldmljZXMgd2UgcHJldmlvdXNseQo+ICAJICogY29ubmVjdGVkCj4gIAkg Ki8KPiAtCW9tYXBfZGlzY29ubmVjdF9kc3NkZXZzKCk7Cj4gKwlvbWFwX2Rpc2Nvbm5lY3RfZHNz ZGV2cyhkZGV2KTsKPiAKPiAgCXJldHVybiByOwo+ICB9Cj4gQEAgLTIwNSw3ICsyMjIsNyBAQCBz dGF0aWMgaW50IG9tYXBfbW9kZXNldF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAlp bnQgbnVtX292bHMgPSBwcml2LT5kaXNwY19vcHMtPmdldF9udW1fb3ZscygpOwo+ICAJaW50IG51 bV9tZ3JzID0gcHJpdi0+ZGlzcGNfb3BzLT5nZXRfbnVtX21ncnMoKTsKPiAgCWludCBudW1fY3J0 Y3MsIGNydGNfaWR4LCBwbGFuZV9pZHg7Cj4gLQlpbnQgcmV0Owo+ICsJaW50IHJldCwgaTsKPiAg CXUzMiBwbGFuZV9jcnRjX21hc2s7Cj4gCj4gIAlkcm1fbW9kZV9jb25maWdfaW5pdChkZXYpOwo+ IEBAIC0yMjIsMTEgKzIzOSw3IEBAIHN0YXRpYyBpbnQgb21hcF9tb2Rlc2V0X2luaXQoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKPiAgCSAqIGNvbmZpZ3VyYXRpb24gZG9lcyBub3QgbWF0Y2ggdGhl IGV4cGVjdGF0aW9ucyBvciBleGNlZWRzCj4gIAkgKiB0aGUgYXZhaWxhYmxlIHJlc291cmNlcywg dGhlIGNvbmZpZ3VyYXRpb24gaXMgcmVqZWN0ZWQuCj4gIAkgKi8KPiAtCW51bV9jcnRjcyA9IDA7 Cj4gLQlmb3JfZWFjaF9kc3NfZGV2KGRzc2RldikKPiAtCQlpZiAob21hcGRzc19kZXZpY2VfaXNf Y29ubmVjdGVkKGRzc2RldikpCj4gLQkJCW51bV9jcnRjcysrOwo+IC0KPiArCW51bV9jcnRjcyA9 IHByaXYtPm51bV9kc3NkZXZzOwo+ICAJaWYgKG51bV9jcnRjcyA+IG51bV9tZ3JzIHx8IG51bV9j cnRjcyA+IG51bV9vdmxzIHx8Cj4gIAkgICAgbnVtX2NydGNzID4gQVJSQVlfU0laRShwcml2LT5j cnRjcykgfHwKPiAgCSAgICBudW1fY3J0Y3MgPiBBUlJBWV9TSVpFKHByaXYtPnBsYW5lcykgfHwK PiBAQCAtMjQ0LDE1ICsyNTcsMTMgQEAgc3RhdGljIGludCBvbWFwX21vZGVzZXRfaW5pdChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQo+IAo+ICAJY3J0Y19pZHggPSAwOwo+ICAJcGxhbmVfaWR4ID0g MDsKPiAtCWZvcl9lYWNoX2Rzc19kZXYoZHNzZGV2KSB7Cj4gKwlmb3IgKGkgPSAwOyBpIDwgcHJp di0+bnVtX2Rzc2RldnM7IGkrKykgewo+ICsJCXN0cnVjdCBvbWFwX2Rzc19kZXZpY2UgKmRzc2Rl diA9IHByaXYtPmRzc2RldnNbaV07Cj4gIAkJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv cjsKPiAgCQlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXI7Cj4gIAkJc3RydWN0IGRybV9wbGFu ZSAqcGxhbmU7Cj4gIAkJc3RydWN0IGRybV9jcnRjICpjcnRjOwo+IAo+IC0JCWlmICghb21hcGRz c19kZXZpY2VfaXNfY29ubmVjdGVkKGRzc2RldikpCj4gLQkJCWNvbnRpbnVlOwo+IC0KCkkgYmVs aWV2ZSB0aGlzIGh1bmsgaXMgY29ycmVjdCBhcyBkc3MgZGV2aWNlcyBhcmUgb25seSBkaXNjb25u ZWN0ZWQgYnkgY2FsbHMgCnRvIHRoZSBvbWFfZHNzX2RyaXZlciAuZGlzY29ubmVjdCgpIG9wZXJh dGlvbiwgd2hpY2ggaXMgb25seSBjYWxsZWQgZnJvbSAKb21hcF9kaXNjb25uZWN0X2Rzc2RldnMo KSwgYnV0IHlvdSBzaG91bGQgYXQgdGhlIHZlcnkgbGVhc3QgZXhwbGFpbiB3aHkgaW4gdGhlIApj b21taXQgbWVzc2FnZS4KCj4gIAkJZW5jb2RlciA9IG9tYXBfZW5jb2Rlcl9pbml0KGRldiwgZHNz ZGV2KTsKPiAgCQlpZiAoIWVuY29kZXIpCj4gIAkJCXJldHVybiAtRU5PTUVNOwo+IEBAIC0zMjYs MTEgKzMzNywxNCBAQCBzdGF0aWMgaW50IG9tYXBfbW9kZXNldF9pbml0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpCj4gIC8qCj4gICAqIEVuYWJsZSB0aGUgSFBEIGluIGV4dGVybmFsIGNvbXBvbmVu dHMgaWYgc3VwcG9ydGVkCj4gICAqLwo+IC1zdGF0aWMgdm9pZCBvbWFwX21vZGVzZXRfZW5hYmxl X2V4dGVybmFsX2hwZCh2b2lkKQo+ICtzdGF0aWMgdm9pZCBvbWFwX21vZGVzZXRfZW5hYmxlX2V4 dGVybmFsX2hwZChzdHJ1Y3QgZHJtX2RldmljZSAqZGRldikKPiAgewo+IC0Jc3RydWN0IG9tYXBf ZHNzX2RldmljZSAqZHNzZGV2ID0gTlVMTDsKPiArCXN0cnVjdCBvbWFwX2RybV9wcml2YXRlICpw cml2ID0gZGRldi0+ZGV2X3ByaXZhdGU7Cj4gKwlpbnQgaTsKPiArCj4gKwlmb3IgKGkgPSAwOyBp IDwgcHJpdi0+bnVtX2Rzc2RldnM7IGkrKykgewo+ICsJCXN0cnVjdCBvbWFwX2Rzc19kZXZpY2Ug KmRzc2RldiA9IHByaXYtPmRzc2RldnNbaV07Cj4gCj4gLQlmb3JfZWFjaF9kc3NfZGV2KGRzc2Rl dikgewo+ICAJCWlmIChkc3NkZXYtPmRyaXZlci0+ZW5hYmxlX2hwZCkKPiAgCQkJZHNzZGV2LT5k cml2ZXItPmVuYWJsZV9ocGQoZHNzZGV2KTsKPiAgCX0KPiBAQCAtMzM5LDExICszNTMsMTQgQEAg c3RhdGljIHZvaWQgb21hcF9tb2Rlc2V0X2VuYWJsZV9leHRlcm5hbF9ocGQodm9pZCkKPiAgLyoK PiAgICogRGlzYWJsZSB0aGUgSFBEIGluIGV4dGVybmFsIGNvbXBvbmVudHMgaWYgc3VwcG9ydGVk Cj4gICAqLwo+IC1zdGF0aWMgdm9pZCBvbWFwX21vZGVzZXRfZGlzYWJsZV9leHRlcm5hbF9ocGQo dm9pZCkKPiArc3RhdGljIHZvaWQgb21hcF9tb2Rlc2V0X2Rpc2FibGVfZXh0ZXJuYWxfaHBkKHN0 cnVjdCBkcm1fZGV2aWNlICpkZGV2KQo+ICB7Cj4gLQlzdHJ1Y3Qgb21hcF9kc3NfZGV2aWNlICpk c3NkZXYgPSBOVUxMOwo+ICsJc3RydWN0IG9tYXBfZHJtX3ByaXZhdGUgKnByaXYgPSBkZGV2LT5k ZXZfcHJpdmF0ZTsKPiArCWludCBpOwo+ICsKPiArCWZvciAoaSA9IDA7IGkgPCBwcml2LT5udW1f ZHNzZGV2czsgaSsrKSB7Cj4gKwkJc3RydWN0IG9tYXBfZHNzX2RldmljZSAqZHNzZGV2ID0gcHJp di0+ZHNzZGV2c1tpXTsKPiAKPiAtCWZvcl9lYWNoX2Rzc19kZXYoZHNzZGV2KSB7Cj4gIAkJaWYg KGRzc2Rldi0+ZHJpdmVyLT5kaXNhYmxlX2hwZCkKPiAgCQkJZHNzZGV2LT5kcml2ZXItPmRpc2Fi bGVfaHBkKGRzc2Rldik7Cj4gIAl9Cj4gQEAgLTU2Miw3ICs1NzksNyBAQCBzdGF0aWMgaW50IHBk ZXZfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAKPiAgCW9tYXBfY3J0Y19w cmVfaW5pdCgpOwo+IAo+IC0JcmV0ID0gb21hcF9jb25uZWN0X2Rzc2RldnMoKTsKPiArCXJldCA9 IG9tYXBfY29ubmVjdF9kc3NkZXZzKGRkZXYpOwo+ICAJaWYgKHJldCkKPiAgCQlnb3RvIGVycl9j cnRjX3VuaW5pdDsKPiAKPiBAQCAtNTk3LDcgKzYxNCw3IEBAIHN0YXRpYyBpbnQgcGRldl9wcm9i ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICAJcHJpdi0+ZmJkZXYgPSBvbWFwX2Zi ZGV2X2luaXQoZGRldik7Cj4gCj4gIAlkcm1fa21zX2hlbHBlcl9wb2xsX2luaXQoZGRldik7Cj4g LQlvbWFwX21vZGVzZXRfZW5hYmxlX2V4dGVybmFsX2hwZCgpOwo+ICsJb21hcF9tb2Rlc2V0X2Vu YWJsZV9leHRlcm5hbF9ocGQoZGRldik7Cj4gCj4gIAkvKgo+ICAJICogUmVnaXN0ZXIgdGhlIERS TSBkZXZpY2Ugd2l0aCB0aGUgY29yZSBhbmQgdGhlIGNvbm5lY3RvcnMgd2l0aAo+IEBAIC02MTAs NyArNjI3LDcgQEAgc3RhdGljIGludCBwZGV2X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ug KnBkZXYpCj4gIAlyZXR1cm4gMDsKPiAKPiAgZXJyX2NsZWFudXBfaGVscGVyczoKPiAtCW9tYXBf bW9kZXNldF9kaXNhYmxlX2V4dGVybmFsX2hwZCgpOwo+ICsJb21hcF9tb2Rlc2V0X2Rpc2FibGVf ZXh0ZXJuYWxfaHBkKGRkZXYpOwo+ICAJZHJtX2ttc19oZWxwZXJfcG9sbF9maW5pKGRkZXYpOwo+ ICAJaWYgKHByaXYtPmZiZGV2KQo+ICAJCW9tYXBfZmJkZXZfZnJlZShkZGV2KTsKPiBAQCAtNjIw LDcgKzYzNyw3IEBAIHN0YXRpYyBpbnQgcGRldl9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpwZGV2KQo+ICBlcnJfZ2VtX2RlaW5pdDoKPiAgCW9tYXBfZ2VtX2RlaW5pdChkZGV2KTsKPiAg CWRlc3Ryb3lfd29ya3F1ZXVlKHByaXYtPndxKTsKPiAtCW9tYXBfZGlzY29ubmVjdF9kc3NkZXZz KCk7Cj4gKwlvbWFwX2Rpc2Nvbm5lY3RfZHNzZGV2cyhkZGV2KTsKPiAgZXJyX2NydGNfdW5pbml0 Ogo+ICAJb21hcF9jcnRjX3ByZV91bmluaXQoKTsKPiAgCWRybV9kZXZfdW5yZWYoZGRldik7Cj4g QEAgLTYzNiw3ICs2NTMsNyBAQCBzdGF0aWMgaW50IHBkZXZfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9y bV9kZXZpY2UgKnBkZXYpCj4gCj4gIAlkcm1fZGV2X3VucmVnaXN0ZXIoZGRldik7Cj4gCj4gLQlv bWFwX21vZGVzZXRfZGlzYWJsZV9leHRlcm5hbF9ocGQoKTsKPiArCW9tYXBfbW9kZXNldF9kaXNh YmxlX2V4dGVybmFsX2hwZChkZGV2KTsKPiAgCWRybV9rbXNfaGVscGVyX3BvbGxfZmluaShkZGV2 KTsKPiAKPiAgCWlmIChwcml2LT5mYmRldikKPiBAQCAtNjUxLDcgKzY2OCw3IEBAIHN0YXRpYyBp bnQgcGRldl9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAKPiAgCWRlc3Ry b3lfd29ya3F1ZXVlKHByaXYtPndxKTsKPiAKPiAtCW9tYXBfZGlzY29ubmVjdF9kc3NkZXZzKCk7 Cj4gKwlvbWFwX2Rpc2Nvbm5lY3RfZHNzZGV2cyhkZGV2KTsKPiAgCW9tYXBfY3J0Y19wcmVfdW5p bml0KCk7Cj4gCj4gIAlkcm1fZGV2X3VucmVmKGRkZXYpOwo+IEBAIC02NjAsMTEgKzY3NywxNCBA QCBzdGF0aWMgaW50IHBkZXZfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4g IH0KPiAKPiAgI2lmZGVmIENPTkZJR19QTV9TTEVFUAo+IC1zdGF0aWMgaW50IG9tYXBfZHJtX3N1 c3BlbmRfYWxsX2Rpc3BsYXlzKHZvaWQpCj4gK3N0YXRpYyBpbnQgb21hcF9kcm1fc3VzcGVuZF9h bGxfZGlzcGxheXMoc3RydWN0IGRybV9kZXZpY2UgKmRkZXYpCj4gIHsKPiAtCXN0cnVjdCBvbWFw X2Rzc19kZXZpY2UgKmRzc2RldiA9IE5VTEw7Cj4gKwlzdHJ1Y3Qgb21hcF9kcm1fcHJpdmF0ZSAq cHJpdiA9IGRkZXYtPmRldl9wcml2YXRlOwo+ICsJaW50IGk7Cj4gKwo+ICsJZm9yIChpID0gMDsg aSA8IHByaXYtPm51bV9kc3NkZXZzOyBpKyspIHsKPiArCQlzdHJ1Y3Qgb21hcF9kc3NfZGV2aWNl ICpkc3NkZXYgPSBwcml2LT5kc3NkZXZzW2ldOwo+IAo+IC0JZm9yX2VhY2hfZHNzX2Rldihkc3Nk ZXYpIHsKPiAgCQlpZiAoIWRzc2Rldi0+ZHJpdmVyKQo+ICAJCQljb250aW51ZTsKPiAKPiBAQCAt Njc5LDExICs2OTksMTQgQEAgc3RhdGljIGludCBvbWFwX2RybV9zdXNwZW5kX2FsbF9kaXNwbGF5 cyh2b2lkKQo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAKPiAtc3RhdGljIGludCBvbWFwX2RybV9yZXN1 bWVfYWxsX2Rpc3BsYXlzKHZvaWQpCj4gK3N0YXRpYyBpbnQgb21hcF9kcm1fcmVzdW1lX2FsbF9k aXNwbGF5cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGRldikKPiAgewo+IC0Jc3RydWN0IG9tYXBfZHNz X2RldmljZSAqZHNzZGV2ID0gTlVMTDsKPiArCXN0cnVjdCBvbWFwX2RybV9wcml2YXRlICpwcml2 ID0gZGRldi0+ZGV2X3ByaXZhdGU7Cj4gKwlpbnQgaTsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwg cHJpdi0+bnVtX2Rzc2RldnM7IGkrKykgewo+ICsJCXN0cnVjdCBvbWFwX2Rzc19kZXZpY2UgKmRz c2RldiA9IHByaXYtPmRzc2RldnNbaV07Cj4gCj4gLQlmb3JfZWFjaF9kc3NfZGV2KGRzc2Rldikg ewo+ICAJCWlmICghZHNzZGV2LT5kcml2ZXIpCj4gIAkJCWNvbnRpbnVlOwo+IAo+IEBAIC03MDMs NyArNzI2LDcgQEAgc3RhdGljIGludCBvbWFwX2RybV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRl dikKPiAgCWRybV9rbXNfaGVscGVyX3BvbGxfZGlzYWJsZShkcm1fZGV2KTsKPiAKPiAgCWRybV9t b2Rlc2V0X2xvY2tfYWxsKGRybV9kZXYpOwo+IC0Jb21hcF9kcm1fc3VzcGVuZF9hbGxfZGlzcGxh eXMoKTsKPiArCW9tYXBfZHJtX3N1c3BlbmRfYWxsX2Rpc3BsYXlzKGRybV9kZXYpOwo+ICAJZHJt X21vZGVzZXRfdW5sb2NrX2FsbChkcm1fZGV2KTsKPiAKPiAgCXJldHVybiAwOwo+IEBAIC03MTQs NyArNzM3LDcgQEAgc3RhdGljIGludCBvbWFwX2RybV9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2 KQo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRybV9kZXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsK PiAKPiAgCWRybV9tb2Rlc2V0X2xvY2tfYWxsKGRybV9kZXYpOwo+IC0Jb21hcF9kcm1fcmVzdW1l X2FsbF9kaXNwbGF5cygpOwo+ICsJb21hcF9kcm1fcmVzdW1lX2FsbF9kaXNwbGF5cyhkcm1fZGV2 KTsKPiAgCWRybV9tb2Rlc2V0X3VubG9ja19hbGwoZHJtX2Rldik7Cj4gCj4gIAlkcm1fa21zX2hl bHBlcl9wb2xsX2VuYWJsZShkcm1fZGV2KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L29tYXBkcm0vb21hcF9kcnYuaAo+IGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9kcnYu aCBpbmRleCA0YmQxZTkwNzBiMzEuLmNjY2FhZTc4N2E3Ywo+IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vb21h cGRybS9vbWFwX2Rydi5oCj4gQEAgLTUxLDYgKzUxLDkgQEAgc3RydWN0IG9tYXBfZHJtX3ByaXZh dGUgewo+IAo+ICAJY29uc3Qgc3RydWN0IGRpc3BjX29wcyAqZGlzcGNfb3BzOwo+IAo+ICsJdW5z aWduZWQgaW50IG51bV9kc3NkZXZzOwo+ICsJc3RydWN0IG9tYXBfZHNzX2RldmljZSAqZHNzZGV2 c1s4XTsKPiArCj4gIAl1bnNpZ25lZCBpbnQgbnVtX2NydGNzOwo+ICAJc3RydWN0IGRybV9jcnRj ICpjcnRjc1s4XTsKCgotLSAKUmVnYXJkcywKCkxhdXJlbnQgUGluY2hhcnQKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxp c3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=