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 10:20:02 +0200 Message-ID: <20160804082002.GV6232@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> 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 5C30D6E72B for ; Thu, 4 Aug 2016 08:20:08 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id x83so41421644wma.3 for ; Thu, 04 Aug 2016 01:20:08 -0700 (PDT) Content-Disposition: inline In-Reply-To: <57A2F0CD.9070207@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 T24gVGh1LCBBdWcgMDQsIDIwMTYgYXQgMDg6Mzc6NDlBTSArMDEwMCwgRnJhbmsgQmlubnMgd3Jv dGU6Cj4gT24gMDMvMDgvMTYgMjA6MTEsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gPiBFeGNlcHQg Zm9yIG5vdXZlYXUsIG9ubHkgbGVnYWN5IGRyaXZlcnMgbmVlZCB0aGlzIHJlYWxseS4gQW5kIG5v dXZlYXUKPiA+IGlzIGFscmVhZHkgbWFya2VkIHVwIHdpdGggRFJJVkVSX0tNU19MRUdBQ1lfQ09O VEVYVCBhcyB0aGUgc3BlY2lhbAo+ID4gY2FzZS4KPiA+IAo+ID4gSSd2ZSB0cmllZCB0byBiZSBj YXJlZnVsIHRvIGxlYXZlIGV2ZXJ5dGhpbmcgcmVsYXRlZCB0byBtb2Rlc2V0IHN0aWxsCj4gPiB1 c2luZyB0aGUgRFJJVkVSX01PREVTRVQgZmxhZy4gT3RoZXJ3aXNlIGl0J3MgYSBkaXJlY3QgcmVw bGFjZW1lbnQgb2YKPiA+ICFEUklWRVJfTU9ERVNFVCB3aXRoIERSSVZFUl9MRUdBQ1kgY2hlY2tz LiBBbHNvIGhlbHBzIHJlYWRhYmlsaXR5Cj4gPiBzaW5jZSBmZXdlciBuZWdhdGl2ZSBjaGVja3Mg b3ZlcmFsbC4KPiA+IAo+ID4gU2lnbmVkLW9mZi1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZl dHRlckBpbnRlbC5jb20+Cj4gCj4gSSBkb24ndCB0aGluayB0aGlzIGdvZXMgZmFyIGVub3VnaC4g Rm9yIGV4YW1wbGUsIHRoZSBkb2N1bWVudGF0aW9uCj4gZm9yIHRoZSAnZmlyc3RvcGVuJyBjYWxs YmFjayBzYXlzIHRoYXQgaXQncyBjYWxsZWQgZm9yIGxlZ2FjeSBVTVMgZHJpdmVycwo+IGJ1dCBp dCBkb2VzIGEgY2hlY2sgYmFzZWQgb24gRFJJVkVSX01PREVTRVQuIFRoZXJlIGFyZSBhbHNvIHNv bWUKPiBwbGFjZXMgaW4gZHJtX3BjaS5jIHRoYXQgc2hvdWxkIGJlIGNoYW5nZWQgYXMgd2VsbC4K Ckkgc3dpdGNoZWQgdGhlIGNoZWNrIGZvciBmaXJzdG9wZW4gZnJvbSBEUklWRVJfTU9ERVNFVCB0 byBEUklWRVJfTEVHQUNZLgpBbmQgd2hpY2ggaG9vayBpbiBkcm1fcGNpLmMgc2hvdWxkIGJlIGNv bnZlcnRlZCBpbiB5b3VyIG9waW5pb24/Ci1EYW5pZWwKCj4gCj4gQW55d2F5LCB0aGlzIGlzIHBy b2dyZXNzIHNvOgo+IFJldmlld2VkLWJ5OiBGcmFuayBCaW5ucyA8ZnJhbmsuYmlubnNAaW1ndGVj LmNvbT4KPiAKPiA+IC0tLQo+ID4gICBkcml2ZXJzL2dwdS9kcm0vZHJtX2FncHN1cHBvcnQuYyB8 ICA2ICsrLS0tLQo+ID4gICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F1dGguYyAgICAgICB8ICAyICst Cj4gPiAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fYnVmcy5jICAgICAgIHwgMjIgKysrKysrKysrKyst LS0tLS0tLS0tLQo+ID4gICBkcml2ZXJzL2dwdS9kcm0vZHJtX2NvbnRleHQuYyAgICB8IDI0ICsr KysrKysrKysrKy0tLS0tLS0tLS0tLQo+ID4gICBkcml2ZXJzL2dwdS9kcm0vZHJtX2RtYS5jICAg ICAgICB8ICA2ICsrLS0tLQo+ID4gICBkcml2ZXJzL2dwdS9kcm0vZHJtX2ZvcHMuYyAgICAgICB8 ICA2ICsrKy0tLQo+ID4gICBkcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMgICAgICB8ICA0ICsr LS0KPiA+ICAgZHJpdmVycy9ncHUvZHJtL2RybV9pcnEuYyAgICAgICAgfCAxMCArKysrKy0tLS0t Cj4gPiAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fbG9jay5jICAgICAgIHwgIDQgKystLQo+ID4gICBk cml2ZXJzL2dwdS9kcm0vZHJtX3BjaS5jICAgICAgICB8ICA4ICsrKystLS0tCj4gPiAgIGRyaXZl cnMvZ3B1L2RybS9kcm1fc2NhdHRlci5jICAgIHwgIDYgKysrLS0tCj4gPiAgIDExIGZpbGVzIGNo YW5nZWQsIDQ3IGluc2VydGlvbnMoKyksIDUxIGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hZ3BzdXBwb3J0LmMgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX2FncHN1cHBvcnQuYwo+ID4gaW5kZXggNjA1YmQyNDNmYjM2Li5kNjIxYzhhNGNmMDAgMTAw NjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2FncHN1cHBvcnQuYwo+ID4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9hZ3BzdXBwb3J0LmMKPiA+IEBAIC00MzAsOSArNDMwLDcgQEAg c3RydWN0IGRybV9hZ3BfaGVhZCAqZHJtX2FncF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp Cj4gPiAgICAqIGludGFjdCBzbyBpdCBjYW4gc3RpbGwgYmUgdXNlZC4gSXQgaXMgc2FmZSB0byBj YWxsIHRoaXMgaWYgQUdQIGlzIGRpc2FibGVkIG9yCj4gPiAgICAqIHdhcyBhbHJlYWR5IHJlbW92 ZWQuCj4gPiAgICAqCj4gPiAtICogSWYgRFJJVkVSX01PREVTRVQgaXMgYWN0aXZlLCBub3RoaW5n IGlzIGRvbmUgdG8gcHJvdGVjdCB0aGUgbW9kZXNldHRpbmcKPiA+IC0gKiByZXNvdXJjZXMgZnJv bSBnZXR0aW5nIGRlc3Ryb3llZC4gRHJpdmVycyBhcmUgcmVzcG9uc2libGUgb2YgY2xlYW5pbmcg dGhlbSB1cAo+ID4gLSAqIGR1cmluZyBkZXZpY2Ugc2h1dGRvd24uCj4gPiArICogQ2xlYW51cCBp cyBvbmx5IGRvbmUgZm9yIGRyaXZlcnMgd2hvIGhhdmUgRFJJVkVSX0xFR0FDWSBzZXQuCj4gPiAg ICAqLwo+ID4gICB2b2lkIGRybV9sZWdhY3lfYWdwX2NsZWFyKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCj4gPiAgIHsKPiA+IEBAIC00NDAsNyArNDM4LDcgQEAgdm9pZCBkcm1fbGVnYWN5X2FncF9j bGVhcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gICAJaWYgKCFkZXYtPmFncCkKPiA+ICAg CQlyZXR1cm47Cj4gPiAtCWlmIChkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01P REVTRVQpKQo+ID4gKwlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVH QUNZKSkKPiA+ICAgCQlyZXR1cm47Cj4gPiAgIAlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoZW50 cnksIHRlbXBlLCAmZGV2LT5hZ3AtPm1lbW9yeSwgaGVhZCkgewo+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fYXV0aC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdXRoLmMKPiA+ IGluZGV4IDQxNTNlOGExOTNhZi4uNmIxNDM1MTRhNTY2IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2RybV9hdXRoLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXV0aC5j Cj4gPiBAQCAtMjUxLDcgKzI1MSw3IEBAIHZvaWQgZHJtX21hc3Rlcl9yZWxlYXNlKHN0cnVjdCBk cm1fZmlsZSAqZmlsZV9wcml2KQo+ID4gICAJaWYgKCFkcm1faXNfY3VycmVudF9tYXN0ZXIoZmls ZV9wcml2KSkKPiA+ICAgCQlnb3RvIG91dDsKPiA+IC0JaWYgKCFkcm1fY29yZV9jaGVja19mZWF0 dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKSB7Cj4gPiArCWlmIChkcm1fY29yZV9jaGVja19mZWF0 dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpIHsKPiA+ICAgCQkvKgo+ID4gICAJCSAqIFNpbmNlIHRo ZSBtYXN0ZXIgaXMgZGlzYXBwZWFyaW5nLCBzbyBpcyB0aGUKPiA+ICAgCQkgKiBwb3NzaWJpbGl0 eSB0byBsb2NrLgo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYnVmcy5jIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9idWZzLmMKPiA+IGluZGV4IGMzYTEyY2Q4YmQwZC4uMzIxOTE1 MTNlODJkIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9idWZzLmMKPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYnVmcy5jCj4gPiBAQCAtMzk3LDcgKzM5Nyw3IEBAIGlu dCBkcm1fbGVnYWN5X2FkZG1hcF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpk YXRhLAo+ID4gICAJCXJldHVybiAtRVBFUk07Cj4gPiAgIAlpZiAoIWRybV9jb3JlX2NoZWNrX2Zl YXR1cmUoZGV2LCBEUklWRVJfS01TX0xFR0FDWV9DT05URVhUKSAmJgo+ID4gLQkgICAgZHJtX2Nv cmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKPiA+ICsJICAgICFkcm1fY29y ZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpCj4gPiAgIAkJcmV0dXJuIC1FSU5W QUw7Cj4gPiAgIAllcnIgPSBkcm1fYWRkbWFwX2NvcmUoZGV2LCBtYXAtPm9mZnNldCwgbWFwLT5z aXplLCBtYXAtPnR5cGUsCj4gPiBAQCAtNDQzLDcgKzQ0Myw3IEBAIGludCBkcm1fbGVnYWN5X2dl dG1hcF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ID4gICAJaW50 IGk7Cj4gPiAgIAlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfS01TX0xF R0FDWV9DT05URVhUKSAmJgo+ID4gLQkgICAgZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERS SVZFUl9NT0RFU0VUKSkKPiA+ICsJICAgICFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJ VkVSX0xFR0FDWSkpCj4gPiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gPiAgIAlpZHggPSBtYXAtPm9m ZnNldDsKPiA+IEBAIC01NDUsNyArNTQ1LDcgQEAgRVhQT1JUX1NZTUJPTChkcm1fbGVnYWN5X3Jt bWFwX2xvY2tlZCk7Cj4gPiAgIHZvaWQgZHJtX2xlZ2FjeV9ybW1hcChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCBzdHJ1Y3QgZHJtX2xvY2FsX21hcCAqbWFwKQo+ID4gICB7Cj4gPiAgIAlpZiAoIWRy bV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfS01TX0xFR0FDWV9DT05URVhUKSAmJgo+ ID4gLQkgICAgZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKPiA+ ICsJICAgICFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpCj4gPiAg IAkJcmV0dXJuOwo+ID4gICAJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+ID4gQEAg LTU1OCw3ICs1NTgsNyBAQCB2b2lkIGRybV9sZWdhY3lfbWFzdGVyX3JtbWFwcyhzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX21hc3RlciAqbWFzdGVyKQo+ID4gICB7Cj4gPiAgIAlz dHJ1Y3QgZHJtX21hcF9saXN0ICpyX2xpc3QsICpsaXN0X3RlbXA7Cj4gPiAtCWlmIChkcm1fY29y ZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKQo+ID4gKwlpZiAoIWRybV9jb3Jl X2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZKSkKPiA+ICAgCQlyZXR1cm47Cj4gPiAg IAltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gPiBAQCAtNTk1LDcgKzU5NSw3IEBA IGludCBkcm1fbGVnYWN5X3JtbWFwX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQg KmRhdGEsCj4gPiAgIAlpbnQgcmV0Owo+ID4gICAJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJl KGRldiwgRFJJVkVSX0tNU19MRUdBQ1lfQ09OVEVYVCkgJiYKPiA+IC0JICAgIGRybV9jb3JlX2No ZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gPiArCSAgICAhZHJtX2NvcmVfY2hl Y2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdBQ1kpKQo+ID4gICAJCXJldHVybiAtRUlOVkFMOwo+ ID4gICAJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+ID4gQEAgLTEyMjAsNyArMTIy MCw3IEBAIGludCBkcm1fbGVnYWN5X2FkZGJ1ZnMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9p ZCAqZGF0YSwKPiA+ICAgCXN0cnVjdCBkcm1fYnVmX2Rlc2MgKnJlcXVlc3QgPSBkYXRhOwo+ID4g ICAJaW50IHJldDsKPiA+IC0JaWYgKGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJf TU9ERVNFVCkpCj4gPiArCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9M RUdBQ1kpKQo+ID4gICAJCXJldHVybiAtRUlOVkFMOwo+ID4gICAJaWYgKCFkcm1fY29yZV9jaGVj a19mZWF0dXJlKGRldiwgRFJJVkVSX0hBVkVfRE1BKSkKPiA+IEBAIC0xMjY2LDcgKzEyNjYsNyBA QCBpbnQgZHJtX2xlZ2FjeV9pbmZvYnVmcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpk YXRhLAo+ID4gICAJaW50IGk7Cj4gPiAgIAlpbnQgY291bnQ7Cj4gPiAtCWlmIChkcm1fY29yZV9j aGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKQo+ID4gKwlpZiAoIWRybV9jb3JlX2No ZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZKSkKPiA+ICAgCQlyZXR1cm4gLUVJTlZBTDsK PiA+ICAgCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9IQVZFX0RNQSkp Cj4gPiBAQCAtMTM0Nyw3ICsxMzQ3LDcgQEAgaW50IGRybV9sZWdhY3lfbWFya2J1ZnMoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiA+ICAgCWludCBvcmRlcjsKPiA+ICAgCXN0 cnVjdCBkcm1fYnVmX2VudHJ5ICplbnRyeTsKPiA+IC0JaWYgKGRybV9jb3JlX2NoZWNrX2ZlYXR1 cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gPiArCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVy ZShkZXYsIERSSVZFUl9MRUdBQ1kpKQo+ID4gICAJCXJldHVybiAtRUlOVkFMOwo+ID4gICAJaWYg KCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0hBVkVfRE1BKSkKPiA+IEBAIC0x Mzk1LDcgKzEzOTUsNyBAQCBpbnQgZHJtX2xlZ2FjeV9mcmVlYnVmcyhzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCB2b2lkICpkYXRhLAo+ID4gICAJaW50IGlkeDsKPiA+ICAgCXN0cnVjdCBkcm1fYnVm ICpidWY7Cj4gPiAtCWlmIChkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVT RVQpKQo+ID4gKwlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZ KSkKPiA+ICAgCQlyZXR1cm4gLUVJTlZBTDsKPiA+ICAgCWlmICghZHJtX2NvcmVfY2hlY2tfZmVh dHVyZShkZXYsIERSSVZFUl9IQVZFX0RNQSkpCj4gPiBAQCAtMTQ1MCw3ICsxNDUwLDcgQEAgaW50 IGRybV9sZWdhY3lfbWFwYnVmcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ ID4gICAJc3RydWN0IGRybV9idWZfbWFwICpyZXF1ZXN0ID0gZGF0YTsKPiA+ICAgCWludCBpOwo+ ID4gLQlpZiAoZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKPiA+ ICsJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpCj4gPiAg IAkJcmV0dXJuIC1FSU5WQUw7Cj4gPiAgIAlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2 LCBEUklWRVJfSEFWRV9ETUEpKQo+ID4gQEAgLTE1MzAsNyArMTUzMCw3IEBAIGludCBkcm1fbGVn YWN5X21hcGJ1ZnMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiA+ICAgaW50 IGRybV9sZWdhY3lfZG1hX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEs Cj4gPiAgIAkJICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdikKPiA+ICAgewo+ID4gLQlpZiAo ZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKPiA+ICsJaWYgKCFk cm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpCj4gPiAgIAkJcmV0dXJu IC1FSU5WQUw7Cj4gPiAgIAlpZiAoZGV2LT5kcml2ZXItPmRtYV9pb2N0bCkKPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NvbnRleHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f Y29udGV4dC5jCj4gPiBpbmRleCAxOTJhNWY5ZWViNzQuLjNjNDAwMGZhY2IzNiAxMDA2NDQKPiA+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29udGV4dC5jCj4gPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2NvbnRleHQuYwo+ID4gQEAgLTU0LDcgKzU0LDcgQEAgc3RydWN0IGRybV9jdHhf bGlzdCB7Cj4gPiAgIHZvaWQgZHJtX2xlZ2FjeV9jdHhiaXRtYXBfZnJlZShzdHJ1Y3QgZHJtX2Rl dmljZSAqIGRldiwgaW50IGN0eF9oYW5kbGUpCj4gPiAgIHsKPiA+ICAgCWlmICghZHJtX2NvcmVf Y2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9LTVNfTEVHQUNZX0NPTlRFWFQpICYmCj4gPiAtCSAg ICBkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKQo+ID4gKwkgICAg IWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZKSkKPiA+ICAgCQlyZXR1 cm47Cj4gPiAgIAltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gPiBAQCAtOTIsNyAr OTIsNyBAQCBzdGF0aWMgaW50IGRybV9sZWdhY3lfY3R4Yml0bWFwX25leHQoc3RydWN0IGRybV9k ZXZpY2UgKiBkZXYpCj4gPiAgIHZvaWQgZHJtX2xlZ2FjeV9jdHhiaXRtYXBfaW5pdChzdHJ1Y3Qg ZHJtX2RldmljZSAqIGRldikKPiA+ICAgewo+ID4gICAJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0 dXJlKGRldiwgRFJJVkVSX0tNU19MRUdBQ1lfQ09OVEVYVCkgJiYKPiA+IC0JICAgIGRybV9jb3Jl X2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gPiArCSAgICAhZHJtX2NvcmVf Y2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdBQ1kpKQo+ID4gICAJCXJldHVybjsKPiA+ICAg CWlkcl9pbml0KCZkZXYtPmN0eF9pZHIpOwo+ID4gQEAgLTEwOSw3ICsxMDksNyBAQCB2b2lkIGRy bV9sZWdhY3lfY3R4Yml0bWFwX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKiBkZXYpCj4gPiAgIHZv aWQgZHJtX2xlZ2FjeV9jdHhiaXRtYXBfY2xlYW51cChzdHJ1Y3QgZHJtX2RldmljZSAqIGRldikK PiA+ICAgewo+ID4gICAJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0tN U19MRUdBQ1lfQ09OVEVYVCkgJiYKPiA+IC0JICAgIGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2 LCBEUklWRVJfTU9ERVNFVCkpCj4gPiArCSAgICAhZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYs IERSSVZFUl9MRUdBQ1kpKQo+ID4gICAJCXJldHVybjsKPiA+ICAgCW11dGV4X2xvY2soJmRldi0+ c3RydWN0X211dGV4KTsKPiA+IEBAIC0xMzEsNyArMTMxLDcgQEAgdm9pZCBkcm1fbGVnYWN5X2N0 eGJpdG1hcF9mbHVzaChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZp bGUpCj4gPiAgIAlzdHJ1Y3QgZHJtX2N0eF9saXN0ICpwb3MsICp0bXA7Cj4gPiAgIAlpZiAoIWRy bV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfS01TX0xFR0FDWV9DT05URVhUKSAmJgo+ ID4gLQkgICAgZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKPiA+ ICsJICAgICFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpCj4gPiAg IAkJcmV0dXJuOwo+ID4gICAJbXV0ZXhfbG9jaygmZGV2LT5jdHhsaXN0X211dGV4KTsKPiA+IEBA IC0xNzcsNyArMTc3LDcgQEAgaW50IGRybV9sZWdhY3lfZ2V0c2FyZWFjdHgoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiA+ICAgCXN0cnVjdCBkcm1fbWFwX2xpc3QgKl9lbnRy eTsKPiA+ICAgCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9LTVNfTEVH QUNZX0NPTlRFWFQpICYmCj4gPiAtCSAgICBkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJ VkVSX01PREVTRVQpKQo+ID4gKwkgICAgIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklW RVJfTEVHQUNZKSkKPiA+ICAgCQlyZXR1cm4gLUVJTlZBTDsKPiA+ICAgCW11dGV4X2xvY2soJmRl di0+c3RydWN0X211dGV4KTsKPiA+IEBAIC0yMjUsNyArMjI1LDcgQEAgaW50IGRybV9sZWdhY3lf c2V0c2FyZWFjdHgoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiA+ICAgCXN0 cnVjdCBkcm1fbWFwX2xpc3QgKnJfbGlzdCA9IE5VTEw7Cj4gPiAgIAlpZiAoIWRybV9jb3JlX2No ZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfS01TX0xFR0FDWV9DT05URVhUKSAmJgo+ID4gLQkgICAg ZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKPiA+ICsJICAgICFk cm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpCj4gPiAgIAkJcmV0dXJu IC1FSU5WQUw7Cj4gPiAgIAltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gPiBAQCAt MzI5LDcgKzMyOSw3IEBAIGludCBkcm1fbGVnYWN5X3Jlc2N0eChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCB2b2lkICpkYXRhLAo+ID4gICAJaW50IGk7Cj4gPiAgIAlpZiAoIWRybV9jb3JlX2NoZWNr X2ZlYXR1cmUoZGV2LCBEUklWRVJfS01TX0xFR0FDWV9DT05URVhUKSAmJgo+ID4gLQkgICAgZHJt X2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKPiA+ICsJICAgICFkcm1f Y29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpCj4gPiAgIAkJcmV0dXJuIC1F SU5WQUw7Cj4gPiAgIAlpZiAocmVzLT5jb3VudCA+PSBEUk1fUkVTRVJWRURfQ09OVEVYVFMpIHsK PiA+IEBAIC0zNjMsNyArMzYzLDcgQEAgaW50IGRybV9sZWdhY3lfYWRkY3R4KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gPiAgIAlzdHJ1Y3QgZHJtX2N0eCAqY3R4ID0gZGF0 YTsKPiA+ICAgCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9LTVNfTEVH QUNZX0NPTlRFWFQpICYmCj4gPiAtCSAgICBkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJ VkVSX01PREVTRVQpKQo+ID4gKwkgICAgIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklW RVJfTEVHQUNZKSkKPiA+ICAgCQlyZXR1cm4gLUVJTlZBTDsKPiA+ICAgCWN0eC0+aGFuZGxlID0g ZHJtX2xlZ2FjeV9jdHhiaXRtYXBfbmV4dChkZXYpOwo+ID4gQEAgLTQxMCw3ICs0MTAsNyBAQCBp bnQgZHJtX2xlZ2FjeV9nZXRjdHgoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwK PiA+ICAgCXN0cnVjdCBkcm1fY3R4ICpjdHggPSBkYXRhOwo+ID4gICAJaWYgKCFkcm1fY29yZV9j aGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0tNU19MRUdBQ1lfQ09OVEVYVCkgJiYKPiA+IC0JICAg IGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gPiArCSAgICAh ZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdBQ1kpKQo+ID4gICAJCXJldHVy biAtRUlOVkFMOwo+ID4gICAJLyogVGhpcyBpcyAwLCBiZWNhdXNlIHdlIGRvbid0IGhhbmRsZSBh bnkgY29udGV4dCBmbGFncyAqLwo+ID4gQEAgLTQzNiw3ICs0MzYsNyBAQCBpbnQgZHJtX2xlZ2Fj eV9zd2l0Y2hjdHgoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiA+ICAgCXN0 cnVjdCBkcm1fY3R4ICpjdHggPSBkYXRhOwo+ID4gICAJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0 dXJlKGRldiwgRFJJVkVSX0tNU19MRUdBQ1lfQ09OVEVYVCkgJiYKPiA+IC0JICAgIGRybV9jb3Jl X2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gPiArCSAgICAhZHJtX2NvcmVf Y2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdBQ1kpKQo+ID4gICAJCXJldHVybiAtRUlOVkFM Owo+ID4gICAJRFJNX0RFQlVHKCIlZFxuIiwgY3R4LT5oYW5kbGUpOwo+ID4gQEAgLTQ2MCw3ICs0 NjAsNyBAQCBpbnQgZHJtX2xlZ2FjeV9uZXdjdHgoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9p ZCAqZGF0YSwKPiA+ICAgCXN0cnVjdCBkcm1fY3R4ICpjdHggPSBkYXRhOwo+ID4gICAJaWYgKCFk cm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0tNU19MRUdBQ1lfQ09OVEVYVCkgJiYK PiA+IC0JICAgIGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4g PiArCSAgICAhZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdBQ1kpKQo+ID4g ICAJCXJldHVybiAtRUlOVkFMOwo+ID4gICAJRFJNX0RFQlVHKCIlZFxuIiwgY3R4LT5oYW5kbGUp Owo+ID4gQEAgLTQ4Niw3ICs0ODYsNyBAQCBpbnQgZHJtX2xlZ2FjeV9ybWN0eChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ID4gICAJc3RydWN0IGRybV9jdHggKmN0eCA9IGRh dGE7Cj4gPiAgIAlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfS01TX0xF R0FDWV9DT05URVhUKSAmJgo+ID4gLQkgICAgZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERS SVZFUl9NT0RFU0VUKSkKPiA+ICsJICAgICFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJ VkVSX0xFR0FDWSkpCj4gPiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gPiAgIAlEUk1fREVCVUcoIiVk XG4iLCBjdHgtPmhhbmRsZSk7Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9k bWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZG1hLmMKPiA+IGluZGV4IGVhNDgxODAwZWY1Ni4u M2Y4M2UyY2E4MGFkIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9kbWEuYwo+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kbWEuYwo+ID4gQEAgLTUwLDkgKzUwLDggQEAg aW50IGRybV9sZWdhY3lfZG1hX3NldHVwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiAgIAlp bnQgaTsKPiA+ICAgCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9IQVZF X0RNQSkgfHwKPiA+IC0JICAgIGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9E RVNFVCkpIHsKPiA+ICsJICAgICFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xF R0FDWSkpCj4gPiAgIAkJcmV0dXJuIDA7Cj4gPiAtCX0KPiA+ICAgCWRldi0+YnVmX3VzZSA9IDA7 Cj4gPiAgIAlhdG9taWNfc2V0KCZkZXYtPmJ1Zl9hbGxvYywgMCk7Cj4gPiBAQCAtODEsOSArODAs OCBAQCB2b2lkIGRybV9sZWdhY3lfZG1hX3Rha2Vkb3duKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp Cj4gPiAgIAlpbnQgaSwgajsKPiA+ICAgCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYs IERSSVZFUl9IQVZFX0RNQSkgfHwKPiA+IC0JICAgIGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2 LCBEUklWRVJfTU9ERVNFVCkpIHsKPiA+ICsJICAgICFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRl diwgRFJJVkVSX0xFR0FDWSkpCj4gPiAgIAkJcmV0dXJuOwo+ID4gLQl9Cj4gPiAgIAlpZiAoIWRt YSkKPiA+ICAgCQlyZXR1cm47Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9m b3BzLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZvcHMuYwo+ID4gaW5kZXggMzIzYzIzOGZjYWM3 Li4wMzZjZDI3NWM1M2UgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZvcHMu Ywo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mb3BzLmMKPiA+IEBAIC05Miw3ICs5Miw3 IEBAIHN0YXRpYyBpbnQgZHJtX3NldHVwKHN0cnVjdCBkcm1fZGV2aWNlICogZGV2KQo+ID4gICAJ aW50IHJldDsKPiA+ICAgCWlmIChkZXYtPmRyaXZlci0+Zmlyc3RvcGVuICYmCj4gPiAtCSAgICAh ZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkgewo+ID4gKwkgICAg ZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdBQ1kpKSB7Cj4gPiAgIAkJcmV0 ID0gZGV2LT5kcml2ZXItPmZpcnN0b3BlbihkZXYpOwo+ID4gICAJCWlmIChyZXQgIT0gMCkKPiA+ ICAgCQkJcmV0dXJuIHJldDsKPiA+IEBAIC0zNDYsNyArMzQ2LDcgQEAgdm9pZCBkcm1fbGFzdGNs b3NlKHN0cnVjdCBkcm1fZGV2aWNlICogZGV2KQo+ID4gICAJCWRldi0+ZHJpdmVyLT5sYXN0Y2xv c2UoZGV2KTsKPiA+ICAgCURSTV9ERUJVRygiZHJpdmVyIGxhc3RjbG9zZSBjb21wbGV0ZWRcbiIp Owo+ID4gLQlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkp Cj4gPiArCWlmIChkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpCj4g PiAgIAkJZHJtX2xlZ2FjeV9kZXZfcmVpbml0KGRldik7Cj4gPiAgIH0KPiA+IEBAIC0zODksNyAr Mzg5LDcgQEAgaW50IGRybV9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxl ICpmaWxwKQo+ID4gICAJCSAgKGxvbmcpb2xkX2VuY29kZV9kZXYoZmlsZV9wcml2LT5taW5vci0+ a2Rldi0+ZGV2dCksCj4gPiAgIAkJICBkZXYtPm9wZW5fY291bnQpOwo+ID4gLQlpZiAoIWRybV9j b3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gPiArCWlmIChkcm1fY29y ZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpCj4gPiAgIAkJZHJtX2xlZ2FjeV9s b2NrX3JlbGVhc2UoZGV2LCBmaWxwKTsKPiA+ICAgCWlmIChkcm1fY29yZV9jaGVja19mZWF0dXJl KGRldiwgRFJJVkVSX0hBVkVfRE1BKSkKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2lvY3RsLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMKPiA+IGluZGV4IDUwODVm ZDkwZjc0ZC4uMDY2M2E5MjkyMmE4IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9pb2N0bC5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMKPiA+IEBAIC03 MTQsOSArNzE0LDkgQEAgbG9uZyBkcm1faW9jdGwoc3RydWN0IGZpbGUgKmZpbHAsCj4gPiAgIAlp ZiAoa3NpemUgPiBpbl9zaXplKQo+ID4gICAJCW1lbXNldChrZGF0YSArIGluX3NpemUsIDAsIGtz aXplIC0gaW5fc2l6ZSk7Cj4gPiAtCS8qIEVuZm9yY2Ugc2FuZSBsb2NraW5nIGZvciBrbXMgZHJp dmVyIGlvY3Rscy4gQ29yZSBpb2N0bHMgYXJlCj4gPiArCS8qIEVuZm9yY2Ugc2FuZSBsb2NraW5n IGZvciBtb2Rlcm4gZHJpdmVyIGlvY3Rscy4gQ29yZSBpb2N0bHMgYXJlCj4gPiAgIAkgKiB0b28g bWVzc3kgc3RpbGwuICovCj4gPiAtCWlmICgoZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERS SVZFUl9NT0RFU0VUKSAmJiBpc19kcml2ZXJfaW9jdGwpIHx8Cj4gPiArCWlmICgoIWRybV9jb3Jl X2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZKSAmJiBpc19kcml2ZXJfaW9jdGwpIHx8 Cj4gPiAgIAkgICAgKGlvY3RsLT5mbGFncyAmIERSTV9VTkxPQ0tFRCkpCj4gPiAgIAkJcmV0Y29k ZSA9IGZ1bmMoZGV2LCBrZGF0YSwgZmlsZV9wcml2KTsKPiA+ICAgCWVsc2Ugewo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1faXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ly cS5jCj4gPiBpbmRleCBhMzM0NjVkOGUxMzMuLmQ2ZDAyMmI3YzI5YiAxMDA2NDQKPiA+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9kcm1faXJxLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f aXJxLmMKPiA+IEBAIC00ODIsNyArNDgyLDcgQEAgaW50IGRybV9pcnFfaW5zdGFsbChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LCBpbnQgaXJxKQo+ID4gICAJCXJldHVybiByZXQ7Cj4gPiAgIAl9Cj4g PiAtCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKPiA+ ICsJaWYgKGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZKSkKPiA+ICAg CQl2Z2FfY2xpZW50X3JlZ2lzdGVyKGRldi0+cGRldiwgKHZvaWQgKilkZXYsIGRybV9pcnFfdmdh YXJiX25va21zLCBOVUxMKTsKPiA+ICAgCS8qIEFmdGVyIGluc3RhbGxpbmcgaGFuZGxlciAqLwo+ ID4gQEAgLTQ5MSw3ICs0OTEsNyBAQCBpbnQgZHJtX2lycV9pbnN0YWxsKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIGludCBpcnEpCj4gPiAgIAlpZiAocmV0IDwgMCkgewo+ID4gICAJCWRldi0+aXJx X2VuYWJsZWQgPSBmYWxzZTsKPiA+IC0JCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYs IERSSVZFUl9NT0RFU0VUKSkKPiA+ICsJCWlmIChkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwg RFJJVkVSX0xFR0FDWSkpCj4gPiAgIAkJCXZnYV9jbGllbnRfcmVnaXN0ZXIoZGV2LT5wZGV2LCBO VUxMLCBOVUxMLCBOVUxMKTsKPiA+ICAgCQlmcmVlX2lycShpcnEsIGRldik7Cj4gPiAgIAl9IGVs c2Ugewo+ID4gQEAgLTU1Nyw3ICs1NTcsNyBAQCBpbnQgZHJtX2lycV91bmluc3RhbGwoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKPiA+ICAgCURSTV9ERUJVRygiaXJxPSVkXG4iLCBkZXYtPmlycSk7 Cj4gPiAtCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkK PiA+ICsJaWYgKGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZKSkKPiA+ ICAgCQl2Z2FfY2xpZW50X3JlZ2lzdGVyKGRldi0+cGRldiwgTlVMTCwgTlVMTCwgTlVMTCk7Cj4g PiAgIAlpZiAoZGV2LT5kcml2ZXItPmlycV91bmluc3RhbGwpCj4gPiBAQCAtNTkyLDcgKzU5Miw3 IEBAIGludCBkcm1fY29udHJvbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ ID4gICAJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0hBVkVfSVJRKSkK PiA+ICAgCQlyZXR1cm4gMDsKPiA+IC0JaWYgKGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBE UklWRVJfTU9ERVNFVCkpCj4gPiArCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERS SVZFUl9MRUdBQ1kpKQo+ID4gICAJCXJldHVybiAwOwo+ID4gICAJLyogVU1TIHdhcyBvbmx5IGV2 ZXIgc3VwcG9ydGVkIG9uIHBjaSBkZXZpY2VzLiAqLwo+ID4gICAJaWYgKFdBUk5fT04oIWRldi0+ cGRldikpCj4gPiBAQCAtMTQ4OCw3ICsxNDg4LDcgQEAgaW50IGRybV9tb2Rlc2V0X2N0bChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ID4gICAJCXJldHVybiAwOwo+ID4gICAJ LyogS01TIGRyaXZlcnMgaGFuZGxlIHRoaXMgaW50ZXJuYWxseSAqLwo+ID4gLQlpZiAoZHJtX2Nv cmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKPiA+ICsJaWYgKCFkcm1fY29y ZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpCj4gPiAgIAkJcmV0dXJuIDA7Cj4g PiAgIAlwaXBlID0gbW9kZXNldC0+Y3J0YzsKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2xvY2suYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbG9jay5jCj4gPiBpbmRleCA0OGFj MGViYmQ2NjMuLmM5MDFmM2M1YjI2OSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fbG9jay5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2xvY2suYwo+ID4gQEAgLTE2 Myw3ICsxNjMsNyBAQCBpbnQgZHJtX2xlZ2FjeV9sb2NrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHZvaWQgKmRhdGEsCj4gPiAgIAlzdHJ1Y3QgZHJtX21hc3RlciAqbWFzdGVyID0gZmlsZV9wcml2 LT5tYXN0ZXI7Cj4gPiAgIAlpbnQgcmV0ID0gMDsKPiA+IC0JaWYgKGRybV9jb3JlX2NoZWNrX2Zl YXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gPiArCWlmICghZHJtX2NvcmVfY2hlY2tfZmVh dHVyZShkZXYsIERSSVZFUl9MRUdBQ1kpKQo+ID4gICAJCXJldHVybiAtRUlOVkFMOwo+ID4gICAJ KytmaWxlX3ByaXYtPmxvY2tfY291bnQ7Cj4gPiBAQCAtMjUyLDcgKzI1Miw3IEBAIGludCBkcm1f bGVnYWN5X3VubG9jayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLCBzdHJ1Y3Qg ZHJtX2ZpbGUgKmZpbGVfCj4gPiAgIAlzdHJ1Y3QgZHJtX2xvY2sgKmxvY2sgPSBkYXRhOwo+ID4g ICAJc3RydWN0IGRybV9tYXN0ZXIgKm1hc3RlciA9IGZpbGVfcHJpdi0+bWFzdGVyOwo+ID4gLQlp ZiAoZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKPiA+ICsJaWYg KCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpCj4gPiAgIAkJcmV0 dXJuIC1FSU5WQUw7Cj4gPiAgIAlpZiAobG9jay0+Y29udGV4dCA9PSBEUk1fS0VSTkVMX0NPTlRF WFQpIHsKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3BjaS5jIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9wY2kuYwo+ID4gaW5kZXggYjJmOGYxMDYyZDVmLi5kODYzNjJmYzhhYzYg MTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3BjaS5jCj4gPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX3BjaS5jCj4gPiBAQCAtMTc1LDcgKzE3NSw3IEBAIGludCBkcm1faXJx X2J5X2J1c2lkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gPiAgIHsKPiA+ ICAgCXN0cnVjdCBkcm1faXJxX2J1c2lkICpwID0gZGF0YTsKPiA+IC0JaWYgKGRybV9jb3JlX2No ZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gPiArCWlmICghZHJtX2NvcmVfY2hl Y2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdBQ1kpKQo+ID4gICAJCXJldHVybiAtRUlOVkFMOwo+ ID4gICAJLyogVU1TIHdhcyBvbmx5IGV2ZXIgc3VwcG9ydCBvbiBQQ0kgZGV2aWNlcy4gKi8KPiA+ IEBAIC0yNjMsNyArMjYzLDcgQEAgaW50IGRybV9nZXRfcGNpX2RldihzdHJ1Y3QgcGNpX2RldiAq cGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmVudCwKPiA+ICAgCS8qIE5vIGxvY2tp bmcgbmVlZGVkIHNpbmNlIHNoYWRvdy1hdHRhY2ggaXMgc2luZ2xlLXRocmVhZGVkIHNpbmNlIGl0 IG1heQo+ID4gICAJICogb25seSBiZSBjYWxsZWQgZnJvbSB0aGUgcGVyLWRyaXZlciBtb2R1bGUg aW5pdCBob29rLiAqLwo+ID4gLQlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklW RVJfTU9ERVNFVCkpCj4gPiArCWlmIChkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVS X0xFR0FDWSkpCj4gPiAgIAkJbGlzdF9hZGRfdGFpbCgmZGV2LT5sZWdhY3lfZGV2X2xpc3QsICZk cml2ZXItPmxlZ2FjeV9kZXZfbGlzdCk7Cj4gPiAgIAlyZXR1cm4gMDsKPiA+IEBAIC0yOTksNyAr Mjk5LDcgQEAgaW50IGRybV9wY2lfaW5pdChzdHJ1Y3QgZHJtX2RyaXZlciAqZHJpdmVyLCBzdHJ1 Y3QgcGNpX2RyaXZlciAqcGRyaXZlcikKPiA+ICAgCURSTV9ERUJVRygiXG4iKTsKPiA+IC0JaWYg KGRyaXZlci0+ZHJpdmVyX2ZlYXR1cmVzICYgRFJJVkVSX01PREVTRVQpCj4gPiArCWlmICghKGRy aXZlci0+ZHJpdmVyX2ZlYXR1cmVzICYgRFJJVkVSX0xFR0FDWSkpCj4gPiAgIAkJcmV0dXJuIHBj aV9yZWdpc3Rlcl9kcml2ZXIocGRyaXZlcik7Cj4gPiAgIAkvKiBJZiBub3QgdXNpbmcgS01TLCBm YWxsIGJhY2sgdG8gc3RlYWx0aCBtb2RlIG1hbnVhbCBzY2FubmluZy4gKi8KPiA+IEBAIC00MjEs NyArNDIxLDcgQEAgdm9pZCBkcm1fcGNpX2V4aXQoc3RydWN0IGRybV9kcml2ZXIgKmRyaXZlciwg c3RydWN0IHBjaV9kcml2ZXIgKnBkcml2ZXIpCj4gPiAgIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCAqdG1wOwo+ID4gICAJRFJNX0RFQlVHKCJcbiIpOwo+ID4gLQlpZiAoZHJpdmVyLT5kcml2ZXJf ZmVhdHVyZXMgJiBEUklWRVJfTU9ERVNFVCkgewo+ID4gKwlpZiAoIShkcml2ZXItPmRyaXZlcl9m ZWF0dXJlcyAmIERSSVZFUl9MRUdBQ1kpKSB7Cj4gPiAgIAkJcGNpX3VucmVnaXN0ZXJfZHJpdmVy KHBkcml2ZXIpOwo+ID4gICAJfSBlbHNlIHsKPiA+ICAgCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3Nh ZmUoZGV2LCB0bXAsICZkcml2ZXItPmxlZ2FjeV9kZXZfbGlzdCwKPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vZHJtX3NjYXR0ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fc2NhdHRl ci5jCj4gPiBpbmRleCBiZjcwNDMxMDczZjYuLjI3NWJjYTQ0ZjM4YyAxMDA2NDQKPiA+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fc2NhdHRlci5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX3NjYXR0ZXIuYwo+ID4gQEAgLTY4LDcgKzY4LDcgQEAgc3RhdGljIHZvaWQgZHJtX3NnX2Ns ZWFudXAoc3RydWN0IGRybV9zZ19tZW0gKiBlbnRyeSkKPiA+ICAgdm9pZCBkcm1fbGVnYWN5X3Nn X2NsZWFudXAoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiA+ICAgewo+ID4gICAJaWYgKGRybV9j b3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfU0cpICYmIGRldi0+c2cgJiYKPiA+IC0JICAg ICFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKSB7Cj4gPiArCSAg ICBkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpIHsKPiA+ICAgCQlk cm1fc2dfY2xlYW51cChkZXYtPnNnKTsKPiA+ICAgCQlkZXYtPnNnID0gTlVMTDsKPiA+ICAgCX0K PiA+IEBAIC04OCw3ICs4OCw3IEBAIGludCBkcm1fbGVnYWN5X3NnX2FsbG9jKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gPiAgIAlEUk1fREVCVUcoIlxuIik7Cj4gPiAtCWlm IChkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKQo+ID4gKwlpZiAo IWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZKSkKPiA+ICAgCQlyZXR1 cm4gLUVJTlZBTDsKPiA+ICAgCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZF Ul9TRykpCj4gPiBAQCAtMjAxLDcgKzIwMSw3IEBAIGludCBkcm1fbGVnYWN5X3NnX2ZyZWUoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiA+ICAgCXN0cnVjdCBkcm1fc2NhdHRl cl9nYXRoZXIgKnJlcXVlc3QgPSBkYXRhOwo+ID4gICAJc3RydWN0IGRybV9zZ19tZW0gKmVudHJ5 Owo+ID4gLQlpZiAoZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkK PiA+ICsJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpCj4g PiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gPiAgIAlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUo ZGV2LCBEUklWRVJfU0cpKQo+IAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIs IEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=