From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 2/2] drm: Used DRM_LEGACY for all legacy functions Date: Thu, 4 Aug 2016 11:01:23 +0200 Message-ID: <20160804090122.GA6232@phenom.ffwll.local> References: <1470251470-30830-1-git-send-email-daniel.vetter@ffwll.ch> <1470251470-30830-2-git-send-email-daniel.vetter@ffwll.ch> <57A2F0CD.9070207@imgtec.com> <20160804082002.GV6232@phenom.ffwll.local> <57A2FE94.7030408@imgtec.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 800BA6E7BE for ; Thu, 4 Aug 2016 09:01:28 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id q128so41857410wma.1 for ; Thu, 04 Aug 2016 02:01:28 -0700 (PDT) Content-Disposition: inline In-Reply-To: <57A2FE94.7030408@imgtec.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Frank Binns Cc: Daniel Vetter , DRI Development , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBBdWcgMDQsIDIwMTYgYXQgMDk6MzY6MzZBTSArMDEwMCwgRnJhbmsgQmlubnMgd3Jv dGU6Cj4gT24gMDQvMDgvMTYgMDk6MjAsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gPiBPbiBUaHUs IEF1ZyAwNCwgMjAxNiBhdCAwODozNzo0OUFNICswMTAwLCBGcmFuayBCaW5ucyB3cm90ZToKPiA+ ID4gT24gMDMvMDgvMTYgMjA6MTEsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gPiA+ID4gRXhjZXB0 IGZvciBub3V2ZWF1LCBvbmx5IGxlZ2FjeSBkcml2ZXJzIG5lZWQgdGhpcyByZWFsbHkuIEFuZCBu b3V2ZWF1Cj4gPiA+ID4gaXMgYWxyZWFkeSBtYXJrZWQgdXAgd2l0aCBEUklWRVJfS01TX0xFR0FD WV9DT05URVhUIGFzIHRoZSBzcGVjaWFsCj4gPiA+ID4gY2FzZS4KPiA+ID4gPiAKPiA+ID4gPiBJ J3ZlIHRyaWVkIHRvIGJlIGNhcmVmdWwgdG8gbGVhdmUgZXZlcnl0aGluZyByZWxhdGVkIHRvIG1v ZGVzZXQgc3RpbGwKPiA+ID4gPiB1c2luZyB0aGUgRFJJVkVSX01PREVTRVQgZmxhZy4gT3RoZXJ3 aXNlIGl0J3MgYSBkaXJlY3QgcmVwbGFjZW1lbnQgb2YKPiA+ID4gPiAhRFJJVkVSX01PREVTRVQg d2l0aCBEUklWRVJfTEVHQUNZIGNoZWNrcy4gQWxzbyBoZWxwcyByZWFkYWJpbGl0eQo+ID4gPiA+ IHNpbmNlIGZld2VyIG5lZ2F0aXZlIGNoZWNrcyBvdmVyYWxsLgo+ID4gPiA+IAo+ID4gPiA+IFNp Z25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+ID4g PiBJIGRvbid0IHRoaW5rIHRoaXMgZ29lcyBmYXIgZW5vdWdoLiBGb3IgZXhhbXBsZSwgdGhlIGRv Y3VtZW50YXRpb24KPiA+ID4gZm9yIHRoZSAnZmlyc3RvcGVuJyBjYWxsYmFjayBzYXlzIHRoYXQg aXQncyBjYWxsZWQgZm9yIGxlZ2FjeSBVTVMgZHJpdmVycwo+ID4gPiBidXQgaXQgZG9lcyBhIGNo ZWNrIGJhc2VkIG9uIERSSVZFUl9NT0RFU0VULiBUaGVyZSBhcmUgYWxzbyBzb21lCj4gPiA+IHBs YWNlcyBpbiBkcm1fcGNpLmMgdGhhdCBzaG91bGQgYmUgY2hhbmdlZCBhcyB3ZWxsLgo+ID4gSSBz d2l0Y2hlZCB0aGUgY2hlY2sgZm9yIGZpcnN0b3BlbiBmcm9tIERSSVZFUl9NT0RFU0VUIHRvIERS SVZFUl9MRUdBQ1kuCj4gPiBBbmQgd2hpY2ggaG9vayBpbiBkcm1fcGNpLmMgc2hvdWxkIGJlIGNv bnZlcnRlZCBpbiB5b3VyIG9waW5pb24/Cj4gPiAtRGFuaWVsCj4gCj4gV2hvb3BzLCBJIHJlYWQg dGhlIHBhdGNoIHdpdGhvdXQgaGF2aW5nIGhhZCBteSBtb3JuaW5nIGNvZmZlZQo+IChhdCBsZWFz dCB0aGF0J3MgbXkgZXhjdXNlKS4KPiAKPiBTb3JyeSBmb3IgdGhlIG5vaXNlLgoKTm8gd29ycmll cywgYW5kIHRoeCBmb3IgdGhlIHJldmlldywgYm90aCBpbiBteSAtbWlzYyBxdWV1ZSBub3cuCi1E YW5pZWwKCj4gCj4gPiA+IEFueXdheSwgdGhpcyBpcyBwcm9ncmVzcyBzbzoKPiA+ID4gUmV2aWV3 ZWQtYnk6IEZyYW5rIEJpbm5zIDxmcmFuay5iaW5uc0BpbWd0ZWMuY29tPgo+ID4gPiAKPiA+ID4g PiAtLS0KPiA+ID4gPiAgICBkcml2ZXJzL2dwdS9kcm0vZHJtX2FncHN1cHBvcnQuYyB8ICA2ICsr LS0tLQo+ID4gPiA+ICAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXV0aC5jICAgICAgIHwgIDIgKy0K PiA+ID4gPiAgICBkcml2ZXJzL2dwdS9kcm0vZHJtX2J1ZnMuYyAgICAgICB8IDIyICsrKysrKysr KysrLS0tLS0tLS0tLS0KPiA+ID4gPiAgICBkcml2ZXJzL2dwdS9kcm0vZHJtX2NvbnRleHQuYyAg ICB8IDI0ICsrKysrKysrKysrKy0tLS0tLS0tLS0tLQo+ID4gPiA+ICAgIGRyaXZlcnMvZ3B1L2Ry bS9kcm1fZG1hLmMgICAgICAgIHwgIDYgKystLS0tCj4gPiA+ID4gICAgZHJpdmVycy9ncHUvZHJt L2RybV9mb3BzLmMgICAgICAgfCAgNiArKystLS0KPiA+ID4gPiAgICBkcml2ZXJzL2dwdS9kcm0v ZHJtX2lvY3RsLmMgICAgICB8ICA0ICsrLS0KPiA+ID4gPiAgICBkcml2ZXJzL2dwdS9kcm0vZHJt X2lycS5jICAgICAgICB8IDEwICsrKysrLS0tLS0KPiA+ID4gPiAgICBkcml2ZXJzL2dwdS9kcm0v ZHJtX2xvY2suYyAgICAgICB8ICA0ICsrLS0KPiA+ID4gPiAgICBkcml2ZXJzL2dwdS9kcm0vZHJt X3BjaS5jICAgICAgICB8ICA4ICsrKystLS0tCj4gPiA+ID4gICAgZHJpdmVycy9ncHUvZHJtL2Ry bV9zY2F0dGVyLmMgICAgfCAgNiArKystLS0KPiA+ID4gPiAgICAxMSBmaWxlcyBjaGFuZ2VkLCA0 NyBpbnNlcnRpb25zKCspLCA1MSBkZWxldGlvbnMoLSkKPiA+ID4gPiAKPiA+ID4gPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hZ3BzdXBwb3J0LmMgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX2FncHN1cHBvcnQuYwo+ID4gPiA+IGluZGV4IDYwNWJkMjQzZmIzNi4uZDYyMWM4YTRjZjAw IDEwMDY0NAo+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYWdwc3VwcG9ydC5jCj4g PiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hZ3BzdXBwb3J0LmMKPiA+ID4gPiBAQCAt NDMwLDkgKzQzMCw3IEBAIHN0cnVjdCBkcm1fYWdwX2hlYWQgKmRybV9hZ3BfaW5pdChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQo+ID4gPiA+ICAgICAqIGludGFjdCBzbyBpdCBjYW4gc3RpbGwgYmUg dXNlZC4gSXQgaXMgc2FmZSB0byBjYWxsIHRoaXMgaWYgQUdQIGlzIGRpc2FibGVkIG9yCj4gPiA+ ID4gICAgICogd2FzIGFscmVhZHkgcmVtb3ZlZC4KPiA+ID4gPiAgICAgKgo+ID4gPiA+IC0gKiBJ ZiBEUklWRVJfTU9ERVNFVCBpcyBhY3RpdmUsIG5vdGhpbmcgaXMgZG9uZSB0byBwcm90ZWN0IHRo ZSBtb2Rlc2V0dGluZwo+ID4gPiA+IC0gKiByZXNvdXJjZXMgZnJvbSBnZXR0aW5nIGRlc3Ryb3ll ZC4gRHJpdmVycyBhcmUgcmVzcG9uc2libGUgb2YgY2xlYW5pbmcgdGhlbSB1cAo+ID4gPiA+IC0g KiBkdXJpbmcgZGV2aWNlIHNodXRkb3duLgo+ID4gPiA+ICsgKiBDbGVhbnVwIGlzIG9ubHkgZG9u ZSBmb3IgZHJpdmVycyB3aG8gaGF2ZSBEUklWRVJfTEVHQUNZIHNldC4KPiA+ID4gPiAgICAgKi8K PiA+ID4gPiAgICB2b2lkIGRybV9sZWdhY3lfYWdwX2NsZWFyKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCj4gPiA+ID4gICAgewo+ID4gPiA+IEBAIC00NDAsNyArNDM4LDcgQEAgdm9pZCBkcm1fbGVn YWN5X2FncF9jbGVhcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gPiA+ICAgIAlpZiAoIWRl di0+YWdwKQo+ID4gPiA+ICAgIAkJcmV0dXJuOwo+ID4gPiA+IC0JaWYgKGRybV9jb3JlX2NoZWNr X2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gPiA+ID4gKwlpZiAoIWRybV9jb3JlX2No ZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZKSkKPiA+ID4gPiAgICAJCXJldHVybjsKPiA+ ID4gPiAgICAJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGVudHJ5LCB0ZW1wZSwgJmRldi0+YWdw LT5tZW1vcnksIGhlYWQpIHsKPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9hdXRoLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F1dGguYwo+ID4gPiA+IGluZGV4IDQxNTNl OGExOTNhZi4uNmIxNDM1MTRhNTY2IDEwMDY0NAo+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fYXV0aC5jCj4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdXRoLmMKPiA+ ID4gPiBAQCAtMjUxLDcgKzI1MSw3IEBAIHZvaWQgZHJtX21hc3Rlcl9yZWxlYXNlKHN0cnVjdCBk cm1fZmlsZSAqZmlsZV9wcml2KQo+ID4gPiA+ICAgIAlpZiAoIWRybV9pc19jdXJyZW50X21hc3Rl cihmaWxlX3ByaXYpKQo+ID4gPiA+ICAgIAkJZ290byBvdXQ7Cj4gPiA+ID4gLQlpZiAoIWRybV9j b3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpIHsKPiA+ID4gPiArCWlmIChk cm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpIHsKPiA+ID4gPiAgICAJ CS8qCj4gPiA+ID4gICAgCQkgKiBTaW5jZSB0aGUgbWFzdGVyIGlzIGRpc2FwcGVhcmluZywgc28g aXMgdGhlCj4gPiA+ID4gICAgCQkgKiBwb3NzaWJpbGl0eSB0byBsb2NrLgo+ID4gPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2J1ZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f YnVmcy5jCj4gPiA+ID4gaW5kZXggYzNhMTJjZDhiZDBkLi4zMjE5MTUxM2U4MmQgMTAwNjQ0Cj4g PiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9idWZzLmMKPiA+ID4gPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2J1ZnMuYwo+ID4gPiA+IEBAIC0zOTcsNyArMzk3LDcgQEAgaW50IGRy bV9sZWdhY3lfYWRkbWFwX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEs Cj4gPiA+ID4gICAgCQlyZXR1cm4gLUVQRVJNOwo+ID4gPiA+ICAgIAlpZiAoIWRybV9jb3JlX2No ZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfS01TX0xFR0FDWV9DT05URVhUKSAmJgo+ID4gPiA+IC0J ICAgIGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gPiA+ID4g KwkgICAgIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZKSkKPiA+ID4g PiAgICAJCXJldHVybiAtRUlOVkFMOwo+ID4gPiA+ICAgIAllcnIgPSBkcm1fYWRkbWFwX2NvcmUo ZGV2LCBtYXAtPm9mZnNldCwgbWFwLT5zaXplLCBtYXAtPnR5cGUsCj4gPiA+ID4gQEAgLTQ0Myw3 ICs0NDMsNyBAQCBpbnQgZHJtX2xlZ2FjeV9nZXRtYXBfaW9jdGwoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgdm9pZCAqZGF0YSwKPiA+ID4gPiAgICAJaW50IGk7Cj4gPiA+ID4gICAgCWlmICghZHJt X2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9LTVNfTEVHQUNZX0NPTlRFWFQpICYmCj4g PiA+ID4gLQkgICAgZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkK PiA+ID4gPiArCSAgICAhZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdBQ1kp KQo+ID4gPiA+ICAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gPiA+ID4gICAgCWlkeCA9IG1hcC0+b2Zm c2V0Owo+ID4gPiA+IEBAIC01NDUsNyArNTQ1LDcgQEAgRVhQT1JUX1NZTUJPTChkcm1fbGVnYWN5 X3JtbWFwX2xvY2tlZCk7Cj4gPiA+ID4gICAgdm9pZCBkcm1fbGVnYWN5X3JtbWFwKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fbG9jYWxfbWFwICptYXApCj4gPiA+ID4gICAgewo+ ID4gPiA+ICAgIAlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfS01TX0xF R0FDWV9DT05URVhUKSAmJgo+ID4gPiA+IC0JICAgIGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2 LCBEUklWRVJfTU9ERVNFVCkpCj4gPiA+ID4gKwkgICAgIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUo ZGV2LCBEUklWRVJfTEVHQUNZKSkKPiA+ID4gPiAgICAJCXJldHVybjsKPiA+ID4gPiAgICAJbXV0 ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+ID4gPiA+IEBAIC01NTgsNyArNTU4LDcgQEAg dm9pZCBkcm1fbGVnYWN5X21hc3Rlcl9ybW1hcHMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3Ry dWN0IGRybV9tYXN0ZXIgKm1hc3RlcikKPiA+ID4gPiAgICB7Cj4gPiA+ID4gICAgCXN0cnVjdCBk cm1fbWFwX2xpc3QgKnJfbGlzdCwgKmxpc3RfdGVtcDsKPiA+ID4gPiAtCWlmIChkcm1fY29yZV9j aGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKQo+ID4gPiA+ICsJaWYgKCFkcm1fY29y ZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpCj4gPiA+ID4gICAgCQlyZXR1cm47 Cj4gPiA+ID4gICAgCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiA+ID4gPiBAQCAt NTk1LDcgKzU5NSw3IEBAIGludCBkcm1fbGVnYWN5X3JtbWFwX2lvY3RsKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gPiA+ID4gICAgCWludCByZXQ7Cj4gPiA+ID4gICAgCWlm ICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9LTVNfTEVHQUNZX0NPTlRFWFQp ICYmCj4gPiA+ID4gLQkgICAgZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RF U0VUKSkKPiA+ID4gPiArCSAgICAhZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9M RUdBQ1kpKQo+ID4gPiA+ICAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gPiA+ID4gICAgCW11dGV4X2xv Y2soJmRldi0+c3RydWN0X211dGV4KTsKPiA+ID4gPiBAQCAtMTIyMCw3ICsxMjIwLDcgQEAgaW50 IGRybV9sZWdhY3lfYWRkYnVmcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ ID4gPiA+ICAgIAlzdHJ1Y3QgZHJtX2J1Zl9kZXNjICpyZXF1ZXN0ID0gZGF0YTsKPiA+ID4gPiAg ICAJaW50IHJldDsKPiA+ID4gPiAtCWlmIChkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJ VkVSX01PREVTRVQpKQo+ID4gPiA+ICsJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwg RFJJVkVSX0xFR0FDWSkpCj4gPiA+ID4gICAgCQlyZXR1cm4gLUVJTlZBTDsKPiA+ID4gPiAgICAJ aWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0hBVkVfRE1BKSkKPiA+ID4g PiBAQCAtMTI2Niw3ICsxMjY2LDcgQEAgaW50IGRybV9sZWdhY3lfaW5mb2J1ZnMoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiA+ID4gPiAgICAJaW50IGk7Cj4gPiA+ID4gICAg CWludCBjb3VudDsKPiA+ID4gPiAtCWlmIChkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJ VkVSX01PREVTRVQpKQo+ID4gPiA+ICsJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwg RFJJVkVSX0xFR0FDWSkpCj4gPiA+ID4gICAgCQlyZXR1cm4gLUVJTlZBTDsKPiA+ID4gPiAgICAJ aWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0hBVkVfRE1BKSkKPiA+ID4g PiBAQCAtMTM0Nyw3ICsxMzQ3LDcgQEAgaW50IGRybV9sZWdhY3lfbWFya2J1ZnMoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiA+ID4gPiAgICAJaW50IG9yZGVyOwo+ID4gPiA+ ICAgIAlzdHJ1Y3QgZHJtX2J1Zl9lbnRyeSAqZW50cnk7Cj4gPiA+ID4gLQlpZiAoZHJtX2NvcmVf Y2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKPiA+ID4gPiArCWlmICghZHJtX2Nv cmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdBQ1kpKQo+ID4gPiA+ICAgIAkJcmV0dXJu IC1FSU5WQUw7Cj4gPiA+ID4gICAgCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERS SVZFUl9IQVZFX0RNQSkpCj4gPiA+ID4gQEAgLTEzOTUsNyArMTM5NSw3IEBAIGludCBkcm1fbGVn YWN5X2ZyZWVidWZzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gPiA+ID4g ICAgCWludCBpZHg7Cj4gPiA+ID4gICAgCXN0cnVjdCBkcm1fYnVmICpidWY7Cj4gPiA+ID4gLQlp ZiAoZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKPiA+ID4gPiAr CWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdBQ1kpKQo+ID4gPiA+ ICAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gPiA+ID4gICAgCWlmICghZHJtX2NvcmVfY2hlY2tfZmVh dHVyZShkZXYsIERSSVZFUl9IQVZFX0RNQSkpCj4gPiA+ID4gQEAgLTE0NTAsNyArMTQ1MCw3IEBA IGludCBkcm1fbGVnYWN5X21hcGJ1ZnMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0 YSwKPiA+ID4gPiAgICAJc3RydWN0IGRybV9idWZfbWFwICpyZXF1ZXN0ID0gZGF0YTsKPiA+ID4g PiAgICAJaW50IGk7Cj4gPiA+ID4gLQlpZiAoZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERS SVZFUl9NT0RFU0VUKSkKPiA+ID4gPiArCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYs IERSSVZFUl9MRUdBQ1kpKQo+ID4gPiA+ICAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gPiA+ID4gICAg CWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9IQVZFX0RNQSkpCj4gPiA+ ID4gQEAgLTE1MzAsNyArMTUzMCw3IEBAIGludCBkcm1fbGVnYWN5X21hcGJ1ZnMoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiA+ID4gPiAgICBpbnQgZHJtX2xlZ2FjeV9kbWFf aW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiA+ID4gPiAgICAJCSAg c3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpCj4gPiA+ID4gICAgewo+ID4gPiA+IC0JaWYgKGRy bV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gPiA+ID4gKwlpZiAo IWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZKSkKPiA+ID4gPiAgICAJ CXJldHVybiAtRUlOVkFMOwo+ID4gPiA+ICAgIAlpZiAoZGV2LT5kcml2ZXItPmRtYV9pb2N0bCkK PiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb250ZXh0LmMgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2NvbnRleHQuYwo+ID4gPiA+IGluZGV4IDE5MmE1ZjllZWI3NC4uM2M0 MDAwZmFjYjM2IDEwMDY0NAo+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29udGV4 dC5jCj4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb250ZXh0LmMKPiA+ID4gPiBA QCAtNTQsNyArNTQsNyBAQCBzdHJ1Y3QgZHJtX2N0eF9saXN0IHsKPiA+ID4gPiAgICB2b2lkIGRy bV9sZWdhY3lfY3R4Yml0bWFwX2ZyZWUoc3RydWN0IGRybV9kZXZpY2UgKiBkZXYsIGludCBjdHhf aGFuZGxlKQo+ID4gPiA+ICAgIHsKPiA+ID4gPiAgICAJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0 dXJlKGRldiwgRFJJVkVSX0tNU19MRUdBQ1lfQ09OVEVYVCkgJiYKPiA+ID4gPiAtCSAgICBkcm1f Y29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKQo+ID4gPiA+ICsJICAgICFk cm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpCj4gPiA+ID4gICAgCQly ZXR1cm47Cj4gPiA+ID4gICAgCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiA+ID4g PiBAQCAtOTIsNyArOTIsNyBAQCBzdGF0aWMgaW50IGRybV9sZWdhY3lfY3R4Yml0bWFwX25leHQo c3RydWN0IGRybV9kZXZpY2UgKiBkZXYpCj4gPiA+ID4gICAgdm9pZCBkcm1fbGVnYWN5X2N0eGJp dG1hcF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICogZGV2KQo+ID4gPiA+ICAgIHsKPiA+ID4gPiAg ICAJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0tNU19MRUdBQ1lfQ09O VEVYVCkgJiYKPiA+ID4gPiAtCSAgICBkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVS X01PREVTRVQpKQo+ID4gPiA+ICsJICAgICFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJ VkVSX0xFR0FDWSkpCj4gPiA+ID4gICAgCQlyZXR1cm47Cj4gPiA+ID4gICAgCWlkcl9pbml0KCZk ZXYtPmN0eF9pZHIpOwo+ID4gPiA+IEBAIC0xMDksNyArMTA5LDcgQEAgdm9pZCBkcm1fbGVnYWN5 X2N0eGJpdG1hcF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICogZGV2KQo+ID4gPiA+ICAgIHZvaWQg ZHJtX2xlZ2FjeV9jdHhiaXRtYXBfY2xlYW51cChzdHJ1Y3QgZHJtX2RldmljZSAqIGRldikKPiA+ ID4gPiAgICB7Cj4gPiA+ID4gICAgCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERS SVZFUl9LTVNfTEVHQUNZX0NPTlRFWFQpICYmCj4gPiA+ID4gLQkgICAgZHJtX2NvcmVfY2hlY2tf ZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKPiA+ID4gPiArCSAgICAhZHJtX2NvcmVfY2hl Y2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdBQ1kpKQo+ID4gPiA+ICAgIAkJcmV0dXJuOwo+ID4g PiA+ICAgIAltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gPiA+ID4gQEAgLTEzMSw3 ICsxMzEsNyBAQCB2b2lkIGRybV9sZWdhY3lfY3R4Yml0bWFwX2ZsdXNoKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKPiA+ID4gPiAgICAJc3RydWN0IGRybV9j dHhfbGlzdCAqcG9zLCAqdG1wOwo+ID4gPiA+ICAgIAlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1 cmUoZGV2LCBEUklWRVJfS01TX0xFR0FDWV9DT05URVhUKSAmJgo+ID4gPiA+IC0JICAgIGRybV9j b3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gPiA+ID4gKwkgICAgIWRy bV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZKSkKPiA+ID4gPiAgICAJCXJl dHVybjsKPiA+ID4gPiAgICAJbXV0ZXhfbG9jaygmZGV2LT5jdHhsaXN0X211dGV4KTsKPiA+ID4g PiBAQCAtMTc3LDcgKzE3Nyw3IEBAIGludCBkcm1fbGVnYWN5X2dldHNhcmVhY3R4KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gPiA+ID4gICAgCXN0cnVjdCBkcm1fbWFwX2xp c3QgKl9lbnRyeTsKPiA+ID4gPiAgICAJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwg RFJJVkVSX0tNU19MRUdBQ1lfQ09OVEVYVCkgJiYKPiA+ID4gPiAtCSAgICBkcm1fY29yZV9jaGVj a19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKQo+ID4gPiA+ICsJICAgICFkcm1fY29yZV9j aGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpCj4gPiA+ID4gICAgCQlyZXR1cm4gLUVJ TlZBTDsKPiA+ID4gPiAgICAJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+ID4gPiA+ IEBAIC0yMjUsNyArMjI1LDcgQEAgaW50IGRybV9sZWdhY3lfc2V0c2FyZWFjdHgoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiA+ID4gPiAgICAJc3RydWN0IGRybV9tYXBfbGlz dCAqcl9saXN0ID0gTlVMTDsKPiA+ID4gPiAgICAJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJl KGRldiwgRFJJVkVSX0tNU19MRUdBQ1lfQ09OVEVYVCkgJiYKPiA+ID4gPiAtCSAgICBkcm1fY29y ZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKQo+ID4gPiA+ICsJICAgICFkcm1f Y29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpCj4gPiA+ID4gICAgCQlyZXR1 cm4gLUVJTlZBTDsKPiA+ID4gPiAgICAJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+ ID4gPiA+IEBAIC0zMjksNyArMzI5LDcgQEAgaW50IGRybV9sZWdhY3lfcmVzY3R4KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gPiA+ID4gICAgCWludCBpOwo+ID4gPiA+ICAg IAlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfS01TX0xFR0FDWV9DT05U RVhUKSAmJgo+ID4gPiA+IC0JICAgIGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJf TU9ERVNFVCkpCj4gPiA+ID4gKwkgICAgIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklW RVJfTEVHQUNZKSkKPiA+ID4gPiAgICAJCXJldHVybiAtRUlOVkFMOwo+ID4gPiA+ICAgIAlpZiAo cmVzLT5jb3VudCA+PSBEUk1fUkVTRVJWRURfQ09OVEVYVFMpIHsKPiA+ID4gPiBAQCAtMzYzLDcg KzM2Myw3IEBAIGludCBkcm1fbGVnYWN5X2FkZGN0eChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2 b2lkICpkYXRhLAo+ID4gPiA+ICAgIAlzdHJ1Y3QgZHJtX2N0eCAqY3R4ID0gZGF0YTsKPiA+ID4g PiAgICAJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0tNU19MRUdBQ1lf Q09OVEVYVCkgJiYKPiA+ID4gPiAtCSAgICBkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJ VkVSX01PREVTRVQpKQo+ID4gPiA+ICsJICAgICFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwg RFJJVkVSX0xFR0FDWSkpCj4gPiA+ID4gICAgCQlyZXR1cm4gLUVJTlZBTDsKPiA+ID4gPiAgICAJ Y3R4LT5oYW5kbGUgPSBkcm1fbGVnYWN5X2N0eGJpdG1hcF9uZXh0KGRldik7Cj4gPiA+ID4gQEAg LTQxMCw3ICs0MTAsNyBAQCBpbnQgZHJtX2xlZ2FjeV9nZXRjdHgoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgdm9pZCAqZGF0YSwKPiA+ID4gPiAgICAJc3RydWN0IGRybV9jdHggKmN0eCA9IGRhdGE7 Cj4gPiA+ID4gICAgCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9LTVNf TEVHQUNZX0NPTlRFWFQpICYmCj4gPiA+ID4gLQkgICAgZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShk ZXYsIERSSVZFUl9NT0RFU0VUKSkKPiA+ID4gPiArCSAgICAhZHJtX2NvcmVfY2hlY2tfZmVhdHVy ZShkZXYsIERSSVZFUl9MRUdBQ1kpKQo+ID4gPiA+ICAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gPiA+ ID4gICAgCS8qIFRoaXMgaXMgMCwgYmVjYXVzZSB3ZSBkb24ndCBoYW5kbGUgYW55IGNvbnRleHQg ZmxhZ3MgKi8KPiA+ID4gPiBAQCAtNDM2LDcgKzQzNiw3IEBAIGludCBkcm1fbGVnYWN5X3N3aXRj aGN0eChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ID4gPiA+ICAgIAlzdHJ1 Y3QgZHJtX2N0eCAqY3R4ID0gZGF0YTsKPiA+ID4gPiAgICAJaWYgKCFkcm1fY29yZV9jaGVja19m ZWF0dXJlKGRldiwgRFJJVkVSX0tNU19MRUdBQ1lfQ09OVEVYVCkgJiYKPiA+ID4gPiAtCSAgICBk cm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKQo+ID4gPiA+ICsJICAg ICFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpCj4gPiA+ID4gICAg CQlyZXR1cm4gLUVJTlZBTDsKPiA+ID4gPiAgICAJRFJNX0RFQlVHKCIlZFxuIiwgY3R4LT5oYW5k bGUpOwo+ID4gPiA+IEBAIC00NjAsNyArNDYwLDcgQEAgaW50IGRybV9sZWdhY3lfbmV3Y3R4KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gPiA+ID4gICAgCXN0cnVjdCBkcm1f Y3R4ICpjdHggPSBkYXRhOwo+ID4gPiA+ICAgIAlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUo ZGV2LCBEUklWRVJfS01TX0xFR0FDWV9DT05URVhUKSAmJgo+ID4gPiA+IC0JICAgIGRybV9jb3Jl X2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gPiA+ID4gKwkgICAgIWRybV9j b3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZKSkKPiA+ID4gPiAgICAJCXJldHVy biAtRUlOVkFMOwo+ID4gPiA+ICAgIAlEUk1fREVCVUcoIiVkXG4iLCBjdHgtPmhhbmRsZSk7Cj4g PiA+ID4gQEAgLTQ4Niw3ICs0ODYsNyBAQCBpbnQgZHJtX2xlZ2FjeV9ybWN0eChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ID4gPiA+ICAgIAlzdHJ1Y3QgZHJtX2N0eCAqY3R4 ID0gZGF0YTsKPiA+ID4gPiAgICAJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJ VkVSX0tNU19MRUdBQ1lfQ09OVEVYVCkgJiYKPiA+ID4gPiAtCSAgICBkcm1fY29yZV9jaGVja19m ZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKQo+ID4gPiA+ICsJICAgICFkcm1fY29yZV9jaGVj a19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpCj4gPiA+ID4gICAgCQlyZXR1cm4gLUVJTlZB TDsKPiA+ID4gPiAgICAJRFJNX0RFQlVHKCIlZFxuIiwgY3R4LT5oYW5kbGUpOwo+ID4gPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2RtYS5jIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9kbWEuYwo+ID4gPiA+IGluZGV4IGVhNDgxODAwZWY1Ni4uM2Y4M2UyY2E4MGFkIDEwMDY0NAo+ ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZG1hLmMKPiA+ID4gPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2RtYS5jCj4gPiA+ID4gQEAgLTUwLDkgKzUwLDggQEAgaW50IGRybV9s ZWdhY3lfZG1hX3NldHVwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiA+ID4gICAgCWludCBp Owo+ID4gPiA+ICAgIAlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfSEFW RV9ETUEpIHx8Cj4gPiA+ID4gLQkgICAgZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZF Ul9NT0RFU0VUKSkgewo+ID4gPiA+ICsJICAgICFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwg RFJJVkVSX0xFR0FDWSkpCj4gPiA+ID4gICAgCQlyZXR1cm4gMDsKPiA+ID4gPiAtCX0KPiA+ID4g PiAgICAJZGV2LT5idWZfdXNlID0gMDsKPiA+ID4gPiAgICAJYXRvbWljX3NldCgmZGV2LT5idWZf YWxsb2MsIDApOwo+ID4gPiA+IEBAIC04MSw5ICs4MCw4IEBAIHZvaWQgZHJtX2xlZ2FjeV9kbWFf dGFrZWRvd24oc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiA+ID4gPiAgICAJaW50IGksIGo7Cj4g PiA+ID4gICAgCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9IQVZFX0RN QSkgfHwKPiA+ID4gPiAtCSAgICBkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01P REVTRVQpKSB7Cj4gPiA+ID4gKwkgICAgIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklW RVJfTEVHQUNZKSkKPiA+ID4gPiAgICAJCXJldHVybjsKPiA+ID4gPiAtCX0KPiA+ID4gPiAgICAJ aWYgKCFkbWEpCj4gPiA+ID4gICAgCQlyZXR1cm47Cj4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fZm9wcy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mb3BzLmMKPiA+ID4g PiBpbmRleCAzMjNjMjM4ZmNhYzcuLjAzNmNkMjc1YzUzZSAxMDA2NDQKPiA+ID4gPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2ZvcHMuYwo+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fZm9wcy5jCj4gPiA+ID4gQEAgLTkyLDcgKzkyLDcgQEAgc3RhdGljIGludCBkcm1fc2V0dXAo c3RydWN0IGRybV9kZXZpY2UgKiBkZXYpCj4gPiA+ID4gICAgCWludCByZXQ7Cj4gPiA+ID4gICAg CWlmIChkZXYtPmRyaXZlci0+Zmlyc3RvcGVuICYmCj4gPiA+ID4gLQkgICAgIWRybV9jb3JlX2No ZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpIHsKPiA+ID4gPiArCSAgICBkcm1fY29y ZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpIHsKPiA+ID4gPiAgICAJCXJldCA9 IGRldi0+ZHJpdmVyLT5maXJzdG9wZW4oZGV2KTsKPiA+ID4gPiAgICAJCWlmIChyZXQgIT0gMCkK PiA+ID4gPiAgICAJCQlyZXR1cm4gcmV0Owo+ID4gPiA+IEBAIC0zNDYsNyArMzQ2LDcgQEAgdm9p ZCBkcm1fbGFzdGNsb3NlKHN0cnVjdCBkcm1fZGV2aWNlICogZGV2KQo+ID4gPiA+ICAgIAkJZGV2 LT5kcml2ZXItPmxhc3RjbG9zZShkZXYpOwo+ID4gPiA+ICAgIAlEUk1fREVCVUcoImRyaXZlciBs YXN0Y2xvc2UgY29tcGxldGVkXG4iKTsKPiA+ID4gPiAtCWlmICghZHJtX2NvcmVfY2hlY2tfZmVh dHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKPiA+ID4gPiArCWlmIChkcm1fY29yZV9jaGVja19m ZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpCj4gPiA+ID4gICAgCQlkcm1fbGVnYWN5X2Rldl9y ZWluaXQoZGV2KTsKPiA+ID4gPiAgICB9Cj4gPiA+ID4gQEAgLTM4OSw3ICszODksNyBAQCBpbnQg ZHJtX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCj4gPiA+ ID4gICAgCQkgIChsb25nKW9sZF9lbmNvZGVfZGV2KGZpbGVfcHJpdi0+bWlub3ItPmtkZXYtPmRl dnQpLAo+ID4gPiA+ICAgIAkJICBkZXYtPm9wZW5fY291bnQpOwo+ID4gPiA+IC0JaWYgKCFkcm1f Y29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKQo+ID4gPiA+ICsJaWYgKGRy bV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZKSkKPiA+ID4gPiAgICAJCWRy bV9sZWdhY3lfbG9ja19yZWxlYXNlKGRldiwgZmlscCk7Cj4gPiA+ID4gICAgCWlmIChkcm1fY29y ZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0hBVkVfRE1BKSkKPiA+ID4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0 bC5jCj4gPiA+ID4gaW5kZXggNTA4NWZkOTBmNzRkLi4wNjYzYTkyOTIyYTggMTAwNjQ0Cj4gPiA+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jCj4gPiA+ID4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9pb2N0bC5jCj4gPiA+ID4gQEAgLTcxNCw5ICs3MTQsOSBAQCBsb25nIGRy bV9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlscCwKPiA+ID4gPiAgICAJaWYgKGtzaXplID4gaW5fc2l6 ZSkKPiA+ID4gPiAgICAJCW1lbXNldChrZGF0YSArIGluX3NpemUsIDAsIGtzaXplIC0gaW5fc2l6 ZSk7Cj4gPiA+ID4gLQkvKiBFbmZvcmNlIHNhbmUgbG9ja2luZyBmb3Iga21zIGRyaXZlciBpb2N0 bHMuIENvcmUgaW9jdGxzIGFyZQo+ID4gPiA+ICsJLyogRW5mb3JjZSBzYW5lIGxvY2tpbmcgZm9y IG1vZGVybiBkcml2ZXIgaW9jdGxzLiBDb3JlIGlvY3RscyBhcmUKPiA+ID4gPiAgICAJICogdG9v IG1lc3N5IHN0aWxsLiAqLwo+ID4gPiA+IC0JaWYgKChkcm1fY29yZV9jaGVja19mZWF0dXJlKGRl diwgRFJJVkVSX01PREVTRVQpICYmIGlzX2RyaXZlcl9pb2N0bCkgfHwKPiA+ID4gPiArCWlmICgo IWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZKSAmJiBpc19kcml2ZXJf aW9jdGwpIHx8Cj4gPiA+ID4gICAgCSAgICAoaW9jdGwtPmZsYWdzICYgRFJNX1VOTE9DS0VEKSkK PiA+ID4gPiAgICAJCXJldGNvZGUgPSBmdW5jKGRldiwga2RhdGEsIGZpbGVfcHJpdik7Cj4gPiA+ ID4gICAgCWVsc2Ugewo+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ly cS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9pcnEuYwo+ID4gPiA+IGluZGV4IGEzMzQ2NWQ4ZTEz My4uZDZkMDIyYjdjMjliIDEwMDY0NAo+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f aXJxLmMKPiA+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2lycS5jCj4gPiA+ID4gQEAg LTQ4Miw3ICs0ODIsNyBAQCBpbnQgZHJtX2lycV9pbnN0YWxsKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIGludCBpcnEpCj4gPiA+ID4gICAgCQlyZXR1cm4gcmV0Owo+ID4gPiA+ICAgIAl9Cj4gPiA+ ID4gLQlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4g PiA+ID4gKwlpZiAoZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdBQ1kpKQo+ ID4gPiA+ICAgIAkJdmdhX2NsaWVudF9yZWdpc3RlcihkZXYtPnBkZXYsICh2b2lkICopZGV2LCBk cm1faXJxX3ZnYWFyYl9ub2ttcywgTlVMTCk7Cj4gPiA+ID4gICAgCS8qIEFmdGVyIGluc3RhbGxp bmcgaGFuZGxlciAqLwo+ID4gPiA+IEBAIC00OTEsNyArNDkxLDcgQEAgaW50IGRybV9pcnFfaW5z dGFsbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgaXJxKQo+ID4gPiA+ICAgIAlpZiAocmV0 IDwgMCkgewo+ID4gPiA+ICAgIAkJZGV2LT5pcnFfZW5hYmxlZCA9IGZhbHNlOwo+ID4gPiA+IC0J CWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKPiA+ID4g PiArCQlpZiAoZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdBQ1kpKQo+ID4g PiA+ICAgIAkJCXZnYV9jbGllbnRfcmVnaXN0ZXIoZGV2LT5wZGV2LCBOVUxMLCBOVUxMLCBOVUxM KTsKPiA+ID4gPiAgICAJCWZyZWVfaXJxKGlycSwgZGV2KTsKPiA+ID4gPiAgICAJfSBlbHNlIHsK PiA+ID4gPiBAQCAtNTU3LDcgKzU1Nyw3IEBAIGludCBkcm1faXJxX3VuaW5zdGFsbChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQo+ID4gPiA+ICAgIAlEUk1fREVCVUcoImlycT0lZFxuIiwgZGV2LT5p cnEpOwo+ID4gPiA+IC0JaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01P REVTRVQpKQo+ID4gPiA+ICsJaWYgKGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJf TEVHQUNZKSkKPiA+ID4gPiAgICAJCXZnYV9jbGllbnRfcmVnaXN0ZXIoZGV2LT5wZGV2LCBOVUxM LCBOVUxMLCBOVUxMKTsKPiA+ID4gPiAgICAJaWYgKGRldi0+ZHJpdmVyLT5pcnFfdW5pbnN0YWxs KQo+ID4gPiA+IEBAIC01OTIsNyArNTkyLDcgQEAgaW50IGRybV9jb250cm9sKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gPiA+ID4gICAgCWlmICghZHJtX2NvcmVfY2hlY2tf ZmVhdHVyZShkZXYsIERSSVZFUl9IQVZFX0lSUSkpCj4gPiA+ID4gICAgCQlyZXR1cm4gMDsKPiA+ ID4gPiAtCWlmIChkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKQo+ ID4gPiA+ICsJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkp Cj4gPiA+ID4gICAgCQlyZXR1cm4gMDsKPiA+ID4gPiAgICAJLyogVU1TIHdhcyBvbmx5IGV2ZXIg c3VwcG9ydGVkIG9uIHBjaSBkZXZpY2VzLiAqLwo+ID4gPiA+ICAgIAlpZiAoV0FSTl9PTighZGV2 LT5wZGV2KSkKPiA+ID4gPiBAQCAtMTQ4OCw3ICsxNDg4LDcgQEAgaW50IGRybV9tb2Rlc2V0X2N0 bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ID4gPiA+ICAgIAkJcmV0dXJu IDA7Cj4gPiA+ID4gICAgCS8qIEtNUyBkcml2ZXJzIGhhbmRsZSB0aGlzIGludGVybmFsbHkgKi8K PiA+ID4gPiAtCWlmIChkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQp KQo+ID4gPiA+ICsJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FD WSkpCj4gPiA+ID4gICAgCQlyZXR1cm4gMDsKPiA+ID4gPiAgICAJcGlwZSA9IG1vZGVzZXQtPmNy dGM7Cj4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbG9jay5jIGIvZHJp dmVycy9ncHUvZHJtL2RybV9sb2NrLmMKPiA+ID4gPiBpbmRleCA0OGFjMGViYmQ2NjMuLmM5MDFm M2M1YjI2OSAxMDA2NDQKPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2xvY2suYwo+ ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbG9jay5jCj4gPiA+ID4gQEAgLTE2Myw3 ICsxNjMsNyBAQCBpbnQgZHJtX2xlZ2FjeV9sb2NrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZv aWQgKmRhdGEsCj4gPiA+ID4gICAgCXN0cnVjdCBkcm1fbWFzdGVyICptYXN0ZXIgPSBmaWxlX3By aXYtPm1hc3RlcjsKPiA+ID4gPiAgICAJaW50IHJldCA9IDA7Cj4gPiA+ID4gLQlpZiAoZHJtX2Nv cmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKPiA+ID4gPiArCWlmICghZHJt X2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdBQ1kpKQo+ID4gPiA+ICAgIAkJcmV0 dXJuIC1FSU5WQUw7Cj4gPiA+ID4gICAgCSsrZmlsZV9wcml2LT5sb2NrX2NvdW50Owo+ID4gPiA+ IEBAIC0yNTIsNyArMjUyLDcgQEAgaW50IGRybV9sZWdhY3lfdW5sb2NrKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV8KPiA+ID4gPiAgICAJ c3RydWN0IGRybV9sb2NrICpsb2NrID0gZGF0YTsKPiA+ID4gPiAgICAJc3RydWN0IGRybV9tYXN0 ZXIgKm1hc3RlciA9IGZpbGVfcHJpdi0+bWFzdGVyOwo+ID4gPiA+IC0JaWYgKGRybV9jb3JlX2No ZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gPiA+ID4gKwlpZiAoIWRybV9jb3Jl X2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZKSkKPiA+ID4gPiAgICAJCXJldHVybiAt RUlOVkFMOwo+ID4gPiA+ICAgIAlpZiAobG9jay0+Y29udGV4dCA9PSBEUk1fS0VSTkVMX0NPTlRF WFQpIHsKPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9wY2kuYyBiL2Ry aXZlcnMvZ3B1L2RybS9kcm1fcGNpLmMKPiA+ID4gPiBpbmRleCBiMmY4ZjEwNjJkNWYuLmQ4NjM2 MmZjOGFjNiAxMDA2NDQKPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3BjaS5jCj4g PiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wY2kuYwo+ID4gPiA+IEBAIC0xNzUsNyAr MTc1LDcgQEAgaW50IGRybV9pcnFfYnlfYnVzaWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9p ZCAqZGF0YSwKPiA+ID4gPiAgICB7Cj4gPiA+ID4gICAgCXN0cnVjdCBkcm1faXJxX2J1c2lkICpw ID0gZGF0YTsKPiA+ID4gPiAtCWlmIChkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVS X01PREVTRVQpKQo+ID4gPiA+ICsJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJ VkVSX0xFR0FDWSkpCj4gPiA+ID4gICAgCQlyZXR1cm4gLUVJTlZBTDsKPiA+ID4gPiAgICAJLyog VU1TIHdhcyBvbmx5IGV2ZXIgc3VwcG9ydCBvbiBQQ0kgZGV2aWNlcy4gKi8KPiA+ID4gPiBAQCAt MjYzLDcgKzI2Myw3IEBAIGludCBkcm1fZ2V0X3BjaV9kZXYoc3RydWN0IHBjaV9kZXYgKnBkZXYs IGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICplbnQsCj4gPiA+ID4gICAgCS8qIE5vIGxvY2tp bmcgbmVlZGVkIHNpbmNlIHNoYWRvdy1hdHRhY2ggaXMgc2luZ2xlLXRocmVhZGVkIHNpbmNlIGl0 IG1heQo+ID4gPiA+ICAgIAkgKiBvbmx5IGJlIGNhbGxlZCBmcm9tIHRoZSBwZXItZHJpdmVyIG1v ZHVsZSBpbml0IGhvb2suICovCj4gPiA+ID4gLQlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUo ZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gPiA+ID4gKwlpZiAoZHJtX2NvcmVfY2hlY2tfZmVhdHVy ZShkZXYsIERSSVZFUl9MRUdBQ1kpKQo+ID4gPiA+ICAgIAkJbGlzdF9hZGRfdGFpbCgmZGV2LT5s ZWdhY3lfZGV2X2xpc3QsICZkcml2ZXItPmxlZ2FjeV9kZXZfbGlzdCk7Cj4gPiA+ID4gICAgCXJl dHVybiAwOwo+ID4gPiA+IEBAIC0yOTksNyArMjk5LDcgQEAgaW50IGRybV9wY2lfaW5pdChzdHJ1 Y3QgZHJtX2RyaXZlciAqZHJpdmVyLCBzdHJ1Y3QgcGNpX2RyaXZlciAqcGRyaXZlcikKPiA+ID4g PiAgICAJRFJNX0RFQlVHKCJcbiIpOwo+ID4gPiA+IC0JaWYgKGRyaXZlci0+ZHJpdmVyX2ZlYXR1 cmVzICYgRFJJVkVSX01PREVTRVQpCj4gPiA+ID4gKwlpZiAoIShkcml2ZXItPmRyaXZlcl9mZWF0 dXJlcyAmIERSSVZFUl9MRUdBQ1kpKQo+ID4gPiA+ICAgIAkJcmV0dXJuIHBjaV9yZWdpc3Rlcl9k cml2ZXIocGRyaXZlcik7Cj4gPiA+ID4gICAgCS8qIElmIG5vdCB1c2luZyBLTVMsIGZhbGwgYmFj ayB0byBzdGVhbHRoIG1vZGUgbWFudWFsIHNjYW5uaW5nLiAqLwo+ID4gPiA+IEBAIC00MjEsNyAr NDIxLDcgQEAgdm9pZCBkcm1fcGNpX2V4aXQoc3RydWN0IGRybV9kcml2ZXIgKmRyaXZlciwgc3Ry dWN0IHBjaV9kcml2ZXIgKnBkcml2ZXIpCj4gPiA+ID4gICAgCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsICp0bXA7Cj4gPiA+ID4gICAgCURSTV9ERUJVRygiXG4iKTsKPiA+ID4gPiAtCWlmIChkcml2 ZXItPmRyaXZlcl9mZWF0dXJlcyAmIERSSVZFUl9NT0RFU0VUKSB7Cj4gPiA+ID4gKwlpZiAoIShk cml2ZXItPmRyaXZlcl9mZWF0dXJlcyAmIERSSVZFUl9MRUdBQ1kpKSB7Cj4gPiA+ID4gICAgCQlw Y2lfdW5yZWdpc3Rlcl9kcml2ZXIocGRyaXZlcik7Cj4gPiA+ID4gICAgCX0gZWxzZSB7Cj4gPiA+ ID4gICAgCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoZGV2LCB0bXAsICZkcml2ZXItPmxlZ2Fj eV9kZXZfbGlzdCwKPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9zY2F0 dGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3NjYXR0ZXIuYwo+ID4gPiA+IGluZGV4IGJmNzA0 MzEwNzNmNi4uMjc1YmNhNDRmMzhjIDEwMDY0NAo+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fc2NhdHRlci5jCj4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9zY2F0dGVy LmMKPiA+ID4gPiBAQCAtNjgsNyArNjgsNyBAQCBzdGF0aWMgdm9pZCBkcm1fc2dfY2xlYW51cChz dHJ1Y3QgZHJtX3NnX21lbSAqIGVudHJ5KQo+ID4gPiA+ICAgIHZvaWQgZHJtX2xlZ2FjeV9zZ19j bGVhbnVwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiA+ID4gICAgewo+ID4gPiA+ICAgIAlp ZiAoZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9TRykgJiYgZGV2LT5zZyAmJgo+ ID4gPiA+IC0JICAgICFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQp KSB7Cj4gPiA+ID4gKwkgICAgZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdB Q1kpKSB7Cj4gPiA+ID4gICAgCQlkcm1fc2dfY2xlYW51cChkZXYtPnNnKTsKPiA+ID4gPiAgICAJ CWRldi0+c2cgPSBOVUxMOwo+ID4gPiA+ICAgIAl9Cj4gPiA+ID4gQEAgLTg4LDcgKzg4LDcgQEAg aW50IGRybV9sZWdhY3lfc2dfYWxsb2Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0 YSwKPiA+ID4gPiAgICAJRFJNX0RFQlVHKCJcbiIpOwo+ID4gPiA+IC0JaWYgKGRybV9jb3JlX2No ZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gPiA+ID4gKwlpZiAoIWRybV9jb3Jl X2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZKSkKPiA+ID4gPiAgICAJCXJldHVybiAt RUlOVkFMOwo+ID4gPiA+ICAgIAlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklW RVJfU0cpKQo+ID4gPiA+IEBAIC0yMDEsNyArMjAxLDcgQEAgaW50IGRybV9sZWdhY3lfc2dfZnJl ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ID4gPiA+ICAgIAlzdHJ1Y3Qg ZHJtX3NjYXR0ZXJfZ2F0aGVyICpyZXF1ZXN0ID0gZGF0YTsKPiA+ID4gPiAgICAJc3RydWN0IGRy bV9zZ19tZW0gKmVudHJ5Owo+ID4gPiA+IC0JaWYgKGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2 LCBEUklWRVJfTU9ERVNFVCkpCj4gPiA+ID4gKwlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUo ZGV2LCBEUklWRVJfTEVHQUNZKSkKPiA+ID4gPiAgICAJCXJldHVybiAtRUlOVkFMOwo+ID4gPiA+ ICAgIAlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfU0cpKQo+IAoKLS0g CkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6 Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbAo=