From mboxrd@z Thu Jan 1 00:00:00 1970 From: Frank Binns Subject: Re: [PATCH 2/2] drm: Used DRM_LEGACY for all legacy functions Date: Thu, 4 Aug 2016 08:37:49 +0100 Message-ID: <57A2F0CD.9070207@imgtec.com> References: <1470251470-30830-1-git-send-email-daniel.vetter@ffwll.ch> <1470251470-30830-2-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mailapp01.imgtec.com (mailapp01.imgtec.com [195.59.15.196]) by gabe.freedesktop.org (Postfix) with ESMTP id 929EE6E586 for ; Thu, 4 Aug 2016 07:38:02 +0000 (UTC) In-Reply-To: <1470251470-30830-2-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter , DRI Development Cc: Daniel Vetter List-Id: dri-devel@lists.freedesktop.org T24gMDMvMDgvMTYgMjA6MTEsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gRXhjZXB0IGZvciBub3V2 ZWF1LCBvbmx5IGxlZ2FjeSBkcml2ZXJzIG5lZWQgdGhpcyByZWFsbHkuIEFuZCBub3V2ZWF1Cj4g aXMgYWxyZWFkeSBtYXJrZWQgdXAgd2l0aCBEUklWRVJfS01TX0xFR0FDWV9DT05URVhUIGFzIHRo ZSBzcGVjaWFsCj4gY2FzZS4KPgo+IEkndmUgdHJpZWQgdG8gYmUgY2FyZWZ1bCB0byBsZWF2ZSBl dmVyeXRoaW5nIHJlbGF0ZWQgdG8gbW9kZXNldCBzdGlsbAo+IHVzaW5nIHRoZSBEUklWRVJfTU9E RVNFVCBmbGFnLiBPdGhlcndpc2UgaXQncyBhIGRpcmVjdCByZXBsYWNlbWVudCBvZgo+ICFEUklW RVJfTU9ERVNFVCB3aXRoIERSSVZFUl9MRUdBQ1kgY2hlY2tzLiBBbHNvIGhlbHBzIHJlYWRhYmls aXR5Cj4gc2luY2UgZmV3ZXIgbmVnYXRpdmUgY2hlY2tzIG92ZXJhbGwuCj4KPiBTaWduZWQtb2Zm LWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KCkkgZG9uJ3QgdGhp bmsgdGhpcyBnb2VzIGZhciBlbm91Z2guIEZvciBleGFtcGxlLCB0aGUgZG9jdW1lbnRhdGlvbgpm b3IgdGhlICdmaXJzdG9wZW4nIGNhbGxiYWNrIHNheXMgdGhhdCBpdCdzIGNhbGxlZCBmb3IgbGVn YWN5IFVNUyBkcml2ZXJzCmJ1dCBpdCBkb2VzIGEgY2hlY2sgYmFzZWQgb24gRFJJVkVSX01PREVT RVQuIFRoZXJlIGFyZSBhbHNvIHNvbWUKcGxhY2VzIGluIGRybV9wY2kuYyB0aGF0IHNob3VsZCBi ZSBjaGFuZ2VkIGFzIHdlbGwuCgpBbnl3YXksIHRoaXMgaXMgcHJvZ3Jlc3Mgc286ClJldmlld2Vk LWJ5OiBGcmFuayBCaW5ucyA8ZnJhbmsuYmlubnNAaW1ndGVjLmNvbT4KCj4gLS0tCj4gICBkcml2 ZXJzL2dwdS9kcm0vZHJtX2FncHN1cHBvcnQuYyB8ICA2ICsrLS0tLQo+ICAgZHJpdmVycy9ncHUv ZHJtL2RybV9hdXRoLmMgICAgICAgfCAgMiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2RybV9idWZz LmMgICAgICAgfCAyMiArKysrKysrKysrKy0tLS0tLS0tLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0v ZHJtX2NvbnRleHQuYyAgICB8IDI0ICsrKysrKysrKysrKy0tLS0tLS0tLS0tLQo+ICAgZHJpdmVy cy9ncHUvZHJtL2RybV9kbWEuYyAgICAgICAgfCAgNiArKy0tLS0KPiAgIGRyaXZlcnMvZ3B1L2Ry bS9kcm1fZm9wcy5jICAgICAgIHwgIDYgKysrLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vZHJtX2lv Y3RsLmMgICAgICB8ICA0ICsrLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9kcm1faXJxLmMgICAgICAg IHwgMTAgKysrKystLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2RybV9sb2NrLmMgICAgICAgfCAg NCArKy0tCj4gICBkcml2ZXJzL2dwdS9kcm0vZHJtX3BjaS5jICAgICAgICB8ICA4ICsrKystLS0t Cj4gICBkcml2ZXJzL2dwdS9kcm0vZHJtX3NjYXR0ZXIuYyAgICB8ICA2ICsrKy0tLQo+ICAgMTEg ZmlsZXMgY2hhbmdlZCwgNDcgaW5zZXJ0aW9ucygrKSwgNTEgZGVsZXRpb25zKC0pCj4KPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hZ3BzdXBwb3J0LmMgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2FncHN1cHBvcnQuYwo+IGluZGV4IDYwNWJkMjQzZmIzNi4uZDYyMWM4YTRjZjAwIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYWdwc3VwcG9ydC5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2RybV9hZ3BzdXBwb3J0LmMKPiBAQCAtNDMwLDkgKzQzMCw3IEBAIHN0cnVj dCBkcm1fYWdwX2hlYWQgKmRybV9hZ3BfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAg ICogaW50YWN0IHNvIGl0IGNhbiBzdGlsbCBiZSB1c2VkLiBJdCBpcyBzYWZlIHRvIGNhbGwgdGhp cyBpZiBBR1AgaXMgZGlzYWJsZWQgb3IKPiAgICAqIHdhcyBhbHJlYWR5IHJlbW92ZWQuCj4gICAg Kgo+IC0gKiBJZiBEUklWRVJfTU9ERVNFVCBpcyBhY3RpdmUsIG5vdGhpbmcgaXMgZG9uZSB0byBw cm90ZWN0IHRoZSBtb2Rlc2V0dGluZwo+IC0gKiByZXNvdXJjZXMgZnJvbSBnZXR0aW5nIGRlc3Ry b3llZC4gRHJpdmVycyBhcmUgcmVzcG9uc2libGUgb2YgY2xlYW5pbmcgdGhlbSB1cAo+IC0gKiBk dXJpbmcgZGV2aWNlIHNodXRkb3duLgo+ICsgKiBDbGVhbnVwIGlzIG9ubHkgZG9uZSBmb3IgZHJp dmVycyB3aG8gaGF2ZSBEUklWRVJfTEVHQUNZIHNldC4KPiAgICAqLwo+ICAgdm9pZCBkcm1fbGVn YWN5X2FncF9jbGVhcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAgewo+IEBAIC00NDAsNyAr NDM4LDcgQEAgdm9pZCBkcm1fbGVnYWN5X2FncF9jbGVhcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQo+ICAgCj4gICAJaWYgKCFkZXYtPmFncCkKPiAgIAkJcmV0dXJuOwo+IC0JaWYgKGRybV9jb3Jl X2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gKwlpZiAoIWRybV9jb3JlX2No ZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZKSkKPiAgIAkJcmV0dXJuOwo+ICAgCj4gICAJ bGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGVudHJ5LCB0ZW1wZSwgJmRldi0+YWdwLT5tZW1vcnks IGhlYWQpIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdXRoLmMgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2F1dGguYwo+IGluZGV4IDQxNTNlOGExOTNhZi4uNmIxNDM1MTRhNTY2 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXV0aC5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9hdXRoLmMKPiBAQCAtMjUxLDcgKzI1MSw3IEBAIHZvaWQgZHJtX21hc3Rl cl9yZWxlYXNlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KQo+ICAgCWlmICghZHJtX2lzX2N1 cnJlbnRfbWFzdGVyKGZpbGVfcHJpdikpCj4gICAJCWdvdG8gb3V0Owo+ICAgCj4gLQlpZiAoIWRy bV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpIHsKPiArCWlmIChkcm1f Y29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpIHsKPiAgIAkJLyoKPiAgIAkJ ICogU2luY2UgdGhlIG1hc3RlciBpcyBkaXNhcHBlYXJpbmcsIHNvIGlzIHRoZQo+ICAgCQkgKiBw b3NzaWJpbGl0eSB0byBsb2NrLgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2J1 ZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYnVmcy5jCj4gaW5kZXggYzNhMTJjZDhiZDBkLi4z MjE5MTUxM2U4MmQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9idWZzLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2J1ZnMuYwo+IEBAIC0zOTcsNyArMzk3LDcgQEAgaW50 IGRybV9sZWdhY3lfYWRkbWFwX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRh dGEsCj4gICAJCXJldHVybiAtRVBFUk07Cj4gICAKPiAgIAlpZiAoIWRybV9jb3JlX2NoZWNrX2Zl YXR1cmUoZGV2LCBEUklWRVJfS01TX0xFR0FDWV9DT05URVhUKSAmJgo+IC0JICAgIGRybV9jb3Jl X2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gKwkgICAgIWRybV9jb3JlX2No ZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZKSkKPiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4g ICAKPiAgIAllcnIgPSBkcm1fYWRkbWFwX2NvcmUoZGV2LCBtYXAtPm9mZnNldCwgbWFwLT5zaXpl LCBtYXAtPnR5cGUsCj4gQEAgLTQ0Myw3ICs0NDMsNyBAQCBpbnQgZHJtX2xlZ2FjeV9nZXRtYXBf aW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgIAlpbnQgaTsKPiAg IAo+ICAgCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9LTVNfTEVHQUNZ X0NPTlRFWFQpICYmCj4gLQkgICAgZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9N T0RFU0VUKSkKPiArCSAgICAhZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdB Q1kpKQo+ICAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgIAo+ICAgCWlkeCA9IG1hcC0+b2Zmc2V0Owo+ IEBAIC01NDUsNyArNTQ1LDcgQEAgRVhQT1JUX1NZTUJPTChkcm1fbGVnYWN5X3JtbWFwX2xvY2tl ZCk7Cj4gICB2b2lkIGRybV9sZWdhY3lfcm1tYXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3Ry dWN0IGRybV9sb2NhbF9tYXAgKm1hcCkKPiAgIHsKPiAgIAlpZiAoIWRybV9jb3JlX2NoZWNrX2Zl YXR1cmUoZGV2LCBEUklWRVJfS01TX0xFR0FDWV9DT05URVhUKSAmJgo+IC0JICAgIGRybV9jb3Jl X2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gKwkgICAgIWRybV9jb3JlX2No ZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZKSkKPiAgIAkJcmV0dXJuOwo+ICAgCj4gICAJ bXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+IEBAIC01NTgsNyArNTU4LDcgQEAgdm9p ZCBkcm1fbGVnYWN5X21hc3Rlcl9ybW1hcHMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0 IGRybV9tYXN0ZXIgKm1hc3RlcikKPiAgIHsKPiAgIAlzdHJ1Y3QgZHJtX21hcF9saXN0ICpyX2xp c3QsICpsaXN0X3RlbXA7Cj4gICAKPiAtCWlmIChkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwg RFJJVkVSX01PREVTRVQpKQo+ICsJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJ VkVSX0xFR0FDWSkpCj4gICAJCXJldHVybjsKPiAgIAo+ICAgCW11dGV4X2xvY2soJmRldi0+c3Ry dWN0X211dGV4KTsKPiBAQCAtNTk1LDcgKzU5NSw3IEBAIGludCBkcm1fbGVnYWN5X3JtbWFwX2lv Y3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICAJaW50IHJldDsKPiAg IAo+ICAgCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9LTVNfTEVHQUNZ X0NPTlRFWFQpICYmCj4gLQkgICAgZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9N T0RFU0VUKSkKPiArCSAgICAhZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdB Q1kpKQo+ICAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgIAo+ICAgCW11dGV4X2xvY2soJmRldi0+c3Ry dWN0X211dGV4KTsKPiBAQCAtMTIyMCw3ICsxMjIwLDcgQEAgaW50IGRybV9sZWdhY3lfYWRkYnVm cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAgCXN0cnVjdCBkcm1fYnVm X2Rlc2MgKnJlcXVlc3QgPSBkYXRhOwo+ICAgCWludCByZXQ7Cj4gICAKPiAtCWlmIChkcm1fY29y ZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKQo+ICsJaWYgKCFkcm1fY29yZV9j aGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpCj4gICAJCXJldHVybiAtRUlOVkFMOwo+ ICAgCj4gICAJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0hBVkVfRE1B KSkKPiBAQCAtMTI2Niw3ICsxMjY2LDcgQEAgaW50IGRybV9sZWdhY3lfaW5mb2J1ZnMoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgIAlpbnQgaTsKPiAgIAlpbnQgY291bnQ7 Cj4gICAKPiAtCWlmIChkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQp KQo+ICsJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpCj4g ICAJCXJldHVybiAtRUlOVkFMOwo+ICAgCj4gICAJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJl KGRldiwgRFJJVkVSX0hBVkVfRE1BKSkKPiBAQCAtMTM0Nyw3ICsxMzQ3LDcgQEAgaW50IGRybV9s ZWdhY3lfbWFya2J1ZnMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgIAlp bnQgb3JkZXI7Cj4gICAJc3RydWN0IGRybV9idWZfZW50cnkgKmVudHJ5Owo+ICAgCj4gLQlpZiAo ZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKPiArCWlmICghZHJt X2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdBQ1kpKQo+ICAgCQlyZXR1cm4gLUVJ TlZBTDsKPiAgIAo+ICAgCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9I QVZFX0RNQSkpCj4gQEAgLTEzOTUsNyArMTM5NSw3IEBAIGludCBkcm1fbGVnYWN5X2ZyZWVidWZz KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICAJaW50IGlkeDsKPiAgIAlz dHJ1Y3QgZHJtX2J1ZiAqYnVmOwo+ICAgCj4gLQlpZiAoZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShk ZXYsIERSSVZFUl9NT0RFU0VUKSkKPiArCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYs IERSSVZFUl9MRUdBQ1kpKQo+ICAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgIAo+ICAgCWlmICghZHJt X2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9IQVZFX0RNQSkpCj4gQEAgLTE0NTAsNyAr MTQ1MCw3IEBAIGludCBkcm1fbGVnYWN5X21hcGJ1ZnMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg dm9pZCAqZGF0YSwKPiAgIAlzdHJ1Y3QgZHJtX2J1Zl9tYXAgKnJlcXVlc3QgPSBkYXRhOwo+ICAg CWludCBpOwo+ICAgCj4gLQlpZiAoZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9N T0RFU0VUKSkKPiArCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdB Q1kpKQo+ICAgCQlyZXR1cm4gLUVJTlZBTDsKPiAgIAo+ICAgCWlmICghZHJtX2NvcmVfY2hlY2tf ZmVhdHVyZShkZXYsIERSSVZFUl9IQVZFX0RNQSkpCj4gQEAgLTE1MzAsNyArMTUzMCw3IEBAIGlu dCBkcm1fbGVnYWN5X21hcGJ1ZnMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwK PiAgIGludCBkcm1fbGVnYWN5X2RtYV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lk ICpkYXRhLAo+ICAgCQkgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KQo+ICAgewo+IC0JaWYg KGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gKwlpZiAoIWRy bV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZKSkKPiAgIAkJcmV0dXJuIC1F SU5WQUw7Cj4gICAKPiAgIAlpZiAoZGV2LT5kcml2ZXItPmRtYV9pb2N0bCkKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb250ZXh0LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nv bnRleHQuYwo+IGluZGV4IDE5MmE1ZjllZWI3NC4uM2M0MDAwZmFjYjM2IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fY29udGV4dC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9jb250ZXh0LmMKPiBAQCAtNTQsNyArNTQsNyBAQCBzdHJ1Y3QgZHJtX2N0eF9saXN0IHsKPiAg IHZvaWQgZHJtX2xlZ2FjeV9jdHhiaXRtYXBfZnJlZShzdHJ1Y3QgZHJtX2RldmljZSAqIGRldiwg aW50IGN0eF9oYW5kbGUpCj4gICB7Cj4gICAJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRl diwgRFJJVkVSX0tNU19MRUdBQ1lfQ09OVEVYVCkgJiYKPiAtCSAgICBkcm1fY29yZV9jaGVja19m ZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKQo+ICsJICAgICFkcm1fY29yZV9jaGVja19mZWF0 dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpCj4gICAJCXJldHVybjsKPiAgIAo+ICAgCW11dGV4X2xv Y2soJmRldi0+c3RydWN0X211dGV4KTsKPiBAQCAtOTIsNyArOTIsNyBAQCBzdGF0aWMgaW50IGRy bV9sZWdhY3lfY3R4Yml0bWFwX25leHQoc3RydWN0IGRybV9kZXZpY2UgKiBkZXYpCj4gICB2b2lk IGRybV9sZWdhY3lfY3R4Yml0bWFwX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKiBkZXYpCj4gICB7 Cj4gICAJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0tNU19MRUdBQ1lf Q09OVEVYVCkgJiYKPiAtCSAgICBkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01P REVTRVQpKQo+ICsJICAgICFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FD WSkpCj4gICAJCXJldHVybjsKPiAgIAo+ICAgCWlkcl9pbml0KCZkZXYtPmN0eF9pZHIpOwo+IEBA IC0xMDksNyArMTA5LDcgQEAgdm9pZCBkcm1fbGVnYWN5X2N0eGJpdG1hcF9pbml0KHN0cnVjdCBk cm1fZGV2aWNlICogZGV2KQo+ICAgdm9pZCBkcm1fbGVnYWN5X2N0eGJpdG1hcF9jbGVhbnVwKHN0 cnVjdCBkcm1fZGV2aWNlICogZGV2KQo+ICAgewo+ICAgCWlmICghZHJtX2NvcmVfY2hlY2tfZmVh dHVyZShkZXYsIERSSVZFUl9LTVNfTEVHQUNZX0NPTlRFWFQpICYmCj4gLQkgICAgZHJtX2NvcmVf Y2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKPiArCSAgICAhZHJtX2NvcmVfY2hl Y2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdBQ1kpKQo+ICAgCQlyZXR1cm47Cj4gICAKPiAgIAlt dXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gQEAgLTEzMSw3ICsxMzEsNyBAQCB2b2lk IGRybV9sZWdhY3lfY3R4Yml0bWFwX2ZsdXNoKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVj dCBkcm1fZmlsZSAqZmlsZSkKPiAgIAlzdHJ1Y3QgZHJtX2N0eF9saXN0ICpwb3MsICp0bXA7Cj4g ICAKPiAgIAlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfS01TX0xFR0FD WV9DT05URVhUKSAmJgo+IC0JICAgIGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJf TU9ERVNFVCkpCj4gKwkgICAgIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVH QUNZKSkKPiAgIAkJcmV0dXJuOwo+ICAgCj4gICAJbXV0ZXhfbG9jaygmZGV2LT5jdHhsaXN0X211 dGV4KTsKPiBAQCAtMTc3LDcgKzE3Nyw3IEBAIGludCBkcm1fbGVnYWN5X2dldHNhcmVhY3R4KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICAJc3RydWN0IGRybV9tYXBfbGlz dCAqX2VudHJ5Owo+ICAgCj4gICAJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJ VkVSX0tNU19MRUdBQ1lfQ09OVEVYVCkgJiYKPiAtCSAgICBkcm1fY29yZV9jaGVja19mZWF0dXJl KGRldiwgRFJJVkVSX01PREVTRVQpKQo+ICsJICAgICFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRl diwgRFJJVkVSX0xFR0FDWSkpCj4gICAJCXJldHVybiAtRUlOVkFMOwo+ICAgCj4gICAJbXV0ZXhf bG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+IEBAIC0yMjUsNyArMjI1LDcgQEAgaW50IGRybV9s ZWdhY3lfc2V0c2FyZWFjdHgoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAg IAlzdHJ1Y3QgZHJtX21hcF9saXN0ICpyX2xpc3QgPSBOVUxMOwo+ICAgCj4gICAJaWYgKCFkcm1f Y29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0tNU19MRUdBQ1lfQ09OVEVYVCkgJiYKPiAt CSAgICBkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKQo+ICsJICAg ICFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpCj4gICAJCXJldHVy biAtRUlOVkFMOwo+ICAgCj4gICAJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+IEBA IC0zMjksNyArMzI5LDcgQEAgaW50IGRybV9sZWdhY3lfcmVzY3R4KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHZvaWQgKmRhdGEsCj4gICAJaW50IGk7Cj4gICAKPiAgIAlpZiAoIWRybV9jb3JlX2No ZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfS01TX0xFR0FDWV9DT05URVhUKSAmJgo+IC0JICAgIGRy bV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gKwkgICAgIWRybV9j b3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZKSkKPiAgIAkJcmV0dXJuIC1FSU5W QUw7Cj4gICAKPiAgIAlpZiAocmVzLT5jb3VudCA+PSBEUk1fUkVTRVJWRURfQ09OVEVYVFMpIHsK PiBAQCAtMzYzLDcgKzM2Myw3IEBAIGludCBkcm1fbGVnYWN5X2FkZGN0eChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAgCXN0cnVjdCBkcm1fY3R4ICpjdHggPSBkYXRhOwo+ ICAgCj4gICAJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0tNU19MRUdB Q1lfQ09OVEVYVCkgJiYKPiAtCSAgICBkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVS X01PREVTRVQpKQo+ICsJICAgICFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xF R0FDWSkpCj4gICAJCXJldHVybiAtRUlOVkFMOwo+ICAgCj4gICAJY3R4LT5oYW5kbGUgPSBkcm1f bGVnYWN5X2N0eGJpdG1hcF9uZXh0KGRldik7Cj4gQEAgLTQxMCw3ICs0MTAsNyBAQCBpbnQgZHJt X2xlZ2FjeV9nZXRjdHgoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgIAlz dHJ1Y3QgZHJtX2N0eCAqY3R4ID0gZGF0YTsKPiAgIAo+ICAgCWlmICghZHJtX2NvcmVfY2hlY2tf ZmVhdHVyZShkZXYsIERSSVZFUl9LTVNfTEVHQUNZX0NPTlRFWFQpICYmCj4gLQkgICAgZHJtX2Nv cmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKPiArCSAgICAhZHJtX2NvcmVf Y2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdBQ1kpKQo+ICAgCQlyZXR1cm4gLUVJTlZBTDsK PiAgIAo+ICAgCS8qIFRoaXMgaXMgMCwgYmVjYXVzZSB3ZSBkb24ndCBoYW5kbGUgYW55IGNvbnRl eHQgZmxhZ3MgKi8KPiBAQCAtNDM2LDcgKzQzNiw3IEBAIGludCBkcm1fbGVnYWN5X3N3aXRjaGN0 eChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAgCXN0cnVjdCBkcm1fY3R4 ICpjdHggPSBkYXRhOwo+ICAgCj4gICAJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwg RFJJVkVSX0tNU19MRUdBQ1lfQ09OVEVYVCkgJiYKPiAtCSAgICBkcm1fY29yZV9jaGVja19mZWF0 dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKQo+ICsJICAgICFkcm1fY29yZV9jaGVja19mZWF0dXJl KGRldiwgRFJJVkVSX0xFR0FDWSkpCj4gICAJCXJldHVybiAtRUlOVkFMOwo+ICAgCj4gICAJRFJN X0RFQlVHKCIlZFxuIiwgY3R4LT5oYW5kbGUpOwo+IEBAIC00NjAsNyArNDYwLDcgQEAgaW50IGRy bV9sZWdhY3lfbmV3Y3R4KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICAJ c3RydWN0IGRybV9jdHggKmN0eCA9IGRhdGE7Cj4gICAKPiAgIAlpZiAoIWRybV9jb3JlX2NoZWNr X2ZlYXR1cmUoZGV2LCBEUklWRVJfS01TX0xFR0FDWV9DT05URVhUKSAmJgo+IC0JICAgIGRybV9j b3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gKwkgICAgIWRybV9jb3Jl X2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZKSkKPiAgIAkJcmV0dXJuIC1FSU5WQUw7 Cj4gICAKPiAgIAlEUk1fREVCVUcoIiVkXG4iLCBjdHgtPmhhbmRsZSk7Cj4gQEAgLTQ4Niw3ICs0 ODYsNyBAQCBpbnQgZHJtX2xlZ2FjeV9ybWN0eChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lk ICpkYXRhLAo+ICAgCXN0cnVjdCBkcm1fY3R4ICpjdHggPSBkYXRhOwo+ICAgCj4gICAJaWYgKCFk cm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0tNU19MRUdBQ1lfQ09OVEVYVCkgJiYK PiAtCSAgICBkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKQo+ICsJ ICAgICFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpCj4gICAJCXJl dHVybiAtRUlOVkFMOwo+ICAgCj4gICAJRFJNX0RFQlVHKCIlZFxuIiwgY3R4LT5oYW5kbGUpOwo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2RtYS5jIGIvZHJpdmVycy9ncHUvZHJt L2RybV9kbWEuYwo+IGluZGV4IGVhNDgxODAwZWY1Ni4uM2Y4M2UyY2E4MGFkIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZG1hLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X2RtYS5jCj4gQEAgLTUwLDkgKzUwLDggQEAgaW50IGRybV9sZWdhY3lfZG1hX3NldHVwKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCj4gICAJaW50IGk7Cj4gICAKPiAgIAlpZiAoIWRybV9jb3JlX2No ZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfSEFWRV9ETUEpIHx8Cj4gLQkgICAgZHJtX2NvcmVfY2hl Y2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkgewo+ICsJICAgICFkcm1fY29yZV9jaGVj a19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpCj4gICAJCXJldHVybiAwOwo+IC0JfQo+ICAg Cj4gICAJZGV2LT5idWZfdXNlID0gMDsKPiAgIAlhdG9taWNfc2V0KCZkZXYtPmJ1Zl9hbGxvYywg MCk7Cj4gQEAgLTgxLDkgKzgwLDggQEAgdm9pZCBkcm1fbGVnYWN5X2RtYV90YWtlZG93bihzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAgCWludCBpLCBqOwo+ICAgCj4gICAJaWYgKCFkcm1fY29y ZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0hBVkVfRE1BKSB8fAo+IC0JICAgIGRybV9jb3Jl X2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpIHsKPiArCSAgICAhZHJtX2NvcmVf Y2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdBQ1kpKQo+ICAgCQlyZXR1cm47Cj4gLQl9Cj4g ICAKPiAgIAlpZiAoIWRtYSkKPiAgIAkJcmV0dXJuOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2ZvcHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZm9wcy5jCj4gaW5kZXggMzIz YzIzOGZjYWM3Li4wMzZjZDI3NWM1M2UgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9mb3BzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZvcHMuYwo+IEBAIC05Miw3ICs5 Miw3IEBAIHN0YXRpYyBpbnQgZHJtX3NldHVwKHN0cnVjdCBkcm1fZGV2aWNlICogZGV2KQo+ICAg CWludCByZXQ7Cj4gICAKPiAgIAlpZiAoZGV2LT5kcml2ZXItPmZpcnN0b3BlbiAmJgo+IC0JICAg ICFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKSB7Cj4gKwkgICAg ZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdBQ1kpKSB7Cj4gICAJCXJldCA9 IGRldi0+ZHJpdmVyLT5maXJzdG9wZW4oZGV2KTsKPiAgIAkJaWYgKHJldCAhPSAwKQo+ICAgCQkJ cmV0dXJuIHJldDsKPiBAQCAtMzQ2LDcgKzM0Niw3IEBAIHZvaWQgZHJtX2xhc3RjbG9zZShzdHJ1 Y3QgZHJtX2RldmljZSAqIGRldikKPiAgIAkJZGV2LT5kcml2ZXItPmxhc3RjbG9zZShkZXYpOwo+ ICAgCURSTV9ERUJVRygiZHJpdmVyIGxhc3RjbG9zZSBjb21wbGV0ZWRcbiIpOwo+ICAgCj4gLQlp ZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gKwlpZiAo ZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdBQ1kpKQo+ICAgCQlkcm1fbGVn YWN5X2Rldl9yZWluaXQoZGV2KTsKPiAgIH0KPiAgIAo+IEBAIC0zODksNyArMzg5LDcgQEAgaW50 IGRybV9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQo+ICAg CQkgIChsb25nKW9sZF9lbmNvZGVfZGV2KGZpbGVfcHJpdi0+bWlub3ItPmtkZXYtPmRldnQpLAo+ ICAgCQkgIGRldi0+b3Blbl9jb3VudCk7Cj4gICAKPiAtCWlmICghZHJtX2NvcmVfY2hlY2tfZmVh dHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKPiArCWlmIChkcm1fY29yZV9jaGVja19mZWF0dXJl KGRldiwgRFJJVkVSX0xFR0FDWSkpCj4gICAJCWRybV9sZWdhY3lfbG9ja19yZWxlYXNlKGRldiwg ZmlscCk7Cj4gICAKPiAgIAlpZiAoZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9I QVZFX0RNQSkpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1faW9jdGwuYyBiL2Ry aXZlcnMvZ3B1L2RybS9kcm1faW9jdGwuYwo+IGluZGV4IDUwODVmZDkwZjc0ZC4uMDY2M2E5Mjky MmE4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1faW9jdGwuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9kcm1faW9jdGwuYwo+IEBAIC03MTQsOSArNzE0LDkgQEAgbG9uZyBkcm1f aW9jdGwoc3RydWN0IGZpbGUgKmZpbHAsCj4gICAJaWYgKGtzaXplID4gaW5fc2l6ZSkKPiAgIAkJ bWVtc2V0KGtkYXRhICsgaW5fc2l6ZSwgMCwga3NpemUgLSBpbl9zaXplKTsKPiAgIAo+IC0JLyog RW5mb3JjZSBzYW5lIGxvY2tpbmcgZm9yIGttcyBkcml2ZXIgaW9jdGxzLiBDb3JlIGlvY3RscyBh cmUKPiArCS8qIEVuZm9yY2Ugc2FuZSBsb2NraW5nIGZvciBtb2Rlcm4gZHJpdmVyIGlvY3Rscy4g Q29yZSBpb2N0bHMgYXJlCj4gICAJICogdG9vIG1lc3N5IHN0aWxsLiAqLwo+IC0JaWYgKChkcm1f Y29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpICYmIGlzX2RyaXZlcl9pb2N0 bCkgfHwKPiArCWlmICgoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZ KSAmJiBpc19kcml2ZXJfaW9jdGwpIHx8Cj4gICAJICAgIChpb2N0bC0+ZmxhZ3MgJiBEUk1fVU5M T0NLRUQpKQo+ICAgCQlyZXRjb2RlID0gZnVuYyhkZXYsIGtkYXRhLCBmaWxlX3ByaXYpOwo+ICAg CWVsc2Ugewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2lycS5jIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9pcnEuYwo+IGluZGV4IGEzMzQ2NWQ4ZTEzMy4uZDZkMDIyYjdjMjliIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1faXJxLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2lycS5jCj4gQEAgLTQ4Miw3ICs0ODIsNyBAQCBpbnQgZHJtX2lycV9pbnN0YWxs KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBpcnEpCj4gICAJCXJldHVybiByZXQ7Cj4gICAJ fQo+ICAgCj4gLQlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNF VCkpCj4gKwlpZiAoZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdBQ1kpKQo+ ICAgCQl2Z2FfY2xpZW50X3JlZ2lzdGVyKGRldi0+cGRldiwgKHZvaWQgKilkZXYsIGRybV9pcnFf dmdhYXJiX25va21zLCBOVUxMKTsKPiAgIAo+ICAgCS8qIEFmdGVyIGluc3RhbGxpbmcgaGFuZGxl ciAqLwo+IEBAIC00OTEsNyArNDkxLDcgQEAgaW50IGRybV9pcnFfaW5zdGFsbChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCBpbnQgaXJxKQo+ICAgCj4gICAJaWYgKHJldCA8IDApIHsKPiAgIAkJZGV2 LT5pcnFfZW5hYmxlZCA9IGZhbHNlOwo+IC0JCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShk ZXYsIERSSVZFUl9NT0RFU0VUKSkKPiArCQlpZiAoZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYs IERSSVZFUl9MRUdBQ1kpKQo+ICAgCQkJdmdhX2NsaWVudF9yZWdpc3RlcihkZXYtPnBkZXYsIE5V TEwsIE5VTEwsIE5VTEwpOwo+ICAgCQlmcmVlX2lycShpcnEsIGRldik7Cj4gICAJfSBlbHNlIHsK PiBAQCAtNTU3LDcgKzU1Nyw3IEBAIGludCBkcm1faXJxX3VuaW5zdGFsbChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQo+ICAgCj4gICAJRFJNX0RFQlVHKCJpcnE9JWRcbiIsIGRldi0+aXJxKTsKPiAg IAo+IC0JaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKQo+ ICsJaWYgKGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZKSkKPiAgIAkJ dmdhX2NsaWVudF9yZWdpc3RlcihkZXYtPnBkZXYsIE5VTEwsIE5VTEwsIE5VTEwpOwo+ICAgCj4g ICAJaWYgKGRldi0+ZHJpdmVyLT5pcnFfdW5pbnN0YWxsKQo+IEBAIC01OTIsNyArNTkyLDcgQEAg aW50IGRybV9jb250cm9sKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICAK PiAgIAlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfSEFWRV9JUlEpKQo+ ICAgCQlyZXR1cm4gMDsKPiAtCWlmIChkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVS X01PREVTRVQpKQo+ICsJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xF R0FDWSkpCj4gICAJCXJldHVybiAwOwo+ICAgCS8qIFVNUyB3YXMgb25seSBldmVyIHN1cHBvcnRl ZCBvbiBwY2kgZGV2aWNlcy4gKi8KPiAgIAlpZiAoV0FSTl9PTighZGV2LT5wZGV2KSkKPiBAQCAt MTQ4OCw3ICsxNDg4LDcgQEAgaW50IGRybV9tb2Rlc2V0X2N0bChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCB2b2lkICpkYXRhLAo+ICAgCQlyZXR1cm4gMDsKPiAgIAo+ICAgCS8qIEtNUyBkcml2ZXJz IGhhbmRsZSB0aGlzIGludGVybmFsbHkgKi8KPiAtCWlmIChkcm1fY29yZV9jaGVja19mZWF0dXJl KGRldiwgRFJJVkVSX01PREVTRVQpKQo+ICsJaWYgKCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRl diwgRFJJVkVSX0xFR0FDWSkpCj4gICAJCXJldHVybiAwOwo+ICAgCj4gICAJcGlwZSA9IG1vZGVz ZXQtPmNydGM7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbG9jay5jIGIvZHJp dmVycy9ncHUvZHJtL2RybV9sb2NrLmMKPiBpbmRleCA0OGFjMGViYmQ2NjMuLmM5MDFmM2M1YjI2 OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2xvY2suYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fbG9jay5jCj4gQEAgLTE2Myw3ICsxNjMsNyBAQCBpbnQgZHJtX2xlZ2Fj eV9sb2NrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gICAJc3RydWN0IGRy bV9tYXN0ZXIgKm1hc3RlciA9IGZpbGVfcHJpdi0+bWFzdGVyOwo+ICAgCWludCByZXQgPSAwOwo+ ICAgCj4gLQlpZiAoZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkK PiArCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9MRUdBQ1kpKQo+ICAg CQlyZXR1cm4gLUVJTlZBTDsKPiAgIAo+ICAgCSsrZmlsZV9wcml2LT5sb2NrX2NvdW50Owo+IEBA IC0yNTIsNyArMjUyLDcgQEAgaW50IGRybV9sZWdhY3lfdW5sb2NrKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV8KPiAgIAlzdHJ1Y3QgZHJt X2xvY2sgKmxvY2sgPSBkYXRhOwo+ICAgCXN0cnVjdCBkcm1fbWFzdGVyICptYXN0ZXIgPSBmaWxl X3ByaXYtPm1hc3RlcjsKPiAgIAo+IC0JaWYgKGRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBE UklWRVJfTU9ERVNFVCkpCj4gKwlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklW RVJfTEVHQUNZKSkKPiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gICAKPiAgIAlpZiAobG9jay0+Y29u dGV4dCA9PSBEUk1fS0VSTkVMX0NPTlRFWFQpIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2RybV9wY2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGNpLmMKPiBpbmRleCBiMmY4ZjEw NjJkNWYuLmQ4NjM2MmZjOGFjNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3Bj aS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wY2kuYwo+IEBAIC0xNzUsNyArMTc1LDcg QEAgaW50IGRybV9pcnFfYnlfYnVzaWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0 YSwKPiAgIHsKPiAgIAlzdHJ1Y3QgZHJtX2lycV9idXNpZCAqcCA9IGRhdGE7Cj4gICAKPiAtCWlm IChkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKQo+ICsJaWYgKCFk cm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX0xFR0FDWSkpCj4gICAJCXJldHVybiAt RUlOVkFMOwo+ICAgCj4gICAJLyogVU1TIHdhcyBvbmx5IGV2ZXIgc3VwcG9ydCBvbiBQQ0kgZGV2 aWNlcy4gKi8KPiBAQCAtMjYzLDcgKzI2Myw3IEBAIGludCBkcm1fZ2V0X3BjaV9kZXYoc3RydWN0 IHBjaV9kZXYgKnBkZXYsIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICplbnQsCj4gICAKPiAg IAkvKiBObyBsb2NraW5nIG5lZWRlZCBzaW5jZSBzaGFkb3ctYXR0YWNoIGlzIHNpbmdsZS10aHJl YWRlZCBzaW5jZSBpdCBtYXkKPiAgIAkgKiBvbmx5IGJlIGNhbGxlZCBmcm9tIHRoZSBwZXItZHJp dmVyIG1vZHVsZSBpbml0IGhvb2suICovCj4gLQlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUo ZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gKwlpZiAoZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYs IERSSVZFUl9MRUdBQ1kpKQo+ICAgCQlsaXN0X2FkZF90YWlsKCZkZXYtPmxlZ2FjeV9kZXZfbGlz dCwgJmRyaXZlci0+bGVnYWN5X2Rldl9saXN0KTsKPiAgIAo+ICAgCXJldHVybiAwOwo+IEBAIC0y OTksNyArMjk5LDcgQEAgaW50IGRybV9wY2lfaW5pdChzdHJ1Y3QgZHJtX2RyaXZlciAqZHJpdmVy LCBzdHJ1Y3QgcGNpX2RyaXZlciAqcGRyaXZlcikKPiAgIAo+ICAgCURSTV9ERUJVRygiXG4iKTsK PiAgIAo+IC0JaWYgKGRyaXZlci0+ZHJpdmVyX2ZlYXR1cmVzICYgRFJJVkVSX01PREVTRVQpCj4g KwlpZiAoIShkcml2ZXItPmRyaXZlcl9mZWF0dXJlcyAmIERSSVZFUl9MRUdBQ1kpKQo+ICAgCQly ZXR1cm4gcGNpX3JlZ2lzdGVyX2RyaXZlcihwZHJpdmVyKTsKPiAgIAo+ICAgCS8qIElmIG5vdCB1 c2luZyBLTVMsIGZhbGwgYmFjayB0byBzdGVhbHRoIG1vZGUgbWFudWFsIHNjYW5uaW5nLiAqLwo+ IEBAIC00MjEsNyArNDIxLDcgQEAgdm9pZCBkcm1fcGNpX2V4aXQoc3RydWN0IGRybV9kcml2ZXIg KmRyaXZlciwgc3RydWN0IHBjaV9kcml2ZXIgKnBkcml2ZXIpCj4gICAJc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgKnRtcDsKPiAgIAlEUk1fREVCVUcoIlxuIik7Cj4gICAKPiAtCWlmIChkcml2ZXIt PmRyaXZlcl9mZWF0dXJlcyAmIERSSVZFUl9NT0RFU0VUKSB7Cj4gKwlpZiAoIShkcml2ZXItPmRy aXZlcl9mZWF0dXJlcyAmIERSSVZFUl9MRUdBQ1kpKSB7Cj4gICAJCXBjaV91bnJlZ2lzdGVyX2Ry aXZlcihwZHJpdmVyKTsKPiAgIAl9IGVsc2Ugewo+ICAgCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3Nh ZmUoZGV2LCB0bXAsICZkcml2ZXItPmxlZ2FjeV9kZXZfbGlzdCwKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2RybV9zY2F0dGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3NjYXR0ZXIu Ywo+IGluZGV4IGJmNzA0MzEwNzNmNi4uMjc1YmNhNDRmMzhjIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fc2NhdHRlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9zY2F0 dGVyLmMKPiBAQCAtNjgsNyArNjgsNyBAQCBzdGF0aWMgdm9pZCBkcm1fc2dfY2xlYW51cChzdHJ1 Y3QgZHJtX3NnX21lbSAqIGVudHJ5KQo+ICAgdm9pZCBkcm1fbGVnYWN5X3NnX2NsZWFudXAoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKPiAgIHsKPiAgIAlpZiAoZHJtX2NvcmVfY2hlY2tfZmVhdHVy ZShkZXYsIERSSVZFUl9TRykgJiYgZGV2LT5zZyAmJgo+IC0JICAgICFkcm1fY29yZV9jaGVja19m ZWF0dXJlKGRldiwgRFJJVkVSX01PREVTRVQpKSB7Cj4gKwkgICAgZHJtX2NvcmVfY2hlY2tfZmVh dHVyZShkZXYsIERSSVZFUl9MRUdBQ1kpKSB7Cj4gICAJCWRybV9zZ19jbGVhbnVwKGRldi0+c2cp Owo+ICAgCQlkZXYtPnNnID0gTlVMTDsKPiAgIAl9Cj4gQEAgLTg4LDcgKzg4LDcgQEAgaW50IGRy bV9sZWdhY3lfc2dfYWxsb2Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAg IAo+ICAgCURSTV9ERUJVRygiXG4iKTsKPiAgIAo+IC0JaWYgKGRybV9jb3JlX2NoZWNrX2ZlYXR1 cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gKwlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUo ZGV2LCBEUklWRVJfTEVHQUNZKSkKPiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gICAKPiAgIAlpZiAo IWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfU0cpKQo+IEBAIC0yMDEsNyArMjAx LDcgQEAgaW50IGRybV9sZWdhY3lfc2dfZnJlZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lk ICpkYXRhLAo+ICAgCXN0cnVjdCBkcm1fc2NhdHRlcl9nYXRoZXIgKnJlcXVlc3QgPSBkYXRhOwo+ ICAgCXN0cnVjdCBkcm1fc2dfbWVtICplbnRyeTsKPiAgIAo+IC0JaWYgKGRybV9jb3JlX2NoZWNr X2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpCj4gKwlpZiAoIWRybV9jb3JlX2NoZWNrX2Zl YXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZKSkKPiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gICAKPiAg IAlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfU0cpKQoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcg bGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==