From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kieran Bingham Subject: Re: [PATCH 2/2] drm: adv7511: Add support for i2c_new_secondary_device Date: Wed, 7 Feb 2018 12:33:51 +0000 Message-ID: <5890b343-e908-688b-ba03-84c1f76411f3@ideasonboard.com> References: <1516625389-6362-1-git-send-email-kieran.bingham@ideasonboard.com> <1516625389-6362-3-git-send-email-kieran.bingham@ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Language: en-GB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Archit Taneja , linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org Cc: Mark Rutland , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , Sergei Shtylyov , David Airlie , Daniel Vetter , Mark Brown , Rob Herring , Laurent Pinchart , Jean-Michel Hautbois , Hans Verkuil , Bhumika Goyal List-Id: devicetree@vger.kernel.org SGkgQXJjaGl0LAoKVGhhbmsgeW91IGZvciB5b3VyIHJldmlldywKCk9uIDI5LzAxLzE4IDA0OjEx LCBBcmNoaXQgVGFuZWphIHdyb3RlOgo+IEhpLAo+IAo+IE9uIDAxLzIyLzIwMTggMDY6MjAgUE0s IEtpZXJhbiBCaW5naGFtIHdyb3RlOgo+PiBUaGUgQURWNzUxMSBoYXMgZm91ciAyNTYtYnl0ZSBt YXBzIHRoYXQgY2FuIGJlIGFjY2Vzc2VkIHZpYSB0aGUgbWFpbiBJwrJDCj4+IHBvcnRzLiBFYWNo IG1hcCBoYXMgaXQgb3duIEnCskMgYWRkcmVzcyBhbmQgYWN0cyBhcyBhIHN0YW5kYXJkIHNsYXZl Cj4+IGRldmljZSBvbiB0aGUgScKyQyBidXMuCj4+Cj4+IEFsbG93IGEgZGV2aWNlIHRyZWUgbm9k ZSB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBhZGRyZXNzZXMgc28gdGhhdAo+PiBhZGRyZXNzIGNv bmZsaWN0cyB3aXRoIG90aGVyIGRldmljZXMgb24gdGhlIHNhbWUgYnVzIG1heSBiZSByZXNvbHZl ZCBhdAo+PiB0aGUgYm9hcmQgZGVzY3JpcHRpb24gbGV2ZWwuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6 IEtpZXJhbiBCaW5naGFtIDxraWVyYW4uYmluZ2hhbUBpZGVhc29uYm9hcmQuY29tPgo+PiAtLS0K Pj4gwqAgLi4uL2JpbmRpbmdzL2Rpc3BsYXkvYnJpZGdlL2FkaSxhZHY3NTExLnR4dMKgwqDCoMKg wqDCoMKgIHwgMTAgKysrKystCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUxMS9h ZHY3NTExLmjCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgNCArKysKPj4gwqAgZHJpdmVycy9ncHUv ZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTFfZHJ2LmPCoMKgwqDCoMKgwqAgfCAzNiArKysrKysr KysrKysrKy0tLS0tLS0tCj4+IMKgIDMgZmlsZXMgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwg MTMgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2RldmljZXRy ZWUvYmluZGluZ3MvZGlzcGxheS9icmlkZ2UvYWRpLGFkdjc1MTEudHh0Cj4+IGIvRG9jdW1lbnRh dGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvYnJpZGdlL2FkaSxhZHY3NTExLnR4dAo+ PiBpbmRleCAwMDQ3YjEzOTRjNzAuLmY2YmI5ZjZkM2Y0OCAxMDA2NDQKPj4gLS0tIGEvRG9jdW1l bnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvYnJpZGdlL2FkaSxhZHY3NTExLnR4 dAo+PiArKysgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9icmlk Z2UvYWRpLGFkdjc1MTEudHh0Cj4+IEBAIC03MCw2ICs3MCw5IEBAIE9wdGlvbmFsIHByb3BlcnRp ZXM6Cj4+IMKgwqDCoCByYXRoZXIgdGhhbiBnZW5lcmF0ZSBpdHMgb3duIHRpbWluZ3MgZm9yIEhE TUkgb3V0cHV0Lgo+PiDCoCAtIGNsb2NrczogZnJvbSBjb21tb24gY2xvY2sgYmluZGluZzogcmVm ZXJlbmNlIHRvIHRoZSBDRUMgY2xvY2suCj4+IMKgIC0gY2xvY2stbmFtZXM6IGZyb20gY29tbW9u IGNsb2NrIGJpbmRpbmc6IG11c3QgYmUgImNlYyIuCj4+ICstIHJlZy1uYW1lcyA6IE5hbWVzIG9m IG1hcHMgd2l0aCBwcm9ncmFtbWFibGUgYWRkcmVzc2VzLgo+PiArwqDCoMKgIEl0IGNhbiBjb250 YWluIGFueSBtYXAgbmVlZGluZyBhIG5vbi1kZWZhdWx0IGFkZHJlc3MuCj4+ICvCoMKgwqAgUG9z c2libGUgbWFwcyBuYW1lcyBhcmUgOiAibWFpbiIsICJlZGlkIiwgImNlYyIsICJwYWNrZXQiCj4+ IMKgIMKgIFJlcXVpcmVkIG5vZGVzOgo+PiDCoCBAQCAtODgsNyArOTEsMTIgQEAgRXhhbXBsZQo+ PiDCoCDCoMKgwqDCoMKgIGFkdjc1MTF3OiBoZG1pQDM5IHsKPj4gwqDCoMKgwqDCoMKgwqDCoMKg IGNvbXBhdGlibGUgPSAiYWRpLGFkdjc1MTF3IjsKPj4gLcKgwqDCoMKgwqDCoMKgIHJlZyA9IDwz OT47Cj4+ICvCoMKgwqDCoMKgwqDCoCAvKgo+PiArwqDCoMKgwqDCoMKgwqDCoCAqIFRoZSBFRElE IHBhZ2Ugd2lsbCBiZSBhY2Nlc3NpYmxlIG9uIGFkZHJlc3MgMHg2NiBvbiB0aGUgaTJjCj4+ICvC oMKgwqDCoMKgwqDCoMKgICogYnVzLiBBbGwgb3RoZXIgbWFwcyBjb250aW51ZSB0byB1c2UgdGhl aXIgZGVmYXVsdCBhZGRyZXNzZXMuCj4+ICvCoMKgwqDCoMKgwqDCoMKgICovCj4+ICvCoMKgwqDC oMKgwqDCoCByZWcgPSA8MHgzOSAweDY2PjsKPj4gK8KgwqDCoMKgwqDCoMKgIHJlZy1uYW1lcyA9 ICJtYWluIiwgImVkaWQiOwo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgaW50ZXJydXB0LXBhcmVudCA9 IDwmZ3BpbzM+Owo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgaW50ZXJydXB0cyA9IDwyOSBJUlFfVFlQ RV9FREdFX0ZBTExJTkc+Owo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgY2xvY2tzID0gPCZjZWNfY2xv Y2s+Owo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1 MTEuaAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUxMS9hZHY3NTExLmgKPj4gaW5k ZXggZDAzNGIyY2I1ZWVlLi43ZDgxY2UzODA4ZTAgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9icmlkZ2UvYWR2NzUxMS9hZHY3NTExLmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Jy aWRnZS9hZHY3NTExL2Fkdjc1MTEuaAo+PiBAQCAtNTMsOCArNTMsMTAgQEAKPj4gwqAgI2RlZmlu ZSBBRFY3NTExX1JFR19QT1dFUsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMHg0MQo+PiDCoCAjZGVm aW5lIEFEVjc1MTFfUkVHX1NUQVRVU8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMHg0Mgo+PiDCoCAj ZGVmaW5lIEFEVjc1MTFfUkVHX0VESURfSTJDX0FERFLCoMKgwqDCoMKgwqDCoCAweDQzCj4+ICsj ZGVmaW5lIEFEVjc1MTFfUkVHX0VESURfSTJDX0FERFJfREVGQVVMVMKgwqDCoCAweDNmCj4+IMKg ICNkZWZpbmUgQURWNzUxMV9SRUdfUEFDS0VUX0VOQUJMRTHCoMKgwqDCoMKgwqDCoCAweDQ0wqDC oMKgCj4+IMKgICNkZWZpbmUgQURWNzUxMV9SRUdfUEFDS0VUX0kyQ19BRERSwqDCoMKgwqDCoMKg wqAgMHg0NQo+PiArI2RlZmluZSBBRFY3NTExX1JFR19QQUNLRVRfSTJDX0FERFJfREVGQVVMVMKg wqDCoCAweDM4Cj4+IMKgICNkZWZpbmUgQURWNzUxMV9SRUdfRFNEX0VOQUJMRcKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgMHg0Ngo+PiDCoCAjZGVmaW5lIEFEVjc1MTFfUkVHX1ZJREVPX0lOUFVUX0NG RzLCoMKgwqDCoMKgwqDCoCAweDQ4Cj4+IMKgICNkZWZpbmUgQURWNzUxMV9SRUdfSU5GT0ZSQU1F X1VQREFURcKgwqDCoMKgwqDCoMKgIDB4NGEKPj4gQEAgLTg5LDYgKzkxLDcgQEAKPj4gwqAgI2Rl ZmluZSBBRFY3NTExX1JFR19UTURTX0NMT0NLX0lOVsKgwqDCoMKgwqDCoMKgIDB4ZGUKPj4gwqAg I2RlZmluZSBBRFY3NTExX1JFR19BUkNfQ1RSTMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMHhkZgo+ PiDCoCAjZGVmaW5lIEFEVjc1MTFfUkVHX0NFQ19JMkNfQUREUsKgwqDCoMKgwqDCoMKgIDB4ZTEK Pj4gKyNkZWZpbmUgQURWNzUxMV9SRUdfQ0VDX0kyQ19BRERSX0RFRkFVTFTCoMKgwqAgMHgzYwo+ IAo+IE1pbm9yIGNvbW1lbnQ6IFRoZSBkZWZpbmVzIGFib3ZlIG1ha2UgbG9vayBsaWtlIG5ldyBy ZWdpc3Rlcgo+IGRlZmluZXMuIEl0IHdvdWxkIGJlIG5pY2UgdG8gcmVtb3ZlIHRoZSAiUkVHXyIg ZnJvbSB0aGVtLCBhbmQKPiBwbGFjZSB0aGVtIHNvbWV3aGVyZSBhZnRlciB0aGUgcmVnaXN0ZXIg ZGVmaW5pdGlvbnMuCgoKU3VyZS4KCgo+PiDCoCAjZGVmaW5lIEFEVjc1MTFfUkVHX0NFQ19DVFJM wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAweGUyCj4+IMKgICNkZWZpbmUgQURWNzUxMV9SRUdfQ0hJ UF9JRF9ISUdIwqDCoMKgwqDCoMKgwqAgMHhmNQo+PiDCoCAjZGVmaW5lIEFEVjc1MTFfUkVHX0NI SVBfSURfTE9XwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAweGY2Cj4+IEBAIC0zMjIsNiArMzI1LDcg QEAgc3RydWN0IGFkdjc1MTEgewo+PiDCoMKgwqDCoMKgIHN0cnVjdCBpMmNfY2xpZW50ICppMmNf bWFpbjsKPj4gwqDCoMKgwqDCoCBzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjX2VkaWQ7Cj4+IMKgwqDC oMKgwqAgc3RydWN0IGkyY19jbGllbnQgKmkyY19jZWM7Cj4+ICvCoMKgwqAgc3RydWN0IGkyY19j bGllbnQgKmkyY19wYWNrZXQ7Cj4+IMKgIMKgwqDCoMKgwqAgc3RydWN0IHJlZ21hcCAqcmVnbWFw Owo+PiDCoMKgwqDCoMKgIHN0cnVjdCByZWdtYXAgKnJlZ21hcF9jZWM7Cj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEvYWR2NzUxMV9kcnYuYwo+PiBiL2RyaXZl cnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUxMS9hZHY3NTExX2Rydi5jCj4+IGluZGV4IGVmYTI5ZGI1 ZmMyYi4uN2VjMzM4Mzc3NTJiIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdl L2Fkdjc1MTEvYWR2NzUxMV9kcnYuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fk djc1MTEvYWR2NzUxMV9kcnYuYwo+PiBAQCAtOTY5LDggKzk2OSw4IEBAIHN0YXRpYyBpbnQgYWR2 NzUxMV9pbml0X2NlY19yZWdtYXAoc3RydWN0IGFkdjc1MTEgKmFkdikKPj4gwqAgewo+PiDCoMKg wqDCoMKgIGludCByZXQ7Cj4+IMKgIC3CoMKgwqAgYWR2LT5pMmNfY2VjID0gaTJjX25ld19kdW1t eShhZHYtPmkyY19tYWluLT5hZGFwdGVyLAo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBhZHYtPmkyY19tYWluLT5hZGRyIC0gMSk7Cj4gCj4gVGhpcyBwYXRjaCBh dm9pZHMgZGVyaXZpbmcgdGhlIENFQy9FRElEIG1hcCBhZGRyZXNzZXMgZnJvbSB0aGUgbWFpbiBt YXAuIEkgdGhpbmsKPiB0aGlzIHdvdWxkIGJyZWFrIHdoYXQgdGhlIG9yaWdpbmFsIHBhdGNoIHRy aWVkIHRvIGRvOgoKVGhhdCB3YXMgaW50ZW50aW9uYWwuCgpUaGUgQURWNzUxMSBkYXRhLXNoZWV0 IGRlZmluZXMgZGVmYXVsdCBhZGRyZXNzZXMgZm9yIHRoZXNlIG1hcHMuCiAob3IgcmF0aGVyIHRo ZSBoYXJkd2FyZSBkb2VzKQoKPiAKPiBkMjVhNGNiYmE0YjlkYTdjMmQ2NzRiMmY4ZWNmODRhZjFi MjQ5ODhlCj4gImRybS9icmlkZ2U6IGFkdjc1MTE6IGFkZCBzdXBwb3J0IGZvciB0aGUgMm5kIGNo aXAiCj4gCj4gTWF5YmUgdGhlIGRlZmF1bHQgbWFjcm9zIGNhbiBiZSBhIGZ1bmN0aW9uIG9mIHRo ZSBtYWluIGFkZHJlc3M/CgpJJ20gbG9hdGhlZCB0byBkbyB0aGF0LCBiZWNhdXNlIHRoZW4gaW50 cmluc2ljIGtub3dsZWRnZSBtdXN0IGJlIGtub3duIHRoYXQgaWYgSQpkZWZpbmUgYSBkZXZpY2Ug YXQgYWRkcmVzcyBYIC4uLiBpdCB3aWxsIGFsc28gdXNlIG1hZ2ljIG9mZnNldCBBIEIgYW5kIEMu CgpJTU8gLSB0aGUgZHJpdmVyIHNob3VsZCBkZWZpbmUgdGhlIGRlZmF1bHRzIHRvIG1hdGNoIHRo ZSBoYXJkd2FyZS4KCkFueXRoaW5nIGVsc2UgaXMgYW4gb3ZlcnJpZGUgLi4uCgoKPFdlbGNvbWlu ZyBjb21tZW50cywgYW5kIGFyZ3VtZW50cyBoZXJlPgoKCj4+ICvCoMKgwqAgYWR2LT5pMmNfY2Vj ID0gaTJjX25ld19zZWNvbmRhcnlfZGV2aWNlKGFkdi0+aTJjX21haW4sICJjZWMiLAo+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQURWNzUxMV9SRUdfQ0VDX0kyQ19B RERSX0RFRkFVTFQpOwo+IAo+IEFsc28sIEknbSBhIGJpdCB1bmNsZWFyIG9uIHRoZSBkZWZhdWx0 IGFkZHJlc3MgdmFsdWVzLiBGb3IgZXhhbXBsZSwgcHJldmlvdXNseSwKPiB0aGUgQ0VDCj4gYWRk cmVzcyB3YXMgY2FsY3VsYXRlZCBhcyAiYWR2LT5pMmNfbWFpbi0+YWRkciAtIDEiLCB3aGljaCBp cyAweDM4LiBUaGUgbmV3Cj4gQ0VDX0kyQ19BRERSX0RFRkFVTFQKPiBkZWZpbmUgc2V0cyBpdCB0 byAweDNjLgoKClRoZSByZWdpc3RlcnMgZGVmaW5lZCBpbiB0aGUgcHJvZ3JhbW1pbmcgZ3VpZGUg WzBdIGRlZmluZSBkZWZhdWx0IGFkZHJlc3Nlcwp3aGljaCBpcyBzZXQgYnkgdGhlIGhhcmR3YXJl IChhbmQgbm90ZXdvcnRoeSwgcmVzZXQgdG87IGF0IGxvdyBwb3dlciBtb2RlISkKClBhZ2UgOiBS ZWdpc3RlciA6IERlZmF1bHQgICA6IFB1cnBvc2UKCjE2NSAgOiAweDQzICAgICA6IDB4M2YgPDwg MSA6IEVESUQgTWVtb3J5IEFkZHJlc3MKMTY2ICA6IDB4NDUgICAgIDogMHgzOCA8PCAxIDogUGFj a2V0IE1lbW9yeSBJMkMgTWFwIEFkZHJlc3MKMTgxICA6IDB4RTEgICAgIDogMHgzYyA8PCAxIDog Q0VDIElECgpBY3R1YWxseSAtIEkndmUganVzdCBzZWVuIHRoZXJlJ3MgYSBnb29kIHRhYmxlIGF0 IHBhZ2UgMTYgOkQKClRoZSBBRFY3NTExIG1haW4gcmVnaXN0ZXIgbWFwIGNhbiBhcHBlYXIgYXQg ZWl0aGVyIDB4Mzkgb3IgMHgzRCBkZXBlbmRpbmcgb24gdGhlCmlucHV0IHRvIGEgcHVsbC11cC9k b3duIHBpbi4KClRodXMgLSB0aGF0IGltcGxpZXMgdGhhdCBwZXJoYXBzIFNlcmdlaSBtdXN0IGhh dmUgYmVlbiB3b3JraW5nIG9uIGEgZGV2aWNlCmxvY2F0ZWQgYXQgMHgzRCwgdG8gZGV0ZXJtaW5l IHRoZSBvZmZzZXQgb2YgLTEgLi4uIGJ1dCB3ZSBoYXZlIHR3byB2YWx1ZXMgZm9yCmNvbXB1dGlu ZyB0aGUgb2Zmc2V0IGRlcGVuZGluZyBvbiB3aGV0aGVyIHlvdSBzdGFydCBhdCAweDM5IG9yIDB4 M0QuCgpBbmQgYWxzbyAtIEkgY2FuJ3QgZXZlbiBiZSBzdXJlIHRoYXQgSSBjYW4gaW5mZXIgdGhl IHN0YXJ0aW5nIGFkZHJlc3MsIGFzIHRoZQpvZmZzZXRzIGZvciB0aGUgRURJRCBhbmQgUGFja2V0 IGRvIG5vdCBjb3JyZWxhdGUgaGVyZS4KClswXQpodHRwOi8vd3d3LmFuYWxvZy5jb20vbWVkaWEv ZW4vdGVjaG5pY2FsLWRvY3VtZW50YXRpb24vdXNlci1ndWlkZXMvQURWNzUxMV9Qcm9ncmFtbWlu Z19HdWlkZS5wZGYKCj4gVGhhbmtzLAo+IEFyY2hpdAo+IAo+PiDCoMKgwqDCoMKgIGlmICghYWR2 LT5pMmNfY2VjKQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIC1FTk9NRU07Cj4+IMKgwqDC oMKgwqAgaTJjX3NldF9jbGllbnRkYXRhKGFkdi0+aTJjX2NlYywgYWR2KTsKPj4gQEAgLTEwODIs OCArMTA4Miw2IEBAIHN0YXRpYyBpbnQgYWR2NzUxMV9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAq aTJjLCBjb25zdAo+PiBzdHJ1Y3QgaTJjX2RldmljZV9pZCAqaWQpCj4+IMKgwqDCoMKgwqAgc3Ry dWN0IGFkdjc1MTFfbGlua19jb25maWcgbGlua19jb25maWc7Cj4+IMKgwqDCoMKgwqAgc3RydWN0 IGFkdjc1MTEgKmFkdjc1MTE7Cj4+IMKgwqDCoMKgwqAgc3RydWN0IGRldmljZSAqZGV2ID0gJmky Yy0+ZGV2Owo+PiAtwqDCoMKgIHVuc2lnbmVkIGludCBtYWluX2kyY19hZGRyID0gaTJjLT5hZGRy IDw8IDE7Cj4+IC3CoMKgwqAgdW5zaWduZWQgaW50IGVkaWRfaTJjX2FkZHIgPSBtYWluX2kyY19h ZGRyICsgNDsKClRoaXMgY29tcHV0YXRpb24gZG9lc24ndCBjb3JyZXNwb25kIHRvIGFueXRoaW5n IGV4Y2VwdCBhIHJhbmRvbSAocGVyaGFwcwpwbGF0Zm9ybSBzcGVjaWZpYykgb2Zmc2V0LgoKCj4+ IMKgwqDCoMKgwqAgdW5zaWduZWQgaW50IHZhbDsKPj4gwqDCoMKgwqDCoCBpbnQgcmV0Owo+PiDC oCBAQCAtMTE1MywyNCArMTE1MSwzNSBAQCBzdGF0aWMgaW50IGFkdjc1MTFfcHJvYmUoc3RydWN0 IGkyY19jbGllbnQgKmkyYywKPj4gY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgKmlkKQo+PiDC oMKgwqDCoMKgIGlmIChyZXQpCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBnb3RvIHVuaW5pdF9yZWd1 bGF0b3JzOwo+PiDCoCAtwqDCoMKgIHJlZ21hcF93cml0ZShhZHY3NTExLT5yZWdtYXAsIEFEVjc1 MTFfUkVHX0VESURfSTJDX0FERFIsIGVkaWRfaTJjX2FkZHIpOwo+PiAtwqDCoMKgIHJlZ21hcF93 cml0ZShhZHY3NTExLT5yZWdtYXAsIEFEVjc1MTFfUkVHX1BBQ0tFVF9JMkNfQUREUiwKPj4gLcKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBtYWluX2kyY19hZGRyIC0gMHhhKTsKCgpQYWNrZXQgYWRk cmVzcyBoZXJlIGlzIHdyaXR0ZW4gYXMgYW4gb2Zmc2V0IG9mIC0weDBhLCB3aGljaCBnaXZlcyAw eDJmIG9yIDB4MzMgLi4uID8KCkkgdGhpbmsgdGhlc2UgY3VycmVudCBvZmZzZXRzIGFyZSBwbGF0 Zm9ybSBzcGVjaWZpYyB0byBhIHNwZWNpZmljIHBsYXRmb3JtIDopCgotLQpSZWdhcmRzCgpLaWVy YW4KCgo+PiAtwqDCoMKgIHJlZ21hcF93cml0ZShhZHY3NTExLT5yZWdtYXAsIEFEVjc1MTFfUkVH X0NFQ19JMkNfQUREUiwKPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBtYWluX2kyY19hZGRy IC0gMik7Cj4+IC0KPj4gwqDCoMKgwqDCoCBhZHY3NTExX3BhY2tldF9kaXNhYmxlKGFkdjc1MTEs IDB4ZmZmZik7Cj4+IMKgIC3CoMKgwqAgYWR2NzUxMS0+aTJjX2VkaWQgPSBpMmNfbmV3X2R1bW15 KGkyYy0+YWRhcHRlciwgZWRpZF9pMmNfYWRkciA+PiAxKTsKPj4gK8KgwqDCoCBhZHY3NTExLT5p MmNfZWRpZCA9IGkyY19uZXdfc2Vjb25kYXJ5X2RldmljZShpMmMsICJlZGlkIiwKPj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEFEVjc1MTFfUkVHX0VESURfSTJDX0FE RFJfREVGQVVMVCk7Cj4+IMKgwqDCoMKgwqAgaWYgKCFhZHY3NTExLT5pMmNfZWRpZCkgewo+PiDC oMKgwqDCoMKgwqDCoMKgwqAgcmV0ID0gLUVOT01FTTsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGdv dG8gdW5pbml0X3JlZ3VsYXRvcnM7Cj4+IMKgwqDCoMKgwqAgfQo+PiDCoCArwqDCoMKgIHJlZ21h cF93cml0ZShhZHY3NTExLT5yZWdtYXAsIEFEVjc1MTFfUkVHX0VESURfSTJDX0FERFIsCj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYWR2NzUxMS0+aTJjX2VkaWQtPmFkZHIgPDwgMSk7Cj4+ ICsKPj4gwqDCoMKgwqDCoCByZXQgPSBhZHY3NTExX2luaXRfY2VjX3JlZ21hcChhZHY3NTExKTsK Pj4gwqDCoMKgwqDCoCBpZiAocmV0KQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgZ290byBlcnJfaTJj X3VucmVnaXN0ZXJfZWRpZDsKPj4gwqAgK8KgwqDCoCByZWdtYXBfd3JpdGUoYWR2NzUxMS0+cmVn bWFwLCBBRFY3NTExX1JFR19DRUNfSTJDX0FERFIsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgYWR2NzUxMS0+aTJjX2NlYy0+YWRkciA8PCAxKTsKPj4gKwo+PiArwqDCoMKgIGFkdjc1MTEt PmkyY19wYWNrZXQgPSBpMmNfbmV3X3NlY29uZGFyeV9kZXZpY2UoaTJjLCAicGFja2V0IiwKPj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEFEVjc1MTFfUkVHX1BBQ0tF VF9JMkNfQUREUl9ERUZBVUxUKTsKPj4gK8KgwqDCoCBpZiAoIWFkdjc1MTEtPmkyY19wYWNrZXQp IHsKPj4gK8KgwqDCoMKgwqDCoMKgIHJldCA9IC1FTk9NRU07Cj4+ICvCoMKgwqDCoMKgwqDCoCBn b3RvIGVycl91bnJlZ2lzdGVyX2NlYzsKPj4gK8KgwqDCoCB9Cj4+ICsKPj4gK8KgwqDCoCByZWdt YXBfd3JpdGUoYWR2NzUxMS0+cmVnbWFwLCBBRFY3NTExX1JFR19QQUNLRVRfSTJDX0FERFIsCj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYWR2NzUxMS0+aTJjX3BhY2tldC0+YWRkciA8PCAx KTsKPj4gKwo+PiDCoMKgwqDCoMKgIElOSVRfV09SSygmYWR2NzUxMS0+aHBkX3dvcmssIGFkdjc1 MTFfaHBkX3dvcmspOwo+PiDCoCDCoMKgwqDCoMKgIGlmIChpMmMtPmlycSkgewo+PiBAQCAtMTE4 MSw3ICsxMTkwLDcgQEAgc3RhdGljIGludCBhZHY3NTExX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50 ICppMmMsIGNvbnN0Cj4+IHN0cnVjdCBpMmNfZGV2aWNlX2lkICppZCkKPj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgSVJRRl9PTkVTSE9ULCBkZXZf bmFtZShkZXYpLAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBhZHY3NTExKTsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChyZXQpCj4+IC3CoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGdvdG8gZXJyX3VucmVnaXN0ZXJfY2VjOwo+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBnb3RvIGVycl91bnJlZ2lzdGVyX3BhY2tldDsKPj4gwqDCoMKgwqDCoCB9 Cj4+IMKgIMKgwqDCoMKgwqAgYWR2NzUxMV9wb3dlcl9vZmYoYWR2NzUxMSk7Cj4+IEBAIC0xMjAz LDYgKzEyMTIsOCBAQCBzdGF0aWMgaW50IGFkdjc1MTFfcHJvYmUoc3RydWN0IGkyY19jbGllbnQg KmkyYywgY29uc3QKPj4gc3RydWN0IGkyY19kZXZpY2VfaWQgKmlkKQo+PiDCoMKgwqDCoMKgIGFk djc1MTFfYXVkaW9faW5pdChkZXYsIGFkdjc1MTEpOwo+PiDCoMKgwqDCoMKgIHJldHVybiAwOwo+ PiDCoCArZXJyX3VucmVnaXN0ZXJfcGFja2V0Ogo+PiArwqDCoMKgIGkyY191bnJlZ2lzdGVyX2Rl dmljZShhZHY3NTExLT5pMmNfcGFja2V0KTsKPj4gwqAgZXJyX3VucmVnaXN0ZXJfY2VjOgo+PiDC oMKgwqDCoMKgIGkyY191bnJlZ2lzdGVyX2RldmljZShhZHY3NTExLT5pMmNfY2VjKTsKPj4gwqDC oMKgwqDCoCBpZiAoYWR2NzUxMS0+Y2VjX2NsaykKPj4gQEAgLTEyMzQsNiArMTI0NSw3IEBAIHN0 YXRpYyBpbnQgYWR2NzUxMV9yZW1vdmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykKPj4gwqDCoMKg wqDCoCBjZWNfdW5yZWdpc3Rlcl9hZGFwdGVyKGFkdjc1MTEtPmNlY19hZGFwKTsKPj4gwqAgwqDC oMKgwqDCoCBpMmNfdW5yZWdpc3Rlcl9kZXZpY2UoYWR2NzUxMS0+aTJjX2VkaWQpOwo+PiArwqDC oMKgIGkyY191bnJlZ2lzdGVyX2RldmljZShhZHY3NTExLT5pMmNfcGFja2V0KTsKPj4gwqAgwqDC oMKgwqDCoCByZXR1cm4gMDsKPj4gwqAgfQo+Pgo+IApfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwK