From mboxrd@z Thu Jan 1 00:00:00 1970 From: Martin Peres Subject: Re: [PATCH 3/4] iccsense: split sensor into own struct Date: Mon, 28 Mar 2016 13:36:38 +0300 Message-ID: <56F90936.7070503@free.fr> References: <1458904780-1553-1-git-send-email-nouveau@karolherbst.de> <1458904780-1553-4-git-send-email-nouveau@karolherbst.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1458904780-1553-4-git-send-email-nouveau-lIBOoy2+GI7scQ4cX5LuPg@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: Karol Herbst , nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: nouveau.vger.kernel.org T24gMjUvMDMvMTYgMTM6MTksIEthcm9sIEhlcmJzdCB3cm90ZToKPiBTaWduZWQtb2ZmLWJ5OiBL YXJvbCBIZXJic3QgPG5vdXZlYXVAa2Fyb2xoZXJic3QuZGU+Cj4gLS0tCj4gICBkcm0vbm91dmVh dS9pbmNsdWRlL252a20vc3ViZGV2L2ljY3NlbnNlLmggfCAgIDEgKwo+ICAgZHJtL25vdXZlYXUv bnZrbS9zdWJkZXYvaWNjc2Vuc2UvYmFzZS5jICAgIHwgMTQxICsrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tCj4gICBkcm0vbm91dmVhdS9udmttL3N1YmRldi9pY2NzZW5zZS9wcml2LmggICAg fCAgMTUgKystCj4gICAzIGZpbGVzIGNoYW5nZWQsIDExMiBpbnNlcnRpb25zKCspLCA0NSBkZWxl dGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcm0vbm91dmVhdS9pbmNsdWRlL252a20vc3ViZGV2 L2ljY3NlbnNlLmggYi9kcm0vbm91dmVhdS9pbmNsdWRlL252a20vc3ViZGV2L2ljY3NlbnNlLmgK PiBpbmRleCBhNGMwZGEwLi4zYzJkZGQ5IDEwMDY0NAo+IC0tLSBhL2RybS9ub3V2ZWF1L2luY2x1 ZGUvbnZrbS9zdWJkZXYvaWNjc2Vuc2UuaAo+ICsrKyBiL2RybS9ub3V2ZWF1L2luY2x1ZGUvbnZr bS9zdWJkZXYvaWNjc2Vuc2UuaAo+IEBAIC02LDYgKzYsNyBAQAo+ICAgc3RydWN0IG52a21faWNj c2Vuc2Ugewo+ICAgCXN0cnVjdCBudmttX3N1YmRldiBzdWJkZXY7Cj4gICAJYm9vbCBkYXRhX3Zh bGlkOwo+ICsJc3RydWN0IGxpc3RfaGVhZCBzZW5zb3JzOwo+ICAgCXN0cnVjdCBsaXN0X2hlYWQg cmFpbHM7Cj4gICB9Owo+ICAgCj4gZGlmZiAtLWdpdCBhL2RybS9ub3V2ZWF1L252a20vc3ViZGV2 L2ljY3NlbnNlL2Jhc2UuYyBiL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L2ljY3NlbnNlL2Jhc2Uu Ywo+IGluZGV4IDZmZGU2OGQuLmI2ZjYyMjIgMTAwNjQ0Cj4gLS0tIGEvZHJtL25vdXZlYXUvbnZr bS9zdWJkZXYvaWNjc2Vuc2UvYmFzZS5jCj4gKysrIGIvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYv aWNjc2Vuc2UvYmFzZS5jCj4gQEAgLTMwLDE1ICszMCwxNCBAQAo+ICAgCj4gICBzdGF0aWMgYm9v bAo+ICAgbnZrbV9pY2NzZW5zZV92YWxpZGF0ZV9kZXZpY2Uoc3RydWN0IGkyY19hZGFwdGVyICpp MmMsIHU4IGFkZHIsCj4gLQkJCSAgICAgIGVudW0gbnZiaW9zX2V4dGRldl90eXBlIHR5cGUsIHU4 IHJhaWwpCj4gKwkJCSAgICAgIGVudW0gbnZiaW9zX2V4dGRldl90eXBlIHR5cGUpCj4gICB7Cj4g ICAJc3dpdGNoICh0eXBlKSB7Cj4gICAJY2FzZSBOVkJJT1NfRVhUREVWX0lOQTIwOToKPiAgIAlj YXNlIE5WQklPU19FWFRERVZfSU5BMjE5Ogo+IC0JCXJldHVybiByYWlsID09IDAgJiYgbnZfcmQx NmkyY3IoaTJjLCBhZGRyLCAweDApID49IDA7Cj4gKwkJcmV0dXJuIG52X3JkMTZpMmNyKGkyYywg YWRkciwgMHgwKSA+PSAwOwo+ICAgCWNhc2UgTlZCSU9TX0VYVERFVl9JTkEzMjIxOgo+IC0JCXJl dHVybiByYWlsIDw9IDMgJiYKPiAtCQkgICAgICAgbnZfcmQxNmkyY3IoaTJjLCBhZGRyLCAweGZm KSA9PSAweDMyMjAgJiYKPiArCQlyZXR1cm4gbnZfcmQxNmkyY3IoaTJjLCBhZGRyLCAweGZmKSA9 PSAweDMyMjAgJiYKPiAgIAkJICAgICAgIG52X3JkMTZpMmNyKGkyYywgYWRkciwgMHhmZSkgPT0g MHg1NDQ5Owo+ICAgCWRlZmF1bHQ6Cj4gICAJCXJldHVybiBmYWxzZTsKPiBAQCAtNjcsOCArNjYs OSBAQCBudmttX2ljY3NlbnNlX2luYTJ4OV9yZWFkKHN0cnVjdCBudmttX2ljY3NlbnNlICppY2Nz ZW5zZSwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG52a21faWNjc2Vuc2Vf cmFpbCAqcmFpbCwKPiAgIAkJCSAgdTggc2h1bnRfcmVnLCB1OCBidXNfcmVnKQo+ICAgewo+IC0J cmV0dXJuIG52a21faWNjc2Vuc2VfcG9sbF9sYW5lKHJhaWwtPmkyYywgcmFpbC0+YWRkciwgc2h1 bnRfcmVnLCAwLAo+IC0JCQkJICAgICAgIGJ1c19yZWcsIDMsIHJhaWwtPm1vaG0sIDEwICogNCk7 Cj4gKwlyZXR1cm4gbnZrbV9pY2NzZW5zZV9wb2xsX2xhbmUocmFpbC0+c2Vuc29yLT5pMmMsIHJh aWwtPnNlbnNvci0+YWRkciwKPiArCQkJCSAgICAgICBzaHVudF9yZWcsIDAsIGJ1c19yZWcsIDMs IHJhaWwtPm1vaG0sCj4gKwkJCQkgICAgICAgMTAgKiA0KTsKPiAgIH0KPiAgIAo+ICAgc3RhdGlj IGludAo+IEBAIC04OSw5ICs4OSw5IEBAIHN0YXRpYyBpbnQKPiAgIG52a21faWNjc2Vuc2VfaW5h MzIyMV9yZWFkKHN0cnVjdCBudmttX2ljY3NlbnNlICppY2NzZW5zZSwKPiAgIAkJCSAgIHN0cnVj dCBudmttX2ljY3NlbnNlX3JhaWwgKnJhaWwpCj4gICB7Cj4gLQlyZXR1cm4gbnZrbV9pY2NzZW5z ZV9wb2xsX2xhbmUocmFpbC0+aTJjLCByYWlsLT5hZGRyLAo+IC0JCQkJICAgICAgIDEgKyAocmFp bC0+cmFpbCAqIDIpLCAzLAo+IC0JCQkJICAgICAgIDIgKyAocmFpbC0+cmFpbCAqIDIpLCAzLCBy YWlsLT5tb2htLAo+ICsJcmV0dXJuIG52a21faWNjc2Vuc2VfcG9sbF9sYW5lKHJhaWwtPnNlbnNv ci0+aTJjLCByYWlsLT5zZW5zb3ItPmFkZHIsCj4gKwkJCQkgICAgICAgMSArIChyYWlsLT5pZHgg KiAyKSwgMywKPiArCQkJCSAgICAgICAyICsgKHJhaWwtPmlkeCAqIDIpLCAzLCByYWlsLT5tb2ht LAo+ICAgCQkJCSAgICAgICA0MCAqIDgpOwo+ICAgfQo+ICAgCj4gQEAgLTEyMSw4MSArMTIxLDEz NyBAQCBzdGF0aWMgdm9pZCAqCj4gICBudmttX2ljY3NlbnNlX2R0b3Ioc3RydWN0IG52a21fc3Vi ZGV2ICpzdWJkZXYpCj4gICB7Cj4gICAJc3RydWN0IG52a21faWNjc2Vuc2UgKmljY3NlbnNlID0g bnZrbV9pY2NzZW5zZShzdWJkZXYpOwo+IC0Jc3RydWN0IG52a21faWNjc2Vuc2VfcmFpbCAqcmFp bCwgKnRtcDsKPiArCXN0cnVjdCBudmttX2ljY3NlbnNlX3NlbnNvciAqc2Vuc29yLCAqdG1wczsK PiArCXN0cnVjdCBudmttX2ljY3NlbnNlX3JhaWwgKnJhaWwsICp0bXByOwo+ICAgCj4gLQlsaXN0 X2Zvcl9lYWNoX2VudHJ5X3NhZmUocmFpbCwgdG1wLCAmaWNjc2Vuc2UtPnJhaWxzLCBoZWFkKQo+ ICsJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHNlbnNvciwgdG1wcywgJmljY3NlbnNlLT5zZW5z b3JzLCBoZWFkKQo+ICsJCWtmcmVlKHNlbnNvcik7Cj4gKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3Nh ZmUocmFpbCwgdG1wciwgJmljY3NlbnNlLT5yYWlscywgaGVhZCkKPiAgIAkJa2ZyZWUocmFpbCk7 CgpTYW1lIHByb2JsZW0gYXMgdGhlIGxhc3QgcGF0Y2guCgo+ICAgCj4gICAJcmV0dXJuIGljY3Nl bnNlOwo+ICAgfQo+ICAgCj4gK3N0YXRpYyBzdHJ1Y3QgbnZrbV9pY2NzZW5zZV9zZW5zb3IqCj4g K252a21faWNjc2Vuc2VfY3JlYXRlX3NlbnNvcihzdHJ1Y3QgbnZrbV9pY2NzZW5zZSAqaWNjc2Vu c2UsIHU4IGlkKQo+ICt7Cj4gKwo+ICsJc3RydWN0IG52a21fc3ViZGV2ICpzdWJkZXYgPSAmaWNj c2Vuc2UtPnN1YmRldjsKPiArCXN0cnVjdCBudmttX2Jpb3MgKmJpb3MgPSBzdWJkZXYtPmRldmlj ZS0+YmlvczsKPiArCXN0cnVjdCBudmttX2kyYyAqaTJjID0gc3ViZGV2LT5kZXZpY2UtPmkyYzsK PiArCXN0cnVjdCBudmJpb3NfZXh0ZGV2X2Z1bmMgZXh0ZGV2Owo+ICsJc3RydWN0IG52a21faTJj X2J1cyAqaTJjX2J1czsKPiArCXN0cnVjdCBudmttX2ljY3NlbnNlX3NlbnNvciAqc2Vuc29yOwo+ ICsJdTggYWRkcjsKPiArCj4gKwlpZiAoIWkyYyB8fCAhYmlvcyB8fCBudmJpb3NfZXh0ZGV2X3Bh cnNlKGJpb3MsIGlkLCAmZXh0ZGV2KSkKPiArCQlyZXR1cm4gTlVMTDsKPiArCj4gKwlpZiAoZXh0 ZGV2LnR5cGUgPT0gMHhmZikKPiArCQlyZXR1cm4gTlVMTDsKPiArCj4gKwlpZiAoZXh0ZGV2LnR5 cGUgIT0gTlZCSU9TX0VYVERFVl9JTkEyMDkgJiYKPiArCSAgICBleHRkZXYudHlwZSAhPSBOVkJJ T1NfRVhUREVWX0lOQTIxOSAmJgo+ICsJICAgIGV4dGRldi50eXBlICE9IE5WQklPU19FWFRERVZf SU5BMzIyMSkgewo+ICsJCWljY3NlbnNlLT5kYXRhX3ZhbGlkID0gZmFsc2U7Cj4gKwkJbnZrbV9l cnJvcihzdWJkZXYsICJmb3VuZCB1bmtub3duIHNlbnNvciB0eXBlICV4LCAiCj4gKwkJCSAgICJw b3dlciByZWFkaW5nIG1pZ2h0IGJlIGludmFsaWRcbiIsCj4gKwkJCSAgIGV4dGRldi50eXBlKTsK CllvdSBkbyBub3QgY3JlYXRlIHRoZSBzZW5zb3IgaWYgaXQgaXMgdW5rbm93biwgc28gd2h5IGRv IHlvdSBzYXkgdGhlIApyZXBvcnQgbWlnaHQgYmUgaW52YWxpZD8KClBsZWFzZSBjaGFuZ2UgaXQg dG8gIlVua25vd24gc2Vuc29yIHR5cGUgJXgiLgoKPiArCQlyZXR1cm4gTlVMTDsKPiArCX0KPiAr Cj4gKwlpZiAoZXh0ZGV2LmJ1cykKPiArCQlpMmNfYnVzID0gbnZrbV9pMmNfYnVzX2ZpbmQoaTJj LCBOVktNX0kyQ19CVVNfU0VDKTsKPiArCWVsc2UKPiArCQlpMmNfYnVzID0gbnZrbV9pMmNfYnVz X2ZpbmQoaTJjLCBOVktNX0kyQ19CVVNfUFJJKTsKPiArCWlmICghaTJjX2J1cykKPiArCQlyZXR1 cm4gTlVMTDsKPiArCj4gKwlhZGRyID0gZXh0ZGV2LmFkZHIgPj4gMTsKPiArCWlmICghbnZrbV9p Y2NzZW5zZV92YWxpZGF0ZV9kZXZpY2UoJmkyY19idXMtPmkyYywgYWRkciwKPiArCQkJCQkgICBl eHRkZXYudHlwZSkpIHsKPiArCQlpY2NzZW5zZS0+ZGF0YV92YWxpZCA9IGZhbHNlOwo+ICsJCW52 a21fd2FybihzdWJkZXYsICJmb3VuZCBpbnZhbGlkIHNlbnNvciBpZDogJWksIHBvd2VyIHJlYWRp bmciCj4gKwkJCSAgIm1pZ2h0IGJlIGludmFsaWRcbiIsIGlkKTsKPiArCQlyZXR1cm4gTlVMTDsK PiArCX0KPiArCj4gKwlzZW5zb3IgPSBrbWFsbG9jKHNpemVvZigqc2Vuc29yKSwgR0ZQX0tFUk5F TCk7Cj4gKwlpZiAoIXNlbnNvcikKPiArCQlyZXR1cm4gTlVMTDsKPiArCj4gKwlsaXN0X2FkZF90 YWlsKCZzZW5zb3ItPmhlYWQsICZpY2NzZW5zZS0+c2Vuc29ycyk7Cj4gKwlzZW5zb3ItPmlkID0g aWQ7Cj4gKwlzZW5zb3ItPnR5cGUgPSBleHRkZXYudHlwZTsKPiArCXNlbnNvci0+aTJjID0gJmky Y19idXMtPmkyYzsKPiArCXNlbnNvci0+YWRkciA9IGFkZHI7Cj4gKwlzZW5zb3ItPnJhaWxfbWFz ayA9IDB4MDsKPiArCXJldHVybiBzZW5zb3I7Cj4gK30KPiArCj4gK3N0YXRpYyBzdHJ1Y3QgbnZr bV9pY2NzZW5zZV9zZW5zb3IqCj4gK252a21faWNjc2Vuc2VfZ2V0X3NlbnNvcihzdHJ1Y3QgbnZr bV9pY2NzZW5zZSAqaWNjc2Vuc2UsIHU4IGlkKQo+ICt7Cj4gKwlzdHJ1Y3QgbnZrbV9pY2NzZW5z ZV9zZW5zb3IgKnNlbnNvcjsKPiArCWxpc3RfZm9yX2VhY2hfZW50cnkoc2Vuc29yLCAmaWNjc2Vu c2UtPnNlbnNvcnMsIGhlYWQpIHsKPiArCQlpZiAoc2Vuc29yLT5pZCA9PSBpZCkKPiArCQkJcmV0 dXJuIHNlbnNvcjsKPiArCX0KPiArCXJldHVybiBudmttX2ljY3NlbnNlX2NyZWF0ZV9zZW5zb3Io aWNjc2Vuc2UsIGlkKTsKPiArfQo+ICsKPiAgIHN0YXRpYyBpbnQKPiAgIG52a21faWNjc2Vuc2Vf b25laW5pdChzdHJ1Y3QgbnZrbV9zdWJkZXYgKnN1YmRldikKPiAgIHsKPiAgIAlzdHJ1Y3QgbnZr bV9pY2NzZW5zZSAqaWNjc2Vuc2UgPSBudmttX2ljY3NlbnNlKHN1YmRldik7Cj4gICAJc3RydWN0 IG52a21fYmlvcyAqYmlvcyA9IHN1YmRldi0+ZGV2aWNlLT5iaW9zOwo+IC0Jc3RydWN0IG52a21f aTJjICppMmMgPSBzdWJkZXYtPmRldmljZS0+aTJjOwo+ICAgCXN0cnVjdCBudmJpb3NfaWNjc2Vu c2Ugc3RibDsKPiAgIAlpbnQgaTsKPiAgIAo+IC0JaWYgKCFpMmMgfHwgIWJpb3MgfHwgbnZiaW9z X2ljY3NlbnNlX3BhcnNlKGJpb3MsICZzdGJsKQo+IC0JICAgIHx8ICFzdGJsLm5yX2VudHJ5KQo+ ICsJaWYgKCFiaW9zIHx8IG52Ymlvc19pY2NzZW5zZV9wYXJzZShiaW9zLCAmc3RibCkgfHwgIXN0 YmwubnJfZW50cnkpCj4gICAJCXJldHVybiAwOwo+ICAgCj4gICAJaWNjc2Vuc2UtPmRhdGFfdmFs aWQgPSB0cnVlOwo+ICAgCWZvciAoaSA9IDA7IGkgPCBzdGJsLm5yX2VudHJ5OyArK2kpIHsKPiAg IAkJc3RydWN0IHB3cl9yYWlsX3QgKnIgPSAmc3RibC5yYWlsW2ldOwo+IC0JCXN0cnVjdCBudmJp b3NfZXh0ZGV2X2Z1bmMgZXh0ZGV2Owo+ICAgCQlzdHJ1Y3QgbnZrbV9pY2NzZW5zZV9yYWlsICpy YWlsOwo+IC0JCXN0cnVjdCBudmttX2kyY19idXMgKmkyY19idXM7Cj4gLQkJdTggYWRkcjsKPiAr CQlzdHJ1Y3QgbnZrbV9pY2NzZW5zZV9zZW5zb3IgKnNlbnNvcjsKPiAgIAo+ICAgCQlpZiAoIXIt Pm1vZGUgfHwgci0+cmVzaXN0b3JfbW9obSA9PSAwKQo+ICAgCQkJY29udGludWU7Cj4gICAKPiAt CQlpZiAobnZiaW9zX2V4dGRldl9wYXJzZShiaW9zLCByLT5leHRkZXZfaWQsICZleHRkZXYpKQo+ IC0JCQljb250aW51ZTsKPiAtCj4gLQkJaWYgKGV4dGRldi50eXBlID09IDB4ZmYpCj4gLQkJCWNv bnRpbnVlOwo+IC0KPiAtCQlpZiAoZXh0ZGV2LmJ1cykKPiAtCQkJaTJjX2J1cyA9IG52a21faTJj X2J1c19maW5kKGkyYywgTlZLTV9JMkNfQlVTX1NFQyk7Cj4gLQkJZWxzZQo+IC0JCQlpMmNfYnVz ID0gbnZrbV9pMmNfYnVzX2ZpbmQoaTJjLCBOVktNX0kyQ19CVVNfUFJJKTsKPiAtCQlpZiAoIWky Y19idXMpCj4gKwkJc2Vuc29yID0gbnZrbV9pY2NzZW5zZV9nZXRfc2Vuc29yKGljY3NlbnNlLCBy LT5leHRkZXZfaWQpOwo+ICsJCWlmICghc2Vuc29yKQo+ICAgCQkJY29udGludWU7Cj4gICAKPiAt CQlhZGRyID0gZXh0ZGV2LmFkZHIgPj4gMTsKPiAtCQlpZiAoIW52a21faWNjc2Vuc2VfdmFsaWRh dGVfZGV2aWNlKCZpMmNfYnVzLT5pMmMsIGFkZHIsCj4gLQkJCQkJCSAgIGV4dGRldi50eXBlLCBy LT5yYWlsKSkgewo+IC0JCQlpY2NzZW5zZS0+ZGF0YV92YWxpZCA9IGZhbHNlOwo+IC0JCQludmtt X3dhcm4oc3ViZGV2LCAiZm91bmQgdW5rbm93biBvciBpbnZhbGlkIHJhaWwgZW50cnkiCj4gLQkJ CQkgICIgdHlwZSAweCV4IHJhaWwgJWksIHBvd2VyIHJlYWRpbmcgbWlnaHQgYmUiCj4gLQkJCQkg ICIgaW52YWxpZFxuIiwgZXh0ZGV2LnR5cGUsIHItPnJhaWwpOwo+IC0JCQljb250aW51ZTsKPiAt CQl9Cj4gLQo+ICAgCQlyYWlsID0ga21hbGxvYyhzaXplb2YoKnJhaWwpLCBHRlBfS0VSTkVMKTsK PiAgIAkJaWYgKCFyYWlsKQo+ICAgCQkJcmV0dXJuIC1FTk9NRU07Cj4gICAKPiAtCQlzd2l0Y2gg KGV4dGRldi50eXBlKSB7Cj4gKwkJc3dpdGNoIChzZW5zb3ItPnR5cGUpIHsKPiAgIAkJY2FzZSBO VkJJT1NfRVhUREVWX0lOQTIwOToKPiArCQkJaWYgKHItPnJhaWwgIT0gMCkKPiArCQkJCWNvbnRp bnVlOwo+ICAgCQkJcmFpbC0+cmVhZCA9IG52a21faWNjc2Vuc2VfaW5hMjA5X3JlYWQ7Cj4gICAJ CQlicmVhazsKPiAgIAkJY2FzZSBOVkJJT1NfRVhUREVWX0lOQTIxOToKPiArCQkJaWYgKHItPnJh aWwgIT0gMCkKPiArCQkJCWNvbnRpbnVlOwo+ICAgCQkJcmFpbC0+cmVhZCA9IG52a21faWNjc2Vu c2VfaW5hMjE5X3JlYWQ7Cj4gICAJCQlicmVhazsKPiAgIAkJY2FzZSBOVkJJT1NfRVhUREVWX0lO QTMyMjE6Cj4gKwkJCWlmIChyLT5yYWlsID49IDMpCj4gKwkJCQljb250aW51ZTsKPiAgIAkJCXJh aWwtPnJlYWQgPSBudmttX2ljY3NlbnNlX2luYTMyMjFfcmVhZDsKPiAgIAkJCWJyZWFrOwo+ICsJ CWRlZmF1bHQ6Cj4gKwkJCWNvbnRpbnVlOwo+ICAgCQl9Cj4gICAKPiAtCQlyYWlsLT5hZGRyID0g YWRkcjsKPiAtCQlyYWlsLT5yYWlsID0gci0+cmFpbDsKPiArCQlzZW5zb3ItPnJhaWxfbWFzayB8 PSAxIDw8IHItPnJhaWw7Cj4gKwkJcmFpbC0+c2Vuc29yID0gc2Vuc29yOwo+ICsJCXJhaWwtPmlk eCA9IHItPnJhaWw7Cj4gICAJCXJhaWwtPm1vaG0gPSByLT5yZXNpc3Rvcl9tb2htOwo+IC0JCXJh aWwtPmkyYyA9ICZpMmNfYnVzLT5pMmM7Cj4gICAJCWxpc3RfYWRkX3RhaWwoJnJhaWwtPmhlYWQs ICZpY2NzZW5zZS0+cmFpbHMpOwo+ICAgCX0KPiAgIAlyZXR1cm4gMDsKPiBAQCAtMjE5LDYgKzI3 NSw3IEBAIG52a21faWNjc2Vuc2VfbmV3XyhzdHJ1Y3QgbnZrbV9kZXZpY2UgKmRldmljZSwgaW50 IGluZGV4LAo+ICAgewo+ICAgCWlmICghKCppY2NzZW5zZSA9IGt6YWxsb2Moc2l6ZW9mKCoqaWNj c2Vuc2UpLCBHRlBfS0VSTkVMKSkpCj4gICAJCXJldHVybiAtRU5PTUVNOwo+ICsJSU5JVF9MSVNU X0hFQUQoJigqaWNjc2Vuc2UpLT5zZW5zb3JzKTsKPiAgIAlJTklUX0xJU1RfSEVBRCgmKCppY2Nz ZW5zZSktPnJhaWxzKTsKPiAgIAludmttX2ljY3NlbnNlX2N0b3IoZGV2aWNlLCBpbmRleCwgKmlj Y3NlbnNlKTsKPiAgIAlyZXR1cm4gMDsKPiBkaWZmIC0tZ2l0IGEvZHJtL25vdXZlYXUvbnZrbS9z dWJkZXYvaWNjc2Vuc2UvcHJpdi5oIGIvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvaWNjc2Vuc2Uv cHJpdi5oCj4gaW5kZXggZTQ3OTEyOC4uYjcyYzMxZCAxMDA2NDQKPiAtLS0gYS9kcm0vbm91dmVh dS9udmttL3N1YmRldi9pY2NzZW5zZS9wcml2LmgKPiArKysgYi9kcm0vbm91dmVhdS9udmttL3N1 YmRldi9pY2NzZW5zZS9wcml2LmgKPiBAQCAtMiwxMyArMiwyMiBAQAo+ICAgI2RlZmluZSBfX05W S01fSUNDU0VOU0VfUFJJVl9IX18KPiAgICNkZWZpbmUgbnZrbV9pY2NzZW5zZShwKSBjb250YWlu ZXJfb2YoKHApLCBzdHJ1Y3QgbnZrbV9pY2NzZW5zZSwgc3ViZGV2KQo+ICAgI2luY2x1ZGUgPHN1 YmRldi9pY2NzZW5zZS5oPgo+ICsjaW5jbHVkZSA8c3ViZGV2L2Jpb3MvZXh0ZGV2Lmg+Cj4gICAK PiAtc3RydWN0IG52a21faWNjc2Vuc2VfcmFpbCB7Cj4gK3N0cnVjdCBudmttX2ljY3NlbnNlX3Nl bnNvciB7Cj4gICAJc3RydWN0IGxpc3RfaGVhZCBoZWFkOwo+IC0JaW50ICgqcmVhZCkoc3RydWN0 IG52a21faWNjc2Vuc2UgKiwgc3RydWN0IG52a21faWNjc2Vuc2VfcmFpbCAqKTsKPiArCWludCBp ZDsKPiArCWVudW0gbnZiaW9zX2V4dGRldl90eXBlIHR5cGU7Cj4gICAJc3RydWN0IGkyY19hZGFw dGVyICppMmM7Cj4gICAJdTggYWRkcjsKPiAtCXU4IHJhaWw7Cj4gKwl1OCByYWlsX21hc2s7Cj4g K307Cj4gKwo+ICtzdHJ1Y3QgbnZrbV9pY2NzZW5zZV9yYWlsIHsKPiArCXN0cnVjdCBsaXN0X2hl YWQgaGVhZDsKPiArCWludCAoKnJlYWQpKHN0cnVjdCBudmttX2ljY3NlbnNlICosIHN0cnVjdCBu dmttX2ljY3NlbnNlX3JhaWwgKik7Cj4gKwlzdHJ1Y3QgbnZrbV9pY2NzZW5zZV9zZW5zb3IgKnNl bnNvcjsKPiArCXU4IGlkeDsKPiAgIAl1OCBtb2htOwo+ICAgfTsKPiAgIAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTm91dmVhdSBtYWlsaW5nIGxpc3QK Tm91dmVhdUBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9ub3V2ZWF1Cg==