From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ajay kumar Subject: Re: [PATCH V8 03/14] drm/bridge: make bridge registration independent of drm flow Date: Mon, 8 Dec 2014 15:54:45 +0530 Message-ID: References: <1416045309-13359-1-git-send-email-ajaykumar.rs@samsung.com> <1416045309-13359-4-git-send-email-ajaykumar.rs@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: "devicetree@vger.kernel.org" , "linux-samsung-soc@vger.kernel.org" , Sean Paul , Daniel Vetter , "dri-devel@lists.freedesktop.org" , Kukjin Kim , Pannaga Bhushan Reddy Patel , Prashanth G , Ajay Kumar , "linux-arm-kernel@lists.infradead.org" List-Id: devicetree@vger.kernel.org T24gVHVlLCBEZWMgMiwgMjAxNCBhdCAxMTozMSBBTSwgQWpheSBrdW1hciA8YWpheW51bWJAZ21h aWwuY29tPiB3cm90ZToKPiBPbiBTYXQsIE5vdiAxNSwgMjAxNCBhdCAzOjI0IFBNLCBBamF5IEt1 bWFyIDxhamF5a3VtYXIucnNAc2Ftc3VuZy5jb20+IHdyb3RlOgo+PiBDdXJyZW50bHksIHRoaXJk IHBhcnR5IGJyaWRnZSBkcml2ZXJzKHB0bjM0NjApIGFyZSBkZXBlbmRlbnQKPj4gb24gdGhlIGNv cnJlc3BvbmRpbmcgZW5jb2RlciBkcml2ZXIgaW5pdCwgc2luY2UgYnJpZGdlIGRyaXZlcgo+PiBu ZWVkcyBhIGRybV9kZXZpY2UgcG9pbnRlciB0byBmaW5pc2ggZHJtIGluaXRpYWxpemF0aW9ucy4K Pj4gVGhlIGVuY29kZXIgZHJpdmVyIHBhc3NlcyB0aGUgZHJtX2RldmljZSBwb2ludGVyIHRvIHRo ZQo+PiBicmlkZ2UgZHJpdmVyLiBCZWNhdXNlIG9mIHRoaXMgZGVwZW5kZW5jeSwgdGhpcmQgcGFy dHkgZHJpdmVycwo+PiBsaWtlIHB0bjM0NjAgZG9lc24ndCBhZGhlcmUgdG8gdGhlIGRyaXZlciBt b2RlbC4KPj4KPj4gSW4gdGhpcyBwYXRjaCwgd2UgcmVmcmFtZSB0aGUgYnJpZGdlIHJlZ2lzdHJh dGlvbiBmcmFtZXdvcmsKPj4gc28gdGhhdCBicmlkZ2UgaW5pdGlhbGl6YXRpb24gaXMgc3BsaXQg aW50byAyIHN0ZXBzLCBhbmQKPj4gYnJpZGdlIHJlZ2lzdHJhdGlvbiBoYXBwZW5zIGluZGVwZW5k ZW50IG9mIGRybSBmbG93Ogo+PiAtLVN0ZXAgMTogZ2F0aGVyIGFsbCB0aGUgYnJpZGdlIHNldHRp bmdzIGluZGVwZW5kZW50IG9mIGRybSBhbmQKPj4gICAgICAgICAgIGFkZCB0aGUgYnJpZGdlIG9u dG8gYSBnbG9iYWwgbGlzdCBvZiBicmlkZ2VzLgo+PiAtLVN0ZXAgMjogd2hlbiB0aGUgZW5jb2Rl ciBkcml2ZXIgaXMgcHJvYmVkLCBjYWxsIGRybV9icmlkZ2VfYXR0YWNoCj4+ICAgICAgICAgICBm b3IgdGhlIGNvcnJlc3BvbmRpbmcgYnJpZGdlIHNvIHRoYXQgdGhlIGJyaWRnZSByZWNlaXZlcwo+ PiAgICAgICAgICAgZHJtX2RldmljZSBwb2ludGVyIGFuZCBjb250aW51ZXMgd2l0aCBjb25uZWN0 b3IgYW5kIG90aGVyCj4+ICAgICAgICAgICBkcm0gaW5pdGlhbGl6YXRpb25zLgo+Pgo+PiBUaGUg b2xkIHNldCBvZiBicmlkZ2UgaGVscGVycyBhcmUgcmVtb3ZlZCwgYW5kIGEgc2V0IG9mIG5ldyBo ZWxwZXJzCj4+IGFyZSBhZGRlZCB0byBhY2NvbXBsaXNoIHRoZSAyIHN0ZXAgaW5pdGlhbGl6YXRp b24uCj4+Cj4+IFRoZSBicmlkZ2UgZGV2aWNlcyByZWdpc3RlciB0aGVtc2VsdmVzIG9udG8gZ2xv YmFsIGxpc3Qgb2YgYnJpZGdlcwo+PiB3aGVuIHRoZXkgZ2V0IHByb2JlZCBieSBjYWxsaW5nICJk cm1fYnJpZGdlX2FkZCIuCj4+Cj4+IFRoZSBwYXJlbnQgZW5jb2RlciBkcml2ZXIgd2FpdHMgdGls bCB0aGUgYnJpZGdlIGlzIGF2YWlsYWJsZQo+PiBpbiB0aGUgbG9va3VwIHRhYmxlKGJ5IGNhbGxp bmcgIm9mX2RybV9maW5kX2JyaWRnZSIpIGFuZCB0aGVuCj4+IGNvbnRpbnVlcyB3aXRoIGl0cyBp bml0aWFsaXphdGlvbi4KPj4KPj4gVGhlIGVuY29kZXIgZHJpdmVyIHNob3VsZCBhbHNvIGNhbGwg ImRybV9icmlkZ2VfYXR0YWNoIiB0byBwYXNzCj4+IG9uIHRoZSBkcm1fZGV2aWNlIHRvIHRoZSBi cmlkZ2Ugb2JqZWN0Lgo+Pgo+PiBkcm1fYnJpZGdlX2F0dGFjaCBpbnR1cm4gY2FsbHMgImJyaWRn ZS0+ZnVuY3MtPmF0dGFjaCIgc28gdGhhdAo+PiBicmlkZ2UgY2FuIGNvbnRpbnVlIHdpdGggZHJt IHJlbGF0ZWQgaW5pdGlhbGl6YXRpb25zLgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBBamF5IEt1bWFy IDxhamF5a3VtYXIucnNAc2Ftc3VuZy5jb20+Cj4+IC0tLQo+PiAgZHJpdmVycy9ncHUvZHJtL01h a2VmaWxlICAgICAgICAgICAgICAgfCAgICAyICstCj4+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdl L3B0bjM0NjAuYyAgICAgICB8ICAgMjcgKysrKystLS0tLQo+PiAgZHJpdmVycy9ncHUvZHJtL2Ry bV9icmlkZ2UuYyAgICAgICAgICAgfCAgIDkxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCj4+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYyAgICAgICAgICAgICB8ICAgNjUgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vaGRtaS9oZG1pLmMg ICAgICAgIHwgICAgNyArLS0KPj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vaGRtaS9oZG1pLmggICAg ICAgIHwgICAgMSArCj4+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2hkbWkvaGRtaV9icmlkZ2UuYyB8 ICAgIDcgKystCj4+ICBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZGEuYyAgICAgICAgICB8ICAg MTAgKy0tLQo+PiAgZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jICAgICAgICAgfCAgIDEw ICstLS0KPj4gIGluY2x1ZGUvZHJtL2JyaWRnZS9wdG4zNDYwLmggICAgICAgICAgIHwgICAgOCAr KysKPj4gIGluY2x1ZGUvZHJtL2RybV9jcnRjLmggICAgICAgICAgICAgICAgIHwgICAyNiArKysr LS0tLS0KPj4gIDExIGZpbGVzIGNoYW5nZWQsIDEzNiBpbnNlcnRpb25zKCspLCAxMTggZGVsZXRp b25zKC0pCj4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2RybV9icmlkZ2Uu Ywo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL01ha2VmaWxlIGIvZHJpdmVycy9n cHUvZHJtL01ha2VmaWxlCj4+IGluZGV4IDkyOTJhNzYuLjAwZjk3YTUgMTAwNjQ0Cj4+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZQo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vTWFrZWZp bGUKPj4gQEAgLTE0LDcgKzE0LDcgQEAgZHJtLXkgICAgICAgOj0gICAgICAgIGRybV9hdXRoLm8g ZHJtX2J1ZnMubyBkcm1fY2FjaGUubyBcCj4+ICAgICAgICAgICAgICAgICBkcm1faW5mby5vIGRy bV9kZWJ1Z2ZzLm8gZHJtX2VuY29kZXJfc2xhdmUubyBcCj4+ICAgICAgICAgICAgICAgICBkcm1f dHJhY2VfcG9pbnRzLm8gZHJtX2dsb2JhbC5vIGRybV9wcmltZS5vIFwKPj4gICAgICAgICAgICAg ICAgIGRybV9yZWN0Lm8gZHJtX3ZtYV9tYW5hZ2VyLm8gZHJtX2ZsaXBfd29yay5vIFwKPj4gLSAg ICAgICAgICAgICAgIGRybV9tb2Rlc2V0X2xvY2subwo+PiArICAgICAgICAgICAgICAgZHJtX21v ZGVzZXRfbG9jay5vIGRybV9icmlkZ2Uubwo+Pgo+PiAgZHJtLSQoQ09ORklHX0NPTVBBVCkgKz0g ZHJtX2lvYzMyLm8KPj4gIGRybS0kKENPTkZJR19EUk1fR0VNX0NNQV9IRUxQRVIpICs9IGRybV9n ZW1fY21hX2hlbHBlci5vCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3B0 bjM0NjAuYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvcHRuMzQ2MC5jCj4+IGluZGV4IGEyZGRj OGQuLjRhODE4YzEgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvcHRuMzQ2 MC5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvcHRuMzQ2MC5jCj4+IEBAIC0xNzYs MjQgKzE3NiwxMSBAQCBzdGF0aWMgdm9pZCBwdG4zNDYwX3Bvc3RfZGlzYWJsZShzdHJ1Y3QgZHJt X2JyaWRnZSAqYnJpZGdlKQo+PiAgewo+PiAgfQo+Pgo+PiAtc3RhdGljIHZvaWQgcHRuMzQ2MF9i cmlkZ2VfZGVzdHJveShzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQo+PiAtewo+PiAtICAgICAg IHN0cnVjdCBwdG4zNDYwX2JyaWRnZSAqcHRuX2JyaWRnZSA9IGJyaWRnZV90b19wdG4zNDYwKGJy aWRnZSk7Cj4+IC0KPj4gLSAgICAgICBkcm1fYnJpZGdlX2NsZWFudXAoYnJpZGdlKTsKPj4gLSAg ICAgICBpZiAoZ3Bpb19pc192YWxpZChwdG5fYnJpZGdlLT5ncGlvX3BkX24pKQo+PiAtICAgICAg ICAgICAgICAgZ3Bpb19mcmVlKHB0bl9icmlkZ2UtPmdwaW9fcGRfbik7Cj4+IC0gICAgICAgaWYg KGdwaW9faXNfdmFsaWQocHRuX2JyaWRnZS0+Z3Bpb19yc3RfbikpCj4+IC0gICAgICAgICAgICAg ICBncGlvX2ZyZWUocHRuX2JyaWRnZS0+Z3Bpb19yc3Rfbik7Cj4+IC0gICAgICAgLyogTm90aGlu ZyBlbHNlIHRvIGZyZWUsIHdlJ3ZlIGdvdCBkZXZtIGFsbG9jYXRlZCBtZW1vcnkgKi8KPj4gLX0K Pj4gLQo+PiAgc3RhdGljIHN0cnVjdCBkcm1fYnJpZGdlX2Z1bmNzIHB0bjM0NjBfYnJpZGdlX2Z1 bmNzID0gewo+PiAgICAgICAgIC5wcmVfZW5hYmxlID0gcHRuMzQ2MF9wcmVfZW5hYmxlLAo+PiAg ICAgICAgIC5lbmFibGUgPSBwdG4zNDYwX2VuYWJsZSwKPj4gICAgICAgICAuZGlzYWJsZSA9IHB0 bjM0NjBfZGlzYWJsZSwKPj4gICAgICAgICAucG9zdF9kaXNhYmxlID0gcHRuMzQ2MF9wb3N0X2Rp c2FibGUsCj4+IC0gICAgICAgLmRlc3Ryb3kgPSBwdG4zNDYwX2JyaWRnZV9kZXN0cm95LAo+PiAg fTsKPj4KPj4gIHN0YXRpYyBpbnQgcHRuMzQ2MF9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKPj4gQEAgLTMxNCw3ICszMDEsNyBAQCBpbnQgcHRuMzQ2MF9pbml0KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPj4gICAg ICAgICB9Cj4+Cj4+ICAgICAgICAgcHRuX2JyaWRnZS0+YnJpZGdlLmZ1bmNzID0gJnB0bjM0NjBf YnJpZGdlX2Z1bmNzOwo+PiAtICAgICAgIHJldCA9IGRybV9icmlkZ2VfaW5pdChkZXYsICZwdG5f YnJpZGdlLT5icmlkZ2UpOwo+PiArICAgICAgIHJldCA9IGRybV9icmlkZ2VfYXR0YWNoKGRldiwg JnB0bl9icmlkZ2UtPmJyaWRnZSk7Cj4+ICAgICAgICAgaWYgKHJldCkgewo+PiAgICAgICAgICAg ICAgICAgRFJNX0VSUk9SKCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBicmlkZ2Ugd2l0aCBkcm1cbiIp Owo+PiAgICAgICAgICAgICAgICAgZ290byBlcnI7Cj4+IEBAIC0zNDMsMyArMzMwLDE1IEBAIGVy cjoKPj4gICAgICAgICByZXR1cm4gcmV0Owo+PiAgfQo+PiAgRVhQT1JUX1NZTUJPTChwdG4zNDYw X2luaXQpOwo+PiArCj4+ICt2b2lkIHB0bjM0NjBfZGVzdHJveShzdHJ1Y3QgZHJtX2JyaWRnZSAq YnJpZGdlKQo+PiArewo+PiArICAgICAgIHN0cnVjdCBwdG4zNDYwX2JyaWRnZSAqcHRuX2JyaWRn ZSA9IGJyaWRnZS0+ZHJpdmVyX3ByaXZhdGU7Cj4+ICsKPj4gKyAgICAgICBpZiAoZ3Bpb19pc192 YWxpZChwdG5fYnJpZGdlLT5ncGlvX3BkX24pKQo+PiArICAgICAgICAgICAgICAgZ3Bpb19mcmVl KHB0bl9icmlkZ2UtPmdwaW9fcGRfbik7Cj4+ICsgICAgICAgaWYgKGdwaW9faXNfdmFsaWQocHRu X2JyaWRnZS0+Z3Bpb19yc3RfbikpCj4+ICsgICAgICAgICAgICAgICBncGlvX2ZyZWUocHRuX2Jy aWRnZS0+Z3Bpb19yc3Rfbik7Cj4+ICsgICAgICAgLyogTm90aGluZyBlbHNlIHRvIGZyZWUsIHdl J3ZlIGdvdCBkZXZtIGFsbG9jYXRlZCBtZW1vcnkgKi8KPj4gK30KPj4gK0VYUE9SVF9TWU1CT0wo cHRuMzQ2MF9kZXN0cm95KTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYnJp ZGdlLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2JyaWRnZS5jCj4+IG5ldyBmaWxlIG1vZGUgMTAw NjQ0Cj4+IGluZGV4IDAwMDAwMDAuLmQxMTg3ZTUKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2JyaWRnZS5jCj4+IEBAIC0wLDAgKzEsOTEgQEAKPj4gKy8qCj4+ ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTQgU2Ftc3VuZyBFbGVjdHJvbmljcyBDby4sIEx0ZAo+PiAr ICoKPj4gKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0 byBhbnkgcGVyc29uIG9idGFpbmluZyBhCj4+ICsgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5k IGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAo+PiArICog dG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdp dGhvdXQgbGltaXRhdGlvbgo+PiArICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwg bWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YiBsaWNlbnNlLAo+PiArICogYW5kL29yIHNl bGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20g dGhlCj4+ICsgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhl IGZvbGxvd2luZyBjb25kaXRpb25zOgo+PiArICoKPj4gKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQg bm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcgdGhlCj4+ICsgKiBu ZXh0IHBhcmFncmFwaCkgc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFu dGlhbCBwb3J0aW9ucwo+PiArICogb2YgdGhlIFNvZnR3YXJlLgo+PiArICoKPj4gKyAqIFRIRSBT T0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E LCBFWFBSRVNTIE9SCj4+ICsgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRP IFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKPj4gKyAqIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFM TAo+PiArICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBB TlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKPj4gKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBB TiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCj4+ICsgKiBG Uk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNF IE9SIE9USEVSCj4+ICsgKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCj4+ICsgKi8KPj4gKwo+ PiArI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgo+PiArI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgo+ PiArCj4+ICsjaW5jbHVkZSA8ZHJtL2RybV9jcnRjLmg+Cj4+ICsKPj4gKyNpbmNsdWRlICJkcm0v ZHJtUC5oIgo+PiArCj4+ICtzdGF0aWMgREVGSU5FX01VVEVYKGJyaWRnZV9sb2NrKTsKPj4gK3N0 YXRpYyBMSVNUX0hFQUQoYnJpZGdlX2xpc3QpOwo+PiArCj4+ICtpbnQgZHJtX2JyaWRnZV9hZGQo c3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSkKPj4gK3sKPj4gKyAgICAgICBtdXRleF9sb2NrKCZi cmlkZ2VfbG9jayk7Cj4+ICsgICAgICAgbGlzdF9hZGRfdGFpbCgmYnJpZGdlLT5saXN0LCAmYnJp ZGdlX2xpc3QpOwo+PiArICAgICAgIG11dGV4X3VubG9jaygmYnJpZGdlX2xvY2spOwo+PiArCj4+ ICsgICAgICAgcmV0dXJuIDA7Cj4+ICt9Cj4+ICtFWFBPUlRfU1lNQk9MKGRybV9icmlkZ2VfYWRk KTsKPj4gKwo+PiArdm9pZCBkcm1fYnJpZGdlX3JlbW92ZShzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJp ZGdlKQo+PiArewo+PiArICAgICAgIG11dGV4X2xvY2soJmJyaWRnZV9sb2NrKTsKPj4gKyAgICAg ICBsaXN0X2RlbF9pbml0KCZicmlkZ2UtPmxpc3QpOwo+PiArICAgICAgIG11dGV4X3VubG9jaygm YnJpZGdlX2xvY2spOwo+PiArfQo+PiArRVhQT1JUX1NZTUJPTChkcm1fYnJpZGdlX3JlbW92ZSk7 Cj4+ICsKPj4gK2V4dGVybiBpbnQgZHJtX2JyaWRnZV9hdHRhY2goc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSkKPj4gK3sKPj4gKyAgICAgICBpZiAoIWRl diB8fCAhYnJpZGdlKQo+PiArICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4+ICsKPj4g KyAgICAgICBpZiAoYnJpZGdlLT5kZXYpCj4+ICsgICAgICAgICAgICAgICByZXR1cm4gLUVCVVNZ Owo+PiArCj4+ICsgICAgICAgYnJpZGdlLT5kZXYgPSBkZXY7Cj4+ICsKPj4gKyAgICAgICBpZiAo YnJpZGdlLT5mdW5jcy0+YXR0YWNoKQo+PiArICAgICAgICAgICAgICAgcmV0dXJuIGJyaWRnZS0+ ZnVuY3MtPmF0dGFjaChicmlkZ2UpOwo+PiArCj4+ICsgICAgICAgcmV0dXJuIDA7Cj4+ICt9Cj4+ ICtFWFBPUlRfU1lNQk9MKGRybV9icmlkZ2VfYXR0YWNoKTsKPj4gKwo+PiArI2lmZGVmIENPTkZJ R19PRgo+PiArc3RydWN0IGRybV9icmlkZ2UgKm9mX2RybV9maW5kX2JyaWRnZShzdHJ1Y3QgZGV2 aWNlX25vZGUgKm5wKQo+PiArewo+PiArICAgICAgIHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2U7 Cj4+ICsKPj4gKyAgICAgICBtdXRleF9sb2NrKCZicmlkZ2VfbG9jayk7Cj4+ICsKPj4gKyAgICAg ICBsaXN0X2Zvcl9lYWNoX2VudHJ5KGJyaWRnZSwgJmJyaWRnZV9saXN0LCBsaXN0KSB7Cj4+ICsg ICAgICAgICAgICAgICBpZiAoYnJpZGdlLT5vZl9ub2RlID09IG5wKSB7Cj4+ICsgICAgICAgICAg ICAgICAgICAgICAgIG11dGV4X3VubG9jaygmYnJpZGdlX2xvY2spOwo+PiArICAgICAgICAgICAg ICAgICAgICAgICByZXR1cm4gYnJpZGdlOwo+PiArICAgICAgICAgICAgICAgfQo+PiArICAgICAg IH0KPj4gKwo+PiArICAgICAgIG11dGV4X3VubG9jaygmYnJpZGdlX2xvY2spOwo+PiArICAgICAg IHJldHVybiBOVUxMOwo+PiArfQo+PiArRVhQT1JUX1NZTUJPTChvZl9kcm1fZmluZF9icmlkZ2Up Owo+PiArI2VuZGlmCj4+ICsKPj4gK01PRFVMRV9BVVRIT1IoIkFqYXkgS3VtYXIgPGFqYXlrdW1h ci5yc0BzYW1zdW5nLmNvbT4iKTsKPj4gK01PRFVMRV9ERVNDUklQVElPTigiRFJNIGJyaWRnZSBp bmZyYXN0cnVjdHVyZSIpOwo+PiArTU9EVUxFX0xJQ0VOU0UoIkdQTCBhbmQgYWRkaXRpb25hbCBy aWdodHMiKTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jIGIvZHJp dmVycy9ncHUvZHJtL2RybV9jcnRjLmMKPj4gaW5kZXggNDA4YzA1My4uMzlkNjEwMCAxMDA2NDQK Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMKPj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9jcnRjLmMKPj4gQEAgLTEwMDgsNTYgKzEwMDgsNiBAQCB2b2lkIGRybV9jb25uZWN0 b3JfdW5wbHVnX2FsbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+PiAgRVhQT1JUX1NZTUJPTChk cm1fY29ubmVjdG9yX3VucGx1Z19hbGwpOwo+Pgo+PiAgLyoqCj4+IC0gKiBkcm1fYnJpZGdlX2lu aXQgLSBpbml0aWFsaXplIGEgZHJtIHRyYW5zY29kZXIvYnJpZGdlCj4+IC0gKiBAZGV2OiBkcm0g ZGV2aWNlCj4+IC0gKiBAYnJpZGdlOiB0cmFuc2NvZGVyL2JyaWRnZSB0byBzZXQgdXAKPj4gLSAq Cj4+IC0gKiBJbml0aWFsaXNlcyBhIHByZWFsbG9jYXRlZCBicmlkZ2UuIEJyaWRnZXMgc2hvdWxk IGJlCj4+IC0gKiBzdWJjbGFzc2VkIGFzIHBhcnQgb2YgZHJpdmVyIGNvbm5lY3RvciBvYmplY3Rz Lgo+PiAtICoKPj4gLSAqIFJldHVybnM6Cj4+IC0gKiBaZXJvIG9uIHN1Y2Nlc3MsIGVycm9yIGNv ZGUgb24gZmFpbHVyZS4KPj4gLSAqLwo+PiAtaW50IGRybV9icmlkZ2VfaW5pdChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQo+PiAtewo+PiAtICAgICAg IGludCByZXQ7Cj4+IC0KPj4gLSAgICAgICBkcm1fbW9kZXNldF9sb2NrX2FsbChkZXYpOwo+PiAt Cj4+IC0gICAgICAgcmV0ID0gZHJtX21vZGVfb2JqZWN0X2dldChkZXYsICZicmlkZ2UtPmJhc2Us IERSTV9NT0RFX09CSkVDVF9CUklER0UpOwo+PiAtICAgICAgIGlmIChyZXQpCj4+IC0gICAgICAg ICAgICAgICBnb3RvIG91dDsKPj4gLQo+PiAtICAgICAgIGJyaWRnZS0+ZGV2ID0gZGV2Owo+PiAt Cj4+IC0gICAgICAgbGlzdF9hZGRfdGFpbCgmYnJpZGdlLT5oZWFkLCAmZGV2LT5tb2RlX2NvbmZp Zy5icmlkZ2VfbGlzdCk7Cj4+IC0gICAgICAgZGV2LT5tb2RlX2NvbmZpZy5udW1fYnJpZGdlKys7 Cj4+IC0KPj4gLSBvdXQ6Cj4+IC0gICAgICAgZHJtX21vZGVzZXRfdW5sb2NrX2FsbChkZXYpOwo+ PiAtICAgICAgIHJldHVybiByZXQ7Cj4+IC19Cj4+IC1FWFBPUlRfU1lNQk9MKGRybV9icmlkZ2Vf aW5pdCk7Cj4+IC0KPj4gLS8qKgo+PiAtICogZHJtX2JyaWRnZV9jbGVhbnVwIC0gY2xlYW5zIHVw IGFuIGluaXRpYWxpc2VkIGJyaWRnZQo+PiAtICogQGJyaWRnZTogYnJpZGdlIHRvIGNsZWFudXAK Pj4gLSAqCj4+IC0gKiBDbGVhbnMgdXAgdGhlIGJyaWRnZSBidXQgZG9lc24ndCBmcmVlIHRoZSBv YmplY3QuCj4+IC0gKi8KPj4gLXZvaWQgZHJtX2JyaWRnZV9jbGVhbnVwKHN0cnVjdCBkcm1fYnJp ZGdlICpicmlkZ2UpCj4+IC17Cj4+IC0gICAgICAgc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGJy aWRnZS0+ZGV2Owo+PiAtCj4+IC0gICAgICAgZHJtX21vZGVzZXRfbG9ja19hbGwoZGV2KTsKPj4g LSAgICAgICBkcm1fbW9kZV9vYmplY3RfcHV0KGRldiwgJmJyaWRnZS0+YmFzZSk7Cj4+IC0gICAg ICAgbGlzdF9kZWwoJmJyaWRnZS0+aGVhZCk7Cj4+IC0gICAgICAgZGV2LT5tb2RlX2NvbmZpZy5u dW1fYnJpZGdlLS07Cj4+IC0gICAgICAgZHJtX21vZGVzZXRfdW5sb2NrX2FsbChkZXYpOwo+PiAt fQo+PiAtRVhQT1JUX1NZTUJPTChkcm1fYnJpZGdlX2NsZWFudXApOwo+PiAtCj4+IC0vKioKPj4g ICAqIGRybV9lbmNvZGVyX2luaXQgLSBJbml0IGEgcHJlYWxsb2NhdGVkIGVuY29kZXIKPj4gICAq IEBkZXY6IGRybSBkZXZpY2UKPj4gICAqIEBlbmNvZGVyOiB0aGUgZW5jb2RlciB0byBpbml0Cj4+ IEBAIC0xNTM5LDcgKzE0ODksNiBAQCBzdGF0aWMgaW50IGRybV9tb2RlX2dyb3VwX2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9tb2RlX2dyb3VwICpncgo+PiAgICAgICAg IHRvdGFsX29iamVjdHMgKz0gZGV2LT5tb2RlX2NvbmZpZy5udW1fY3J0YzsKPj4gICAgICAgICB0 b3RhbF9vYmplY3RzICs9IGRldi0+bW9kZV9jb25maWcubnVtX2Nvbm5lY3RvcjsKPj4gICAgICAg ICB0b3RhbF9vYmplY3RzICs9IGRldi0+bW9kZV9jb25maWcubnVtX2VuY29kZXI7Cj4+IC0gICAg ICAgdG90YWxfb2JqZWN0cyArPSBkZXYtPm1vZGVfY29uZmlnLm51bV9icmlkZ2U7Cj4+Cj4+ICAg ICAgICAgZ3JvdXAtPmlkX2xpc3QgPSBremFsbG9jKHRvdGFsX29iamVjdHMgKiBzaXplb2YodWlu dDMyX3QpLCBHRlBfS0VSTkVMKTsKPj4gICAgICAgICBpZiAoIWdyb3VwLT5pZF9saXN0KQo+PiBA QCAtMTU0OCw3ICsxNDk3LDYgQEAgc3RhdGljIGludCBkcm1fbW9kZV9ncm91cF9pbml0KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fbW9kZV9ncm91cCAqZ3IKPj4gICAgICAgICBn cm91cC0+bnVtX2NydGNzID0gMDsKPj4gICAgICAgICBncm91cC0+bnVtX2Nvbm5lY3RvcnMgPSAw Owo+PiAgICAgICAgIGdyb3VwLT5udW1fZW5jb2RlcnMgPSAwOwo+PiAtICAgICAgIGdyb3VwLT5u dW1fYnJpZGdlcyA9IDA7Cj4+ICAgICAgICAgcmV0dXJuIDA7Cj4+ICB9Cj4+Cj4+IEBAIC0xNTY4 LDcgKzE1MTYsNiBAQCBpbnQgZHJtX21vZGVfZ3JvdXBfaW5pdF9sZWdhY3lfZ3JvdXAoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKPj4gICAgICAgICBzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Cj4+ICAg ICAgICAgc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyOwo+PiAgICAgICAgIHN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3I7Cj4+IC0gICAgICAgc3RydWN0IGRybV9icmlkZ2UgKmJyaWRn ZTsKPj4gICAgICAgICBpbnQgcmV0Owo+Pgo+PiAgICAgICAgIGlmICgocmV0ID0gZHJtX21vZGVf Z3JvdXBfaW5pdChkZXYsIGdyb3VwKSkpCj4+IEBAIC0xNTg1LDExICsxNTMyLDYgQEAgaW50IGRy bV9tb2RlX2dyb3VwX2luaXRfbGVnYWN5X2dyb3VwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+ ICAgICAgICAgICAgICAgICBncm91cC0+aWRfbGlzdFtncm91cC0+bnVtX2NydGNzICsgZ3JvdXAt Pm51bV9lbmNvZGVycyArCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncm91cC0+ bnVtX2Nvbm5lY3RvcnMrK10gPSBjb25uZWN0b3ItPmJhc2UuaWQ7Cj4+Cj4+IC0gICAgICAgbGlz dF9mb3JfZWFjaF9lbnRyeShicmlkZ2UsICZkZXYtPm1vZGVfY29uZmlnLmJyaWRnZV9saXN0LCBo ZWFkKQo+PiAtICAgICAgICAgICAgICAgZ3JvdXAtPmlkX2xpc3RbZ3JvdXAtPm51bV9jcnRjcyAr IGdyb3VwLT5udW1fZW5jb2RlcnMgKwo+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Z3JvdXAtPm51bV9jb25uZWN0b3JzICsgZ3JvdXAtPm51bV9icmlkZ2VzKytdID0KPj4gLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyaWRnZS0+YmFzZS5pZDsKPj4gLQo+ PiAgICAgICAgIHJldHVybiAwOwo+PiAgfQo+PiAgRVhQT1JUX1NZTUJPTChkcm1fbW9kZV9ncm91 cF9pbml0X2xlZ2FjeV9ncm91cCk7Cj4+IEBAIC01MDg4LDcgKzUwMzAsNiBAQCB2b2lkIGRybV9t b2RlX2NvbmZpZ19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4+ICAgICAgICAgSU5JVF9M SVNUX0hFQUQoJmRldi0+bW9kZV9jb25maWcuZmJfbGlzdCk7Cj4+ICAgICAgICAgSU5JVF9MSVNU X0hFQUQoJmRldi0+bW9kZV9jb25maWcuY3J0Y19saXN0KTsKPj4gICAgICAgICBJTklUX0xJU1Rf SEVBRCgmZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0b3JfbGlzdCk7Cj4+IC0gICAgICAgSU5JVF9M SVNUX0hFQUQoJmRldi0+bW9kZV9jb25maWcuYnJpZGdlX2xpc3QpOwo+PiAgICAgICAgIElOSVRf TElTVF9IRUFEKCZkZXYtPm1vZGVfY29uZmlnLmVuY29kZXJfbGlzdCk7Cj4+ICAgICAgICAgSU5J VF9MSVNUX0hFQUQoJmRldi0+bW9kZV9jb25maWcucHJvcGVydHlfbGlzdCk7Cj4+ICAgICAgICAg SU5JVF9MSVNUX0hFQUQoJmRldi0+bW9kZV9jb25maWcucHJvcGVydHlfYmxvYl9saXN0KTsKPj4g QEAgLTUxMjgsNyArNTA2OSw2IEBAIHZvaWQgZHJtX21vZGVfY29uZmlnX2NsZWFudXAoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKPj4gICAgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yLCAqb3Q7Cj4+ICAgICAgICAgc3RydWN0IGRybV9jcnRjICpjcnRjLCAqY3Q7Cj4+ICAgICAg ICAgc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLCAqZW5jdDsKPj4gLSAgICAgICBzdHJ1Y3Qg ZHJtX2JyaWRnZSAqYnJpZGdlLCAqYnJ0Owo+PiAgICAgICAgIHN0cnVjdCBkcm1fZnJhbWVidWZm ZXIgKmZiLCAqZmJ0Owo+PiAgICAgICAgIHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LCAq cHQ7Cj4+ICAgICAgICAgc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpibG9iLCAqYnQ7Cj4+IEBA IC01MTM5LDExICs1MDc5LDYgQEAgdm9pZCBkcm1fbW9kZV9jb25maWdfY2xlYW51cChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQo+PiAgICAgICAgICAgICAgICAgZW5jb2Rlci0+ZnVuY3MtPmRlc3Ry b3koZW5jb2Rlcik7Cj4+ICAgICAgICAgfQo+Pgo+PiAtICAgICAgIGxpc3RfZm9yX2VhY2hfZW50 cnlfc2FmZShicmlkZ2UsIGJydCwKPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JmRldi0+bW9kZV9jb25maWcuYnJpZGdlX2xpc3QsIGhlYWQpIHsKPj4gLSAgICAgICAgICAgICAg IGJyaWRnZS0+ZnVuY3MtPmRlc3Ryb3koYnJpZGdlKTsKPj4gLSAgICAgICB9Cj4+IC0KPj4gICAg ICAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoY29ubmVjdG9yLCBvdCwKPj4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJmRldi0+bW9kZV9jb25maWcuY29ubmVjdG9yX2xpc3Qs IGhlYWQpIHsKPj4gICAgICAgICAgICAgICAgIGNvbm5lY3Rvci0+ZnVuY3MtPmRlc3Ryb3koY29u bmVjdG9yKTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vaGRtaS9oZG1pLmMg Yi9kcml2ZXJzL2dwdS9kcm0vbXNtL2hkbWkvaGRtaS5jCj4+IGluZGV4IDlkMDBkY2IuLmU0ZjI0 OWIgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vaGRtaS9oZG1pLmMKPj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL21zbS9oZG1pL2hkbWkuYwo+PiBAQCAtNjUsNiArNjUsOSBAQCB2 b2lkIGhkbWlfZGVzdHJveShzdHJ1Y3Qga3JlZiAqa3JlZikKPj4gICAgICAgICBpZiAoaGRtaS0+ aTJjKQo+PiAgICAgICAgICAgICAgICAgaGRtaV9pMmNfZGVzdHJveShoZG1pLT5pMmMpOwo+Pgo+ PiArICAgICAgIGlmIChoZG1pLT5icmlkZ2UpCj4+ICsgICAgICAgICAgICAgICBoZG1pX2JyaWRn ZV9kZXN0cm95KGhkbWktPmJyaWRnZSk7Cj4+ICsKPj4gICAgICAgICBwbGF0Zm9ybV9zZXRfZHJ2 ZGF0YShoZG1pLT5wZGV2LCBOVUxMKTsKPj4gIH0KPj4KPj4gQEAgLTIzNCw5ICsyMzcsNyBAQCBz dHJ1Y3QgaGRtaSAqaGRtaV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1f ZW5jb2RlciAqZW5jb2RlcikKPj4KPj4gIGZhaWw6Cj4+ICAgICAgICAgaWYgKGhkbWkpIHsKPj4g LSAgICAgICAgICAgICAgIC8qIGJyaWRnZS9jb25uZWN0b3IgYXJlIG5vcm1hbGx5IGRlc3Ryb3ll ZCBieSBkcm06ICovCj4+IC0gICAgICAgICAgICAgICBpZiAoaGRtaS0+YnJpZGdlKQo+PiAtICAg ICAgICAgICAgICAgICAgICAgICBoZG1pLT5icmlkZ2UtPmZ1bmNzLT5kZXN0cm95KGhkbWktPmJy aWRnZSk7Cj4+ICsgICAgICAgICAgICAgICAvKiBicmlkZ2UgaXMgbm9ybWFsbHkgZGVzdHJveWVk IGJ5IGRybTogKi8KPj4gICAgICAgICAgICAgICAgIGlmIChoZG1pLT5jb25uZWN0b3IpCj4+ICAg ICAgICAgICAgICAgICAgICAgICAgIGhkbWktPmNvbm5lY3Rvci0+ZnVuY3MtPmRlc3Ryb3koaGRt aS0+Y29ubmVjdG9yKTsKPj4gICAgICAgICAgICAgICAgIGhkbWlfZGVzdHJveSgmaGRtaS0+cmVm Y291bnQpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9oZG1pL2hkbWkuaCBi L2RyaXZlcnMvZ3B1L2RybS9tc20vaGRtaS9oZG1pLmgKPj4gaW5kZXggYjk4MTk5NS4uZDJjZjdm NCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9oZG1pL2hkbWkuaAo+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vbXNtL2hkbWkvaGRtaS5oCj4+IEBAIC0xNjMsNiArMTYzLDcgQEAg dm9pZCBoZG1pX2F1ZGlvX3NldF9zYW1wbGVfcmF0ZShzdHJ1Y3QgaGRtaSAqaGRtaSwgaW50IHJh dGUpOwo+PiAgICovCj4+Cj4+ICBzdHJ1Y3QgZHJtX2JyaWRnZSAqaGRtaV9icmlkZ2VfaW5pdChz dHJ1Y3QgaGRtaSAqaGRtaSk7Cj4+ICt2b2lkIGhkbWlfYnJpZGdlX2Rlc3Ryb3koc3RydWN0IGRy bV9icmlkZ2UgKmJyaWRnZSk7Cj4+Cj4+ICAvKgo+PiAgICogaGRtaSBjb25uZWN0b3I6Cj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2hkbWkvaGRtaV9icmlkZ2UuYyBiL2RyaXZl cnMvZ3B1L2RybS9tc20vaGRtaS9oZG1pX2JyaWRnZS5jCj4+IGluZGV4IDAzMDk1MzkuLjI2NjU3 YTAgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vaGRtaS9oZG1pX2JyaWRnZS5j Cj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vaGRtaS9oZG1pX2JyaWRnZS5jCj4+IEBAIC0y MywxMSArMjMsMTEgQEAgc3RydWN0IGhkbWlfYnJpZGdlIHsKPj4gIH07Cj4+ICAjZGVmaW5lIHRv X2hkbWlfYnJpZGdlKHgpIGNvbnRhaW5lcl9vZih4LCBzdHJ1Y3QgaGRtaV9icmlkZ2UsIGJhc2Up Cj4+Cj4+IC1zdGF0aWMgdm9pZCBoZG1pX2JyaWRnZV9kZXN0cm95KHN0cnVjdCBkcm1fYnJpZGdl ICpicmlkZ2UpCj4+ICt2b2lkIGhkbWlfYnJpZGdlX2Rlc3Ryb3koc3RydWN0IGRybV9icmlkZ2Ug KmJyaWRnZSkKPj4gIHsKPj4gICAgICAgICBzdHJ1Y3QgaGRtaV9icmlkZ2UgKmhkbWlfYnJpZGdl ID0gdG9faGRtaV9icmlkZ2UoYnJpZGdlKTsKPj4gKwo+PiAgICAgICAgIGhkbWlfdW5yZWZlcmVu Y2UoaGRtaV9icmlkZ2UtPmhkbWkpOwo+PiAtICAgICAgIGRybV9icmlkZ2VfY2xlYW51cChicmlk Z2UpOwo+PiAgICAgICAgIGtmcmVlKGhkbWlfYnJpZGdlKTsKPj4gIH0KPj4KPj4gQEAgLTIwMSw3 ICsyMDEsNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9icmlkZ2VfZnVuY3MgaGRtaV9icmlk Z2VfZnVuY3MgPSB7Cj4+ICAgICAgICAgICAgICAgICAuZGlzYWJsZSA9IGhkbWlfYnJpZGdlX2Rp c2FibGUsCj4+ICAgICAgICAgICAgICAgICAucG9zdF9kaXNhYmxlID0gaGRtaV9icmlkZ2VfcG9z dF9kaXNhYmxlLAo+PiAgICAgICAgICAgICAgICAgLm1vZGVfc2V0ID0gaGRtaV9icmlkZ2VfbW9k ZV9zZXQsCj4+IC0gICAgICAgICAgICAgICAuZGVzdHJveSA9IGhkbWlfYnJpZGdlX2Rlc3Ryb3ks Cj4+ICB9Owo+Pgo+Pgo+PiBAQCAtMjIzLDcgKzIyMiw3IEBAIHN0cnVjdCBkcm1fYnJpZGdlICpo ZG1pX2JyaWRnZV9pbml0KHN0cnVjdCBoZG1pICpoZG1pKQo+PiAgICAgICAgIGJyaWRnZSA9ICZo ZG1pX2JyaWRnZS0+YmFzZTsKPj4gICAgICAgICBicmlkZ2UtPmZ1bmNzID0gJmhkbWlfYnJpZGdl X2Z1bmNzOwo+Pgo+PiAtICAgICAgIGRybV9icmlkZ2VfaW5pdChoZG1pLT5kZXYsIGJyaWRnZSk7 Cj4+ICsgICAgICAgZHJtX2JyaWRnZV9hdHRhY2goaGRtaS0+ZGV2LCBicmlkZ2UpOwo+Pgo+PiAg ICAgICAgIHJldHVybiBicmlkZ2U7Cj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v c3RpL3N0aV9oZGEuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkYS5jCj4+IGluZGV4IDZj ZjE0NWQuLmE5YmJiMDggMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hk YS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkYS5jCj4+IEBAIC01MDgsMTkg KzUwOCwxMiBAQCBzdGF0aWMgdm9pZCBzdGlfaGRhX2JyaWRnZV9ub3BlKHN0cnVjdCBkcm1fYnJp ZGdlICpicmlkZ2UpCj4+ICAgICAgICAgLyogZG8gbm90aGluZyAqLwo+PiAgfQo+Pgo+PiAtc3Rh dGljIHZvaWQgc3RpX2hkYV9icmlnZGVfZGVzdHJveShzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdl KQo+PiAtewo+PiAtICAgICAgIGRybV9icmlkZ2VfY2xlYW51cChicmlkZ2UpOwo+PiAtICAgICAg IGtmcmVlKGJyaWRnZSk7Cj4+IC19Cj4+IC0KPj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Jy aWRnZV9mdW5jcyBzdGlfaGRhX2JyaWRnZV9mdW5jcyA9IHsKPj4gICAgICAgICAucHJlX2VuYWJs ZSA9IHN0aV9oZGFfcHJlX2VuYWJsZSwKPj4gICAgICAgICAuZW5hYmxlID0gc3RpX2hkYV9icmlk Z2Vfbm9wZSwKPj4gICAgICAgICAuZGlzYWJsZSA9IHN0aV9oZGFfZGlzYWJsZSwKPj4gICAgICAg ICAucG9zdF9kaXNhYmxlID0gc3RpX2hkYV9icmlkZ2Vfbm9wZSwKPj4gICAgICAgICAubW9kZV9z ZXQgPSBzdGlfaGRhX3NldF9tb2RlLAo+PiAtICAgICAgIC5kZXN0cm95ID0gc3RpX2hkYV9icmln ZGVfZGVzdHJveSwKPj4gIH07Cj4+Cj4+ICBzdGF0aWMgaW50IHN0aV9oZGFfY29ubmVjdG9yX2dl dF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+PiBAQCAtNjY1LDcgKzY1 OCw3IEBAIHN0YXRpYyBpbnQgc3RpX2hkYV9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0 IGRldmljZSAqbWFzdGVyLCB2b2lkICpkYXRhKQo+Pgo+PiAgICAgICAgIGJyaWRnZS0+ZHJpdmVy X3ByaXZhdGUgPSBoZGE7Cj4+ICAgICAgICAgYnJpZGdlLT5mdW5jcyA9ICZzdGlfaGRhX2JyaWRn ZV9mdW5jczsKPj4gLSAgICAgICBkcm1fYnJpZGdlX2luaXQoZHJtX2RldiwgYnJpZGdlKTsKPj4g KyAgICAgICBkcm1fYnJpZGdlX2F0dGFjaChkcm1fZGV2LCBicmlkZ2UpOwo+Pgo+PiAgICAgICAg IGVuY29kZXItPmJyaWRnZSA9IGJyaWRnZTsKPj4gICAgICAgICBjb25uZWN0b3ItPmVuY29kZXIg PSBlbmNvZGVyOwo+PiBAQCAtNjk0LDcgKzY4Nyw2IEBAIHN0YXRpYyBpbnQgc3RpX2hkYV9iaW5k KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLCB2b2lkICpkYXRhKQo+ PiAgZXJyX3N5c2ZzOgo+PiAgICAgICAgIGRybV9jb25uZWN0b3JfdW5yZWdpc3Rlcihkcm1fY29u bmVjdG9yKTsKPj4gIGVycl9jb25uZWN0b3I6Cj4+IC0gICAgICAgZHJtX2JyaWRnZV9jbGVhbnVw KGJyaWRnZSk7Cj4+ICAgICAgICAgZHJtX2Nvbm5lY3Rvcl9jbGVhbnVwKGRybV9jb25uZWN0b3Ip Owo+PiAgICAgICAgIHJldHVybiAtRUlOVkFMOwo+PiAgfQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5j Cj4+IGluZGV4IDI4NWY3MjMuLmJmNGNkYjggMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9zdGkvc3RpX2hkbWkuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZG1pLmMK Pj4gQEAgLTQ2MywxOSArNDYzLDEyIEBAIHN0YXRpYyB2b2lkIHN0aV9oZG1pX2JyaWRnZV9ub3Bl KHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpCj4+ICAgICAgICAgLyogZG8gbm90aGluZyAqLwo+ PiAgfQo+Pgo+PiAtc3RhdGljIHZvaWQgc3RpX2hkbWlfYnJpZ2RlX2Rlc3Ryb3koc3RydWN0IGRy bV9icmlkZ2UgKmJyaWRnZSkKPj4gLXsKPj4gLSAgICAgICBkcm1fYnJpZGdlX2NsZWFudXAoYnJp ZGdlKTsKPj4gLSAgICAgICBrZnJlZShicmlkZ2UpOwo+PiAtfQo+PiAtCj4+ICBzdGF0aWMgY29u c3Qgc3RydWN0IGRybV9icmlkZ2VfZnVuY3Mgc3RpX2hkbWlfYnJpZGdlX2Z1bmNzID0gewo+PiAg ICAgICAgIC5wcmVfZW5hYmxlID0gc3RpX2hkbWlfcHJlX2VuYWJsZSwKPj4gICAgICAgICAuZW5h YmxlID0gc3RpX2hkbWlfYnJpZGdlX25vcGUsCj4+ICAgICAgICAgLmRpc2FibGUgPSBzdGlfaGRt aV9kaXNhYmxlLAo+PiAgICAgICAgIC5wb3N0X2Rpc2FibGUgPSBzdGlfaGRtaV9icmlkZ2Vfbm9w ZSwKPj4gICAgICAgICAubW9kZV9zZXQgPSBzdGlfaGRtaV9zZXRfbW9kZSwKPj4gLSAgICAgICAu ZGVzdHJveSA9IHN0aV9oZG1pX2JyaWdkZV9kZXN0cm95LAo+PiAgfTsKPj4KPj4gIHN0YXRpYyBp bnQgc3RpX2hkbWlfY29ubmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yKQo+PiBAQCAtNjI5LDcgKzYyMiw3IEBAIHN0YXRpYyBpbnQgc3RpX2hkbWlfYmluZChz dHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3Rlciwgdm9pZCAqZGF0YSkKPj4K Pj4gICAgICAgICBicmlkZ2UtPmRyaXZlcl9wcml2YXRlID0gaGRtaTsKPj4gICAgICAgICBicmlk Z2UtPmZ1bmNzID0gJnN0aV9oZG1pX2JyaWRnZV9mdW5jczsKPj4gLSAgICAgICBkcm1fYnJpZGdl X2luaXQoZHJtX2RldiwgYnJpZGdlKTsKPj4gKyAgICAgICBkcm1fYnJpZGdlX2F0dGFjaChkcm1f ZGV2LCBicmlkZ2UpOwo+Pgo+PiAgICAgICAgIGVuY29kZXItPmJyaWRnZSA9IGJyaWRnZTsKPj4g ICAgICAgICBjb25uZWN0b3ItPmVuY29kZXIgPSBlbmNvZGVyOwo+PiBAQCAtNjYxLDcgKzY1NCw2 IEBAIHN0YXRpYyBpbnQgc3RpX2hkbWlfYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBk ZXZpY2UgKm1hc3Rlciwgdm9pZCAqZGF0YSkKPj4gIGVycl9zeXNmczoKPj4gICAgICAgICBkcm1f Y29ubmVjdG9yX3VucmVnaXN0ZXIoZHJtX2Nvbm5lY3Rvcik7Cj4+ICBlcnJfY29ubmVjdG9yOgo+ PiAtICAgICAgIGRybV9icmlkZ2VfY2xlYW51cChicmlkZ2UpOwo+PiAgICAgICAgIGRybV9jb25u ZWN0b3JfY2xlYW51cChkcm1fY29ubmVjdG9yKTsKPj4gICAgICAgICByZXR1cm4gLUVJTlZBTDsK Pj4gIH0KPj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2JyaWRnZS9wdG4zNDYwLmggYi9pbmNs dWRlL2RybS9icmlkZ2UvcHRuMzQ2MC5oCj4+IGluZGV4IGZmNjIzNDQuLmIxMWY4ZTEgMTAwNjQ0 Cj4+IC0tLSBhL2luY2x1ZGUvZHJtL2JyaWRnZS9wdG4zNDYwLmgKPj4gKysrIGIvaW5jbHVkZS9k cm0vYnJpZGdlL3B0bjM0NjAuaAo+PiBAQCAtMTUsNiArMTUsNyBAQAo+PiAgI2RlZmluZSBfRFJN X0JSSURHRV9QVE4zNDYwX0hfCj4+Cj4+ICBzdHJ1Y3QgZHJtX2RldmljZTsKPj4gK3N0cnVjdCBk cm1fYnJpZGdlOwo+PiAgc3RydWN0IGRybV9lbmNvZGVyOwo+PiAgc3RydWN0IGkyY19jbGllbnQ7 Cj4+ICBzdHJ1Y3QgZGV2aWNlX25vZGU7Cj4+IEBAIC0yMyw2ICsyNCw5IEBAIHN0cnVjdCBkZXZp Y2Vfbm9kZTsKPj4KPj4gIGludCBwdG4zNDYwX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg c3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+PiAgICAgICAgICAgICAgICAgc3RydWN0IGky Y19jbGllbnQgKmNsaWVudCwgc3RydWN0IGRldmljZV9ub2RlICpub2RlKTsKPj4gKwo+PiArdm9p ZCBwdG4zNDYwX2Rlc3Ryb3koc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSk7Cj4+ICsKPj4gICNl bHNlCj4+Cj4+ICBzdGF0aWMgaW5saW5lIGludCBwdG4zNDYwX2luaXQoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKPj4gQEAgLTMyLDYgKzM2LDEwIEBAIHN0YXRpYyBpbmxpbmUgaW50IHB0bjM0NjBf aW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+PiAgICAgICAgIHJldHVybiAwOwo+PiAgfQo+ Pgo+PiArc3RhdGljIGlubGluZSB2b2lkIHB0bjM0NjBfZGVzdHJveShzdHJ1Y3QgZHJtX2JyaWRn ZSAqYnJpZGdlKQo+PiArewo+PiArfQo+PiArCj4+ICAjZW5kaWYKPj4KPj4gICNlbmRpZgo+PiBk aWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2NydGMuaCBiL2luY2x1ZGUvZHJtL2RybV9jcnRj LmgKPj4gaW5kZXggNWEzYmNlMTcuLmRhMmJlYWYgMTAwNjQ0Cj4+IC0tLSBhL2luY2x1ZGUvZHJt L2RybV9jcnRjLmgKPj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2NydGMuaAo+PiBAQCAtNjMzLDE1 ICs2MzMsMTYgQEAgc3RydWN0IGRybV9wbGFuZSB7Cj4+Cj4+ICAvKioKPj4gICAqIGRybV9icmlk Z2VfZnVuY3MgLSBkcm1fYnJpZGdlIGNvbnRyb2wgZnVuY3Rpb25zCj4+ICsgKiBAYXR0YWNoOiBD YWxsZWQgZHVyaW5nIGRybV9icmlkZ2VfYXR0YWNoCj4+ICAgKiBAbW9kZV9maXh1cDogVHJ5IHRv IGZpeHVwIChvciByZWplY3QgZW50aXJlbHkpIHByb3Bvc2VkIG1vZGUgZm9yIHRoaXMgYnJpZGdl Cj4+ICAgKiBAZGlzYWJsZTogQ2FsbGVkIHJpZ2h0IGJlZm9yZSBlbmNvZGVyIHByZXBhcmUsIGRp c2FibGVzIHRoZSBicmlkZ2UKPj4gICAqIEBwb3N0X2Rpc2FibGU6IENhbGxlZCByaWdodCBhZnRl ciBlbmNvZGVyIHByZXBhcmUsIGZvciBsb2Nrc3RlcHBlZCBkaXNhYmxlCj4+ICAgKiBAbW9kZV9z ZXQ6IFNldCB0aGlzIG1vZGUgdG8gdGhlIGJyaWRnZQo+PiAgICogQHByZV9lbmFibGU6IENhbGxl ZCByaWdodCBiZWZvcmUgZW5jb2RlciBjb21taXQsIGZvciBsb2Nrc3RlcHBlZCBjb21taXQKPj4g ICAqIEBlbmFibGU6IENhbGxlZCByaWdodCBhZnRlciBlbmNvZGVyIGNvbW1pdCwgZW5hYmxlcyB0 aGUgYnJpZGdlCj4+IC0gKiBAZGVzdHJveTogbWFrZSBvYmplY3QgZ28gYXdheQo+PiAgICovCj4+ ICBzdHJ1Y3QgZHJtX2JyaWRnZV9mdW5jcyB7Cj4+ICsgICAgICAgaW50ICgqYXR0YWNoKShzdHJ1 Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKTsKPj4gICAgICAgICBib29sICgqbW9kZV9maXh1cCkoc3Ry dWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u c3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCj4+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlKTsKPj4gQEAgLTY1 MiwyMiArNjUzLDI0IEBAIHN0cnVjdCBkcm1fYnJpZGdlX2Z1bmNzIHsKPj4gICAgICAgICAgICAg ICAgICAgICAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlKTsKPj4g ICAgICAgICB2b2lkICgqcHJlX2VuYWJsZSkoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSk7Cj4+ ICAgICAgICAgdm9pZCAoKmVuYWJsZSkoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSk7Cj4+IC0g ICAgICAgdm9pZCAoKmRlc3Ryb3kpKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpOwo+PiAgfTsK Pj4KPj4gIC8qKgo+PiAgICogZHJtX2JyaWRnZSAtIGNlbnRyYWwgRFJNIGJyaWRnZSBjb250cm9s IHN0cnVjdHVyZQo+PiAgICogQGRldjogRFJNIGRldmljZSB0aGlzIGJyaWRnZSBiZWxvbmdzIHRv Cj4+IC0gKiBAaGVhZDogbGlzdCBtYW5hZ2VtZW50Cj4+ICsgKiBAb2Zfbm9kZTogZGV2aWNlIG5v ZGUgcG9pbnRlciB0byB0aGUgYnJpZGdlCj4+ICsgKiBAbGlzdDogdG8ga2VlcCB0cmFjayBvZiBh bGwgYWRkZWQgYnJpZGdlcwo+PiAgICogQGJhc2U6IGJhc2UgbW9kZSBvYmplY3QKPj4gICAqIEBm dW5jczogY29udHJvbCBmdW5jdGlvbnMKPj4gICAqIEBkcml2ZXJfcHJpdmF0ZTogcG9pbnRlciB0 byB0aGUgYnJpZGdlIGRyaXZlcidzIGludGVybmFsIGNvbnRleHQKPj4gICAqLwo+PiAgc3RydWN0 IGRybV9icmlkZ2Ugewo+PiAgICAgICAgIHN0cnVjdCBkcm1fZGV2aWNlICpkZXY7Cj4+IC0gICAg ICAgc3RydWN0IGxpc3RfaGVhZCBoZWFkOwo+PiAtCj4+IC0gICAgICAgc3RydWN0IGRybV9tb2Rl X29iamVjdCBiYXNlOwo+PiArICAgICAgIHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcjsKPj4g KyNpZmRlZiBDT05GSUdfT0YKPj4gKyAgICAgICBzdHJ1Y3QgZGV2aWNlX25vZGUgKm9mX25vZGU7 Cj4+ICsjZW5kaWYKPj4gKyAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7Cj4+Cj4+ICAgICAg ICAgY29uc3Qgc3RydWN0IGRybV9icmlkZ2VfZnVuY3MgKmZ1bmNzOwo+PiAgICAgICAgIHZvaWQg KmRyaXZlcl9wcml2YXRlOwo+PiBAQCAtNzMzLDcgKzczNiw2IEBAIHN0cnVjdCBkcm1fbW9kZV9n cm91cCB7Cj4+ICAgICAgICAgdWludDMyX3QgbnVtX2NydGNzOwo+PiAgICAgICAgIHVpbnQzMl90 IG51bV9lbmNvZGVyczsKPj4gICAgICAgICB1aW50MzJfdCBudW1fY29ubmVjdG9yczsKPj4gLSAg ICAgICB1aW50MzJfdCBudW1fYnJpZGdlczsKPj4KPj4gICAgICAgICAvKiBsaXN0IG9mIG9iamVj dCBJRHMgZm9yIHRoaXMgZ3JvdXAgKi8KPj4gICAgICAgICB1aW50MzJfdCAqaWRfbGlzdDsKPj4g QEAgLTc0OCw4ICs3NTAsNiBAQCBzdHJ1Y3QgZHJtX21vZGVfZ3JvdXAgewo+PiAgICogQGZiX2xp c3Q6IGxpc3Qgb2YgZnJhbWVidWZmZXJzIGF2YWlsYWJsZQo+PiAgICogQG51bV9jb25uZWN0b3I6 IG51bWJlciBvZiBjb25uZWN0b3JzIG9uIHRoaXMgZGV2aWNlCj4+ICAgKiBAY29ubmVjdG9yX2xp c3Q6IGxpc3Qgb2YgY29ubmVjdG9yIG9iamVjdHMKPj4gLSAqIEBudW1fYnJpZGdlOiBudW1iZXIg b2YgYnJpZGdlcyBvbiB0aGlzIGRldmljZQo+PiAtICogQGJyaWRnZV9saXN0OiBsaXN0IG9mIGJy aWRnZSBvYmplY3RzCj4+ICAgKiBAbnVtX2VuY29kZXI6IG51bWJlciBvZiBlbmNvZGVycyBvbiB0 aGlzIGRldmljZQo+PiAgICogQGVuY29kZXJfbGlzdDogbGlzdCBvZiBlbmNvZGVyIG9iamVjdHMK Pj4gICAqIEBudW1fY3J0YzogbnVtYmVyIG9mIENSVENzIG9uIHRoaXMgZGV2aWNlCj4+IEBAIC03 ODksOCArNzg5LDYgQEAgc3RydWN0IGRybV9tb2RlX2NvbmZpZyB7Cj4+Cj4+ICAgICAgICAgaW50 IG51bV9jb25uZWN0b3I7Cj4+ICAgICAgICAgc3RydWN0IGxpc3RfaGVhZCBjb25uZWN0b3JfbGlz dDsKPj4gLSAgICAgICBpbnQgbnVtX2JyaWRnZTsKPj4gLSAgICAgICBzdHJ1Y3QgbGlzdF9oZWFk IGJyaWRnZV9saXN0Owo+PiAgICAgICAgIGludCBudW1fZW5jb2RlcjsKPj4gICAgICAgICBzdHJ1 Y3QgbGlzdF9oZWFkIGVuY29kZXJfbGlzdDsKPj4KPj4gQEAgLTkxMiw4ICs5MTAsMTAgQEAgZXh0 ZXJuIHVuc2lnbmVkIGludCBkcm1fY29ubmVjdG9yX2luZGV4KHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IpOwo+PiAgLyogaGVscGVyIHRvIHVucGx1ZyBhbGwgY29ubmVjdG9ycyBmcm9t IHN5c2ZzIGZvciBkZXZpY2UgKi8KPj4gIGV4dGVybiB2b2lkIGRybV9jb25uZWN0b3JfdW5wbHVn X2FsbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPj4KPj4gLWV4dGVybiBpbnQgZHJtX2JyaWRn ZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2Up Owo+PiAtZXh0ZXJuIHZvaWQgZHJtX2JyaWRnZV9jbGVhbnVwKHN0cnVjdCBkcm1fYnJpZGdlICpi cmlkZ2UpOwo+PiArZXh0ZXJuIGludCBkcm1fYnJpZGdlX2FkZChzdHJ1Y3QgZHJtX2JyaWRnZSAq YnJpZGdlKTsKPj4gK2V4dGVybiB2b2lkIGRybV9icmlkZ2VfcmVtb3ZlKHN0cnVjdCBkcm1fYnJp ZGdlICpicmlkZ2UpOwo+PiArZXh0ZXJuIHN0cnVjdCBkcm1fYnJpZGdlICpvZl9kcm1fZmluZF9i cmlkZ2Uoc3RydWN0IGRldmljZV9ub2RlICpucCk7Cj4+ICtleHRlcm4gaW50IGRybV9icmlkZ2Vf YXR0YWNoKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2Up Owo+Pgo+PiAgZXh0ZXJuIGludCBkcm1fZW5jb2Rlcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX2VuY29kZXIgKmVu Y29kZXIsCj4+IC0tCj4+IDEuNy45LjUKPj4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9kcmktZGV2ZWwK