From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludovic.desroches Subject: Re: [PATCH 237/493] mmc: remove use of __devinit Date: Tue, 20 Nov 2012 10:55:52 +0100 Message-ID: <50AB53A8.9070405@atmel.com> References: <1353349642-3677-1-git-send-email-wfp5p@virginia.edu> <1353349642-3677-237-git-send-email-wfp5p@virginia.edu> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1353349642-3677-237-git-send-email-wfp5p@virginia.edu> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-arm-kernel-bounces@lists.infradead.org Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Bill Pemberton Cc: Bruce Chang , linux-omap@vger.kernel.org, gregkh@linuxfoundation.org, spear-devel@list.st.com, linux-mmc@vger.kernel.org, Harald Welte , =?UTF-8?B?TWljaGHFgiBNaXJvc8WCYXc=?= , Ian Molton , Ludovic Desroches , Viresh Kumar , uclinux-dist-devel@blackfin.uclinux.org, Manuel Lauss , Pierre Ossman , Chris Ball , Jarkko Lavinen , Guennadi Liakhovetski , linux-arm-kernel@lists.infradead.org List-Id: linux-omap@vger.kernel.org TGUgMTEvMTkvMjAxMiAwNzoyMyBQTSwgQmlsbCBQZW1iZXJ0b24gYSDDqWNyaXQgOgo+IENPTkZJ R19IT1RQTFVHIGlzIGdvaW5nIGF3YXkgYXMgYW4gb3B0aW9uIHNvIF9fZGV2aW5pdCBpcyBubyBs b25nZXIKPiBuZWVkZWQuCj4KPiBTaWduZWQtb2ZmLWJ5OiBCaWxsIFBlbWJlcnRvbiA8d2ZwNXBA dmlyZ2luaWEuZWR1Pgo+IENjOiBMdWRvdmljIERlc3JvY2hlcyA8bHVkb3ZpYy5kZXNyb2NoZXNA YXRtZWwuY29tPgo+IENjOiBDaHJpcyBCYWxsIDxjamJAbGFwdG9wLm9yZz4KPiBDYzogTWFudWVs IExhdXNzIDxtYW51ZWwubGF1c3NAZ21haWwuY29tPgo+IENjOiAiTWljaGHFgiBNaXJvc8WCYXci IDxtaXJxLWxpbnV4QHJlcmUucW1xbS5wbD4KPiBDYzogSmFya2tvIExhdmluZW4gPGphcmtrby5s YXZpbmVuQG5va2lhLmNvbT4KPiBDYzogVmVua2F0cmFtYW4gUyA8c3ZlbmthdHJAdGkuY29tPgo+ IENjOiBWaXJlc2ggS3VtYXIgPHZpcmVzaC5saW51eEBnbWFpbC5jb20+Cj4gQ2M6IEd1ZW5uYWRp IExpYWtob3ZldHNraSA8Zy5saWFraG92ZXRza2lAZ214LmRlPgo+IENjOiBJYW4gTW9sdG9uIDxp YW5AbW5lbWVudGguY28udWs+Cj4gQ2M6IEJydWNlIENoYW5nIDxicnVjZWNoYW5nQHZpYS5jb20u dHc+Cj4gQ2M6IEhhcmFsZCBXZWx0ZSA8SGFyYWxkV2VsdGVAdmlhdGVjaC5jb20+Cj4gQ2M6IFBp ZXJyZSBPc3NtYW4gPHBpZXJyZUBvc3NtYW4uZXU+Cj4gQ2M6IGxpbnV4LW1tY0B2Z2VyLmtlcm5l bC5vcmcKPiBDYzogdWNsaW51eC1kaXN0LWRldmVsQGJsYWNrZmluLnVjbGludXgub3JnCj4gQ2M6 IGxpbnV4LW9tYXBAdmdlci5rZXJuZWwub3JnCj4gQ2M6IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMu aW5mcmFkZWFkLm9yZwo+IENjOiBzcGVhci1kZXZlbEBsaXN0LnN0LmNvbQo+IC0tLQo+ICAgZHJp dmVycy9tbWMvaG9zdC9hdG1lbC1tY2kuYyAgICAgICB8ICAyICstCgpBY2tlZC1ieTogTHVkb3Zp YyBEZXNyb2NoZXMgPGx1ZG92aWMuZGVzcm9jaGVzQGF0bWVsLmNvbT4KCj4gICBkcml2ZXJzL21t Yy9ob3N0L2F1MXhtbWMuYyAgICAgICAgIHwgIDIgKy0KPiAgIGRyaXZlcnMvbW1jL2hvc3QvYmZp bl9zZGguYyAgICAgICAgfCAgMiArLQo+ICAgZHJpdmVycy9tbWMvaG9zdC9jYjcxMC1tbWMuYyAg ICAgICB8ICAyICstCj4gICBkcml2ZXJzL21tYy9ob3N0L2R3X21tYy1wY2kuYyAgICAgIHwgIDIg Ky0KPiAgIGRyaXZlcnMvbW1jL2hvc3QvZHdfbW1jLXBsdGZtLmMgICAgfCAgMiArLQo+ICAgZHJp dmVycy9tbWMvaG9zdC9qejQ3NDBfbW1jLmMgICAgICB8ICA4ICsrKystLS0tCj4gICBkcml2ZXJz L21tYy9ob3N0L21tY2kuYyAgICAgICAgICAgIHwgIDYgKysrLS0tCj4gICBkcml2ZXJzL21tYy9o b3N0L29tYXAuYyAgICAgICAgICAgIHwgIDQgKystLQo+ICAgZHJpdmVycy9tbWMvaG9zdC9vbWFw X2hzbW1jLmMgICAgICB8ICAyICstCj4gICBkcml2ZXJzL21tYy9ob3N0L3B4YW1jaS5jICAgICAg ICAgIHwgIDQgKystLQo+ICAgZHJpdmVycy9tbWMvaG9zdC9zM2NtY2kuYyAgICAgICAgICB8ICAy ICstCj4gICBkcml2ZXJzL21tYy9ob3N0L3NkaGNpLWNuczN4eHguYyAgIHwgIDIgKy0KPiAgIGRy aXZlcnMvbW1jL2hvc3Qvc2RoY2ktZG92ZS5jICAgICAgfCAgMiArLQo+ICAgZHJpdmVycy9tbWMv aG9zdC9zZGhjaS1lc2RoYy1pbXguYyB8ICA0ICsrLS0KPiAgIGRyaXZlcnMvbW1jL2hvc3Qvc2Ro Y2ktb2YtZXNkaGMuYyAgfCAgMiArLQo+ICAgZHJpdmVycy9tbWMvaG9zdC9zZGhjaS1vZi1obHdk LmMgICB8ICAyICstCj4gICBkcml2ZXJzL21tYy9ob3N0L3NkaGNpLXBjaS5jICAgICAgIHwgIDYg KysrLS0tCj4gICBkcml2ZXJzL21tYy9ob3N0L3NkaGNpLXB4YXYyLmMgICAgIHwgIDIgKy0KPiAg IGRyaXZlcnMvbW1jL2hvc3Qvc2RoY2ktcHhhdjMuYyAgICAgfCAgMiArLQo+ICAgZHJpdmVycy9t bWMvaG9zdC9zZGhjaS1zM2MuYyAgICAgICB8ICA2ICsrKy0tLQo+ICAgZHJpdmVycy9tbWMvaG9z dC9zZGhjaS1zcGVhci5jICAgICB8ICA4ICsrKy0tLS0tCj4gICBkcml2ZXJzL21tYy9ob3N0L3Nk aGNpLXRlZ3JhLmMgICAgIHwgIDQgKystLQo+ICAgZHJpdmVycy9tbWMvaG9zdC9zaF9tbWNpZi5j ICAgICAgICB8ICAyICstCj4gICBkcml2ZXJzL21tYy9ob3N0L3NoX21vYmlsZV9zZGhpLmMgIHwg IDIgKy0KPiAgIGRyaXZlcnMvbW1jL2hvc3QvdG1pb19tbWMuYyAgICAgICAgfCAgMiArLQo+ICAg ZHJpdmVycy9tbWMvaG9zdC90bWlvX21tY19waW8uYyAgICB8ICAyICstCj4gICBkcml2ZXJzL21t Yy9ob3N0L3ZpYS1zZG1tYy5jICAgICAgIHwgIDIgKy0KPiAgIGRyaXZlcnMvbW1jL2hvc3Qvd2Jz ZC5jICAgICAgICAgICAgfCAxOCArKysrKysrKystLS0tLS0tLS0KPiAgIDI5IGZpbGVzIGNoYW5n ZWQsIDUyIGluc2VydGlvbnMoKyksIDU0IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbW1jL2hvc3QvYXRtZWwtbWNpLmMgYi9kcml2ZXJzL21tYy9ob3N0L2F0bWVsLW1jaS5j Cj4gaW5kZXggODY4OTk4OS4uNzIyYWYxZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21tYy9ob3N0 L2F0bWVsLW1jaS5jCj4gKysrIGIvZHJpdmVycy9tbWMvaG9zdC9hdG1lbC1tY2kuYwo+IEBAIC01 MTEsNyArNTExLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgYXRtY2lfZHRf aWRzW10gPSB7Cj4KPiAgIE1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIGF0bWNpX2R0X2lkcyk7Cj4K PiAtc3RhdGljIHN0cnVjdCBtY2lfcGxhdGZvcm1fZGF0YSBfX2RldmluaXQqCj4gK3N0YXRpYyBz dHJ1Y3QgbWNpX3BsYXRmb3JtX2RhdGEqCj4gICBhdG1jaV9vZl9pbml0KHN0cnVjdCBwbGF0Zm9y bV9kZXZpY2UgKnBkZXYpCj4gICB7Cj4gICAJc3RydWN0IGRldmljZV9ub2RlICpucCA9IHBkZXYt PmRldi5vZl9ub2RlOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21tYy9ob3N0L2F1MXhtbWMuYyBi L2RyaXZlcnMvbW1jL2hvc3QvYXUxeG1tYy5jCj4gaW5kZXggZGJkMGM4YS4uNjA2YzE2YSAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL21tYy9ob3N0L2F1MXhtbWMuYwo+ICsrKyBiL2RyaXZlcnMvbW1j L2hvc3QvYXUxeG1tYy5jCj4gQEAgLTk0Myw3ICs5NDMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IG1tY19ob3N0X29wcyBhdTF4bW1jX29wcyA9IHsKPiAgIAkuZW5hYmxlX3NkaW9faXJxID0gYXUx eG1tY19lbmFibGVfc2Rpb19pcnEsCj4gICB9Owo+Cj4gLXN0YXRpYyBpbnQgX19kZXZpbml0IGF1 MXhtbWNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiArc3RhdGljIGludCBh dTF4bW1jX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gICB7Cj4gICAJc3Ry dWN0IG1tY19ob3N0ICptbWM7Cj4gICAJc3RydWN0IGF1MXhtbWNfaG9zdCAqaG9zdDsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9tbWMvaG9zdC9iZmluX3NkaC5jIGIvZHJpdmVycy9tbWMvaG9zdC9i ZmluX3NkaC5jCj4gaW5kZXggMTU2ZWJlNy4uNGVmMzkwMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L21tYy9ob3N0L2JmaW5fc2RoLmMKPiArKysgYi9kcml2ZXJzL21tYy9ob3N0L2JmaW5fc2RoLmMK PiBAQCAtNTIyLDcgKzUyMiw3IEBAIHN0YXRpYyB2b2lkIHNkaF9yZXNldCh2b2lkKQo+ICAgCVNT WU5DKCk7Cj4gICB9Cj4KPiAtc3RhdGljIGludCBfX2RldmluaXQgc2RoX3Byb2JlKHN0cnVjdCBw bGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gK3N0YXRpYyBpbnQgc2RoX3Byb2JlKHN0cnVjdCBwbGF0 Zm9ybV9kZXZpY2UgKnBkZXYpCj4gICB7Cj4gICAJc3RydWN0IG1tY19ob3N0ICptbWM7Cj4gICAJ c3RydWN0IHNkaF9ob3N0ICpob3N0Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21tYy9ob3N0L2Ni NzEwLW1tYy5jIGIvZHJpdmVycy9tbWMvaG9zdC9jYjcxMC1tbWMuYwo+IGluZGV4IDM5MjgwYjUu LmMxMmE1NjEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tbWMvaG9zdC9jYjcxMC1tbWMuYwo+ICsr KyBiL2RyaXZlcnMvbW1jL2hvc3QvY2I3MTAtbW1jLmMKPiBAQCAtNjkwLDcgKzY5MCw3IEBAIHN0 YXRpYyBpbnQgY2I3MTBfbW1jX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ Cj4gICAjZW5kaWYgLyogQ09ORklHX1BNICovCj4KPiAtc3RhdGljIGludCBfX2RldmluaXQgY2I3 MTBfbW1jX2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiArc3RhdGljIGludCBj YjcxMF9tbWNfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICAgewo+ICAgCXN0 cnVjdCBjYjcxMF9zbG90ICpzbG90ID0gY2I3MTBfcGRldl90b19zbG90KHBkZXYpOwo+ICAgCXN0 cnVjdCBjYjcxMF9jaGlwICpjaGlwID0gY2I3MTBfc2xvdF90b19jaGlwKHNsb3QpOwo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL21tYy9ob3N0L2R3X21tYy1wY2kuYyBiL2RyaXZlcnMvbW1jL2hvc3Qv ZHdfbW1jLXBjaS5jCj4gaW5kZXggZWRiMzdlOS4uMzI0YzhiZiAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL21tYy9ob3N0L2R3X21tYy1wY2kuYwo+ICsrKyBiL2RyaXZlcnMvbW1jL2hvc3QvZHdfbW1j LXBjaS5jCj4gQEAgLTM3LDcgKzM3LDcgQEAgc3RhdGljIHN0cnVjdCBkd19tY2lfYm9hcmQgcGNp X2JvYXJkX2RhdGEgPSB7Cj4gICAJLmZpZm9fZGVwdGgJCQk9IDMyLAo+ICAgfTsKPgo+IC1zdGF0 aWMgaW50IF9fZGV2aW5pdCBkd19tY2lfcGNpX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LAo+ ICtzdGF0aWMgaW50IGR3X21jaV9wY2lfcHJvYmUoc3RydWN0IHBjaV9kZXYgKnBkZXYsCj4gICAJ CQkJICBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqZW50cmllcykKPiAgIHsKPiAgIAlzdHJ1 Y3QgZHdfbWNpICpob3N0Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21tYy9ob3N0L2R3X21tYy1w bHRmbS5jIGIvZHJpdmVycy9tbWMvaG9zdC9kd19tbWMtcGx0Zm0uYwo+IGluZGV4IDRjMWIxZGYu LmZmNzNhODcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tbWMvaG9zdC9kd19tbWMtcGx0Zm0uYwo+ ICsrKyBiL2RyaXZlcnMvbW1jL2hvc3QvZHdfbW1jLXBsdGZtLmMKPiBAQCAtNjIsNyArNjIsNyBA QCBpbnQgZHdfbWNpX3BsdGZtX3JlZ2lzdGVyKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYs Cj4gICB9Cj4gICBFWFBPUlRfU1lNQk9MX0dQTChkd19tY2lfcGx0Zm1fcmVnaXN0ZXIpOwo+Cj4g LXN0YXRpYyBpbnQgX19kZXZpbml0IGR3X21jaV9wbHRmbV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2KQo+ICtzdGF0aWMgaW50IGR3X21jaV9wbHRmbV9wcm9iZShzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpwZGV2KQo+ICAgewo+ICAgCXJldHVybiBkd19tY2lfcGx0Zm1fcmVnaXN0 ZXIocGRldiwgTlVMTCk7Cj4gICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbW1jL2hvc3Qvano0 NzQwX21tYy5jIGIvZHJpdmVycy9tbWMvaG9zdC9qejQ3NDBfbW1jLmMKPiBpbmRleCAzMWNmMjBm Li44MTgyNmJlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbW1jL2hvc3Qvano0NzQwX21tYy5jCj4g KysrIGIvZHJpdmVycy9tbWMvaG9zdC9qejQ3NDBfbW1jLmMKPiBAQCAtNzAyLDcgKzcwMiw3IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QganpfZ3Bpb19idWxrX3JlcXVlc3Qgano0NzQwX21tY19waW5z W10gPSB7Cj4gICAJSlpfR1BJT19CVUxLX1BJTihNU0NfREFUQTMpLAo+ICAgfTsKPgo+IC1zdGF0 aWMgaW50IF9fZGV2aW5pdCBqejQ3NDBfbW1jX3JlcXVlc3RfZ3BpbyhzdHJ1Y3QgZGV2aWNlICpk ZXYsIGludCBncGlvLAo+ICtzdGF0aWMgaW50IGp6NDc0MF9tbWNfcmVxdWVzdF9ncGlvKHN0cnVj dCBkZXZpY2UgKmRldiwgaW50IGdwaW8sCj4gICAJY29uc3QgY2hhciAqbmFtZSwgYm9vbCBvdXRw dXQsIGludCB2YWx1ZSkKPiAgIHsKPiAgIAlpbnQgcmV0Owo+IEBAIC03MjQsNyArNzI0LDcgQEAg c3RhdGljIGludCBfX2RldmluaXQgano0NzQwX21tY19yZXF1ZXN0X2dwaW8oc3RydWN0IGRldmlj ZSAqZGV2LCBpbnQgZ3BpbywKPiAgIAlyZXR1cm4gMDsKPiAgIH0KPgo+IC1zdGF0aWMgaW50IF9f ZGV2aW5pdCBqejQ3NDBfbW1jX3JlcXVlc3RfZ3Bpb3Moc3RydWN0IHBsYXRmb3JtX2RldmljZSAq cGRldikKPiArc3RhdGljIGludCBqejQ3NDBfbW1jX3JlcXVlc3RfZ3Bpb3Moc3RydWN0IHBsYXRm b3JtX2RldmljZSAqcGRldikKPiAgIHsKPiAgIAlpbnQgcmV0Owo+ICAgCXN0cnVjdCBqejQ3NDBf bW1jX3BsYXRmb3JtX2RhdGEgKnBkYXRhID0gcGRldi0+ZGV2LnBsYXRmb3JtX2RhdGE7Cj4gQEAg LTc1OSw3ICs3NTksNyBAQCBlcnI6Cj4gICAJcmV0dXJuIHJldDsKPiAgIH0KPgo+IC1zdGF0aWMg aW50IF9fZGV2aW5pdCBqejQ3NDBfbW1jX3JlcXVlc3RfY2RfaXJxKHN0cnVjdCBwbGF0Zm9ybV9k ZXZpY2UgKnBkZXYsCj4gK3N0YXRpYyBpbnQgano0NzQwX21tY19yZXF1ZXN0X2NkX2lycShzdHJ1 Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAo+ICAgCXN0cnVjdCBqejQ3NDBfbW1jX2hvc3QgKmhv c3QpCj4gICB7Cj4gICAJc3RydWN0IGp6NDc0MF9tbWNfcGxhdGZvcm1fZGF0YSAqcGRhdGEgPSBw ZGV2LT5kZXYucGxhdGZvcm1fZGF0YTsKPiBAQCAtODAyLDcgKzgwMiw3IEBAIHN0YXRpYyBpbmxp bmUgc2l6ZV90IGp6NDc0MF9tbWNfbnVtX3BpbnMoc3RydWN0IGp6NDc0MF9tbWNfaG9zdCAqaG9z dCkKPiAgIAlyZXR1cm4gbnVtX3BpbnM7Cj4gICB9Cj4KPiAtc3RhdGljIGludCBfX2RldmluaXQg ano0NzQwX21tY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlKiBwZGV2KQo+ICtzdGF0aWMg aW50IGp6NDc0MF9tbWNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSogcGRldikKPiAgIHsK PiAgIAlpbnQgcmV0Owo+ICAgCXN0cnVjdCBtbWNfaG9zdCAqbW1jOwo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL21tYy9ob3N0L21tY2kuYyBiL2RyaXZlcnMvbW1jL2hvc3QvbW1jaS5jCj4gaW5kZXgg NzA1YzNiZS4uYmY1ZjdhNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21tYy9ob3N0L21tY2kuYwo+ ICsrKyBiL2RyaXZlcnMvbW1jL2hvc3QvbW1jaS5jCj4gQEAgLTI2Miw3ICsyNjIsNyBAQCBzdGF0 aWMgdm9pZCBtbWNpX2luaXRfc2coc3RydWN0IG1tY2lfaG9zdCAqaG9zdCwgc3RydWN0IG1tY19k YXRhICpkYXRhKQo+ICAgICogbm8gY3VzdG9tIERNQSBpbnRlcmZhY2VzIGFyZSBzdXBwb3J0ZWQu Cj4gICAgKi8KPiAgICNpZmRlZiBDT05GSUdfRE1BX0VOR0lORQo+IC1zdGF0aWMgdm9pZCBfX2Rl dmluaXQgbW1jaV9kbWFfc2V0dXAoc3RydWN0IG1tY2lfaG9zdCAqaG9zdCkKPiArc3RhdGljIHZv aWQgbW1jaV9kbWFfc2V0dXAoc3RydWN0IG1tY2lfaG9zdCAqaG9zdCkKPiAgIHsKPiAgIAlzdHJ1 Y3QgbW1jaV9wbGF0Zm9ybV9kYXRhICpwbGF0ID0gaG9zdC0+cGxhdDsKPiAgIAljb25zdCBjaGFy ICpyeG5hbWUsICp0eG5hbWU7Cj4gQEAgLTMzOCw3ICszMzgsNyBAQCBzdGF0aWMgdm9pZCBfX2Rl dmluaXQgbW1jaV9kbWFfc2V0dXAoc3RydWN0IG1tY2lfaG9zdCAqaG9zdCkKPiAgIH0KPgo+ICAg LyoKPiAtICogVGhpcyBpcyB1c2VkIGluIF9fZGV2aW5pdCBvciBfX2RldmV4aXQgc28gaW5saW5l IGl0Cj4gKyAqIFRoaXMgaXMgdXNlZCBpbiBvciBfX2RldmV4aXQgc28gaW5saW5lIGl0Cj4gICAg KiBzbyBpdCBjYW4gYmUgZGlzY2FyZGVkLgo+ICAgICovCj4gICBzdGF0aWMgaW5saW5lIHZvaWQg bW1jaV9kbWFfcmVsZWFzZShzdHJ1Y3QgbW1jaV9ob3N0ICpob3N0KQo+IEBAIC0xMjYyLDcgKzEy NjIsNyBAQCBzdGF0aWMgdm9pZCBtbWNpX2R0X3BvcHVsYXRlX2dlbmVyaWNfcGRhdGEoc3RydWN0 IGRldmljZV9ub2RlICpucCwKPiAgIH0KPiAgICNlbmRpZgo+Cj4gLXN0YXRpYyBpbnQgX19kZXZp bml0IG1tY2lfcHJvYmUoc3RydWN0IGFtYmFfZGV2aWNlICpkZXYsCj4gK3N0YXRpYyBpbnQgbW1j aV9wcm9iZShzdHJ1Y3QgYW1iYV9kZXZpY2UgKmRldiwKPiAgIAljb25zdCBzdHJ1Y3QgYW1iYV9p ZCAqaWQpCj4gICB7Cj4gICAJc3RydWN0IG1tY2lfcGxhdGZvcm1fZGF0YSAqcGxhdCA9IGRldi0+ ZGV2LnBsYXRmb3JtX2RhdGE7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbW1jL2hvc3Qvb21hcC5j IGIvZHJpdmVycy9tbWMvaG9zdC9vbWFwLmMKPiBpbmRleCBmNjVlYzI2Li41Y2Q5NzZhIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvbW1jL2hvc3Qvb21hcC5jCj4gKysrIGIvZHJpdmVycy9tbWMvaG9z dC9vbWFwLmMKPiBAQCAtMTIzMCw3ICsxMjMwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBtbWNf aG9zdF9vcHMgbW1jX29tYXBfb3BzID0gewo+ICAgCS5zZXRfaW9zCT0gbW1jX29tYXBfc2V0X2lv cywKPiAgIH07Cj4KPiAtc3RhdGljIGludCBfX2RldmluaXQgbW1jX29tYXBfbmV3X3Nsb3Qoc3Ry dWN0IG1tY19vbWFwX2hvc3QgKmhvc3QsIGludCBpZCkKPiArc3RhdGljIGludCBtbWNfb21hcF9u ZXdfc2xvdChzdHJ1Y3QgbW1jX29tYXBfaG9zdCAqaG9zdCwgaW50IGlkKQo+ICAgewo+ICAgCXN0 cnVjdCBtbWNfb21hcF9zbG90ICpzbG90ID0gTlVMTDsKPiAgIAlzdHJ1Y3QgbW1jX2hvc3QgKm1t YzsKPiBAQCAtMTMyNSw3ICsxMzI1LDcgQEAgc3RhdGljIHZvaWQgbW1jX29tYXBfcmVtb3ZlX3Ns b3Qoc3RydWN0IG1tY19vbWFwX3Nsb3QgKnNsb3QpCj4gICAJbW1jX2ZyZWVfaG9zdChtbWMpOwo+ ICAgfQo+Cj4gLXN0YXRpYyBpbnQgX19kZXZpbml0IG1tY19vbWFwX3Byb2JlKHN0cnVjdCBwbGF0 Zm9ybV9kZXZpY2UgKnBkZXYpCj4gK3N0YXRpYyBpbnQgbW1jX29tYXBfcHJvYmUoc3RydWN0IHBs YXRmb3JtX2RldmljZSAqcGRldikKPiAgIHsKPiAgIAlzdHJ1Y3Qgb21hcF9tbWNfcGxhdGZvcm1f ZGF0YSAqcGRhdGEgPSBwZGV2LT5kZXYucGxhdGZvcm1fZGF0YTsKPiAgIAlzdHJ1Y3QgbW1jX29t YXBfaG9zdCAqaG9zdCA9IE5VTEw7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbW1jL2hvc3Qvb21h cF9oc21tYy5jIGIvZHJpdmVycy9tbWMvaG9zdC9vbWFwX2hzbW1jLmMKPiBpbmRleCA4ZjVjN2Uy Li40OTJkOGNmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbW1jL2hvc3Qvb21hcF9oc21tYy5jCj4g KysrIGIvZHJpdmVycy9tbWMvaG9zdC9vbWFwX2hzbW1jLmMKPiBAQCAtMTcxNyw3ICsxNzE3LDcg QEAgc3RhdGljIGlubGluZSBzdHJ1Y3Qgb21hcF9tbWNfcGxhdGZvcm1fZGF0YQo+ICAgfQo+ICAg I2VuZGlmCj4KPiAtc3RhdGljIGludCBfX2RldmluaXQgb21hcF9oc21tY19wcm9iZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICtzdGF0aWMgaW50IG9tYXBfaHNtbWNfcHJvYmUoc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgIHsKPiAgIAlzdHJ1Y3Qgb21hcF9tbWNfcGxh dGZvcm1fZGF0YSAqcGRhdGEgPSBwZGV2LT5kZXYucGxhdGZvcm1fZGF0YTsKPiAgIAlzdHJ1Y3Qg bW1jX2hvc3QgKm1tYzsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tbWMvaG9zdC9weGFtY2kuYyBi L2RyaXZlcnMvbW1jL2hvc3QvcHhhbWNpLmMKPiBpbmRleCAzZjlkNmQ1Li4yYjJmNjVhIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvbW1jL2hvc3QvcHhhbWNpLmMKPiArKysgYi9kcml2ZXJzL21tYy9o b3N0L3B4YW1jaS5jCj4gQEAgLTU4NCw3ICs1ODQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG9m X2RldmljZV9pZCBweGFfbW1jX2R0X2lkc1tdID0gewo+Cj4gICBNT0RVTEVfREVWSUNFX1RBQkxF KG9mLCBweGFfbW1jX2R0X2lkcyk7Cj4KPiAtc3RhdGljIGludCBfX2RldmluaXQgcHhhbWNpX29m X2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiArc3RhdGljIGludCBweGFtY2lf b2ZfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICAgewo+ICAgICAgICAgICBz dHJ1Y3QgZGV2aWNlX25vZGUgKm5wID0gcGRldi0+ZGV2Lm9mX25vZGU7Cj4gICAgICAgICAgIHN0 cnVjdCBweGFtY2lfcGxhdGZvcm1fZGF0YSAqcGRhdGE7Cj4gQEAgLTYxNCw3ICs2MTQsNyBAQCBz dGF0aWMgaW50IF9fZGV2aW5pdCBweGFtY2lfb2ZfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpwZGV2KQo+ICAgICAgICAgICByZXR1cm4gMDsKPiAgIH0KPiAgICNlbHNlCj4gLXN0YXRpYyBp bnQgX19kZXZpbml0IHB4YW1jaV9vZl9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYp Cj4gK3N0YXRpYyBpbnQgcHhhbWNpX29mX2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRl dikKPiAgIHsKPiAgICAgICAgICAgcmV0dXJuIDA7Cj4gICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvbW1jL2hvc3QvczNjbWNpLmMgYi9kcml2ZXJzL21tYy9ob3N0L3MzY21jaS5jCj4gaW5kZXgg YTVmZTViMi4uYjg0NmE5NyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21tYy9ob3N0L3MzY21jaS5j Cj4gKysrIGIvZHJpdmVycy9tbWMvaG9zdC9zM2NtY2kuYwo+IEBAIC0xNTQwLDcgKzE1NDAsNyBA QCBzdGF0aWMgaW5saW5lIHZvaWQgczNjbWNpX2RlYnVnZnNfcmVtb3ZlKHN0cnVjdCBzM2NtY2lf aG9zdCAqaG9zdCkgeyB9Cj4KPiAgICNlbmRpZiAvKiBDT05GSUdfREVCVUdfRlMgKi8KPgo+IC1z dGF0aWMgaW50IF9fZGV2aW5pdCBzM2NtY2lfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAq cGRldikKPiArc3RhdGljIGludCBzM2NtY2lfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAq cGRldikKPiAgIHsKPiAgIAlzdHJ1Y3QgczNjbWNpX2hvc3QgKmhvc3Q7Cj4gICAJc3RydWN0IG1t Y19ob3N0CSptbWM7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbW1jL2hvc3Qvc2RoY2ktY25zM3h4 eC5jIGIvZHJpdmVycy9tbWMvaG9zdC9zZGhjaS1jbnMzeHh4LmMKPiBpbmRleCA5MjM2ZmE5Li5j ZTk1OWRjZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21tYy9ob3N0L3NkaGNpLWNuczN4eHguYwo+ ICsrKyBiL2RyaXZlcnMvbW1jL2hvc3Qvc2RoY2ktY25zM3h4eC5jCj4gQEAgLTk1LDcgKzk1LDcg QEAgc3RhdGljIHN0cnVjdCBzZGhjaV9wbHRmbV9kYXRhIHNkaGNpX2NuczN4eHhfcGRhdGEgPSB7 Cj4gICAJCSAgU0RIQ0lfUVVJUktfTk9OU1RBTkRBUkRfQ0xPQ0ssCj4gICB9Owo+Cj4gLXN0YXRp YyBpbnQgX19kZXZpbml0IHNkaGNpX2NuczN4eHhfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldikKPiArc3RhdGljIGludCBzZGhjaV9jbnMzeHh4X3Byb2JlKHN0cnVjdCBwbGF0Zm9y bV9kZXZpY2UgKnBkZXYpCj4gICB7Cj4gICAJcmV0dXJuIHNkaGNpX3BsdGZtX3JlZ2lzdGVyKHBk ZXYsICZzZGhjaV9jbnMzeHh4X3BkYXRhKTsKPiAgIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9t bWMvaG9zdC9zZGhjaS1kb3ZlLmMgYi9kcml2ZXJzL21tYy9ob3N0L3NkaGNpLWRvdmUuYwo+IGlu ZGV4IDdhZDFiYjYuLjMzNGVjNWMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tbWMvaG9zdC9zZGhj aS1kb3ZlLmMKPiArKysgYi9kcml2ZXJzL21tYy9ob3N0L3NkaGNpLWRvdmUuYwo+IEBAIC03OCw3 ICs3OCw3IEBAIHN0YXRpYyBzdHJ1Y3Qgc2RoY2lfcGx0Zm1fZGF0YSBzZGhjaV9kb3ZlX3BkYXRh ID0gewo+ICAgCQkgIFNESENJX1FVSVJLX05PX0hJU1BEX0JJVCwKPiAgIH07Cj4KPiAtc3RhdGlj IGludCBfX2RldmluaXQgc2RoY2lfZG92ZV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQo+ICtzdGF0aWMgaW50IHNkaGNpX2RvdmVfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldikKPiAgIHsKPiAgIAlzdHJ1Y3Qgc2RoY2lfaG9zdCAqaG9zdDsKPiAgIAlzdHJ1Y3Qg c2RoY2lfcGx0Zm1faG9zdCAqcGx0Zm1faG9zdDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tbWMv aG9zdC9zZGhjaS1lc2RoYy1pbXguYyBiL2RyaXZlcnMvbW1jL2hvc3Qvc2RoY2ktZXNkaGMtaW14 LmMKPiBpbmRleCA2YTRlOThlLi5jZDc0MWJiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbW1jL2hv c3Qvc2RoY2ktZXNkaGMtaW14LmMKPiArKysgYi9kcml2ZXJzL21tYy9ob3N0L3NkaGNpLWVzZGhj LWlteC5jCj4gQEAgLTQwMyw3ICs0MDMsNyBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgY2RfaXJxKGlu dCBpcnEsIHZvaWQgKmRhdGEpCj4gICB9Owo+Cj4gICAjaWZkZWYgQ09ORklHX09GCj4gLXN0YXRp YyBpbnQgX19kZXZpbml0Cj4gK3N0YXRpYyBpbnQKPiAgIHNkaGNpX2VzZGhjX2lteF9wcm9iZV9k dChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAo+ICAgCQkJIHN0cnVjdCBlc2RoY19wbGF0 Zm9ybV9kYXRhICpib2FyZGRhdGEpCj4gICB7Cj4gQEAgLTQ0MCw3ICs0NDAsNyBAQCBzZGhjaV9l c2RoY19pbXhfcHJvYmVfZHQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKPiAgIH0KPiAg ICNlbmRpZgo+Cj4gLXN0YXRpYyBpbnQgX19kZXZpbml0IHNkaGNpX2VzZGhjX2lteF9wcm9iZShz dHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICtzdGF0aWMgaW50IHNkaGNpX2VzZGhjX2lt eF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICAgewo+ICAgCWNvbnN0IHN0 cnVjdCBvZl9kZXZpY2VfaWQgKm9mX2lkID0KPiAgIAkJCW9mX21hdGNoX2RldmljZShpbXhfZXNk aGNfZHRfaWRzLCAmcGRldi0+ZGV2KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tbWMvaG9zdC9z ZGhjaS1vZi1lc2RoYy5jIGIvZHJpdmVycy9tbWMvaG9zdC9zZGhjaS1vZi1lc2RoYy5jCj4gaW5k ZXggZDdlYjRlZC4uMWFjZWVkNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21tYy9ob3N0L3NkaGNp LW9mLWVzZGhjLmMKPiArKysgYi9kcml2ZXJzL21tYy9ob3N0L3NkaGNpLW9mLWVzZGhjLmMKPiBA QCAtMjA4LDcgKzIwOCw3IEBAIHN0YXRpYyBzdHJ1Y3Qgc2RoY2lfcGx0Zm1fZGF0YSBzZGhjaV9l c2RoY19wZGF0YSA9IHsKPiAgIAkub3BzID0gJnNkaGNpX2VzZGhjX29wcywKPiAgIH07Cj4KPiAt c3RhdGljIGludCBfX2RldmluaXQgc2RoY2lfZXNkaGNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rl dmljZSAqcGRldikKPiArc3RhdGljIGludCBzZGhjaV9lc2RoY19wcm9iZShzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2KQo+ICAgewo+ICAgCXJldHVybiBzZGhjaV9wbHRmbV9yZWdpc3Rlcihw ZGV2LCAmc2RoY2lfZXNkaGNfcGRhdGEpOwo+ICAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21t Yy9ob3N0L3NkaGNpLW9mLWhsd2QuYyBiL2RyaXZlcnMvbW1jL2hvc3Qvc2RoY2ktb2YtaGx3ZC5j Cj4gaW5kZXggM2I2ODA2OS4uYWE3OGYzYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21tYy9ob3N0 L3NkaGNpLW9mLWhsd2QuYwo+ICsrKyBiL2RyaXZlcnMvbW1jL2hvc3Qvc2RoY2ktb2YtaGx3ZC5j Cj4gQEAgLTY2LDcgKzY2LDcgQEAgc3RhdGljIHN0cnVjdCBzZGhjaV9wbHRmbV9kYXRhIHNkaGNp X2hsd2RfcGRhdGEgPSB7Cj4gICAJLm9wcyA9ICZzZGhjaV9obHdkX29wcywKPiAgIH07Cj4KPiAt c3RhdGljIGludCBfX2RldmluaXQgc2RoY2lfaGx3ZF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2KQo+ICtzdGF0aWMgaW50IHNkaGNpX2hsd2RfcHJvYmUoc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldikKPiAgIHsKPiAgIAlyZXR1cm4gc2RoY2lfcGx0Zm1fcmVnaXN0ZXIocGRl diwgJnNkaGNpX2hsd2RfcGRhdGEpOwo+ICAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21tYy9o b3N0L3NkaGNpLXBjaS5jIGIvZHJpdmVycy9tbWMvaG9zdC9zZGhjaS1wY2kuYwo+IGluZGV4IDdi YzIyNzAuLmZmOTE2NTEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tbWMvaG9zdC9zZGhjaS1wY2ku Ywo+ICsrKyBiL2RyaXZlcnMvbW1jL2hvc3Qvc2RoY2ktcGNpLmMKPiBAQCAtMTE4Myw3ICsxMTgz LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkZXZfcG1fb3BzIHNkaGNpX3BjaV9wbV9vcHMgPSB7 Cj4gICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICoKPiAgIFwqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KPgo+ IC1zdGF0aWMgc3RydWN0IHNkaGNpX3BjaV9zbG90ICogX19kZXZpbml0IHNkaGNpX3BjaV9wcm9i ZV9zbG90KAo+ICtzdGF0aWMgc3RydWN0IHNkaGNpX3BjaV9zbG90ICpzZGhjaV9wY2lfcHJvYmVf c2xvdCgKPiAgIAlzdHJ1Y3QgcGNpX2RldiAqcGRldiwgc3RydWN0IHNkaGNpX3BjaV9jaGlwICpj aGlwLCBpbnQgZmlyc3RfYmFyLAo+ICAgCWludCBzbG90bm8pCj4gICB7Cj4gQEAgLTEzMzgsNyAr MTMzOCw3IEBAIHN0YXRpYyB2b2lkIHNkaGNpX3BjaV9yZW1vdmVfc2xvdChzdHJ1Y3Qgc2RoY2lf cGNpX3Nsb3QgKnNsb3QpCj4gICAJc2RoY2lfZnJlZV9ob3N0KHNsb3QtPmhvc3QpOwo+ICAgfQo+ Cj4gLXN0YXRpYyB2b2lkIF9fZGV2aW5pdCBzZGhjaV9wY2lfcnVudGltZV9wbV9hbGxvdyhzdHJ1 Y3QgZGV2aWNlICpkZXYpCj4gK3N0YXRpYyB2b2lkIHNkaGNpX3BjaV9ydW50aW1lX3BtX2FsbG93 KHN0cnVjdCBkZXZpY2UgKmRldikKPiAgIHsKPiAgIAlwbV9ydW50aW1lX3B1dF9ub2lkbGUoZGV2 KTsKPiAgIAlwbV9ydW50aW1lX2FsbG93KGRldik7Cj4gQEAgLTEzNTMsNyArMTM1Myw3IEBAIHN0 YXRpYyB2b2lkIF9fZGV2ZXhpdCBzZGhjaV9wY2lfcnVudGltZV9wbV9mb3JiaWQoc3RydWN0IGRl dmljZSAqZGV2KQo+ICAgCXBtX3J1bnRpbWVfZ2V0X25vcmVzdW1lKGRldik7Cj4gICB9Cj4KPiAt c3RhdGljIGludCBfX2RldmluaXQgc2RoY2lfcGNpX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpwZGV2 LAo+ICtzdGF0aWMgaW50IHNkaGNpX3BjaV9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwKPiAg IAkJCQkgICAgIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICplbnQpCj4gICB7Cj4gICAJc3Ry dWN0IHNkaGNpX3BjaV9jaGlwICpjaGlwOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21tYy9ob3N0 L3NkaGNpLXB4YXYyLmMgYi9kcml2ZXJzL21tYy9ob3N0L3NkaGNpLXB4YXYyLmMKPiBpbmRleCA5 NjRmYzZkLi43ZDRkYzE5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbW1jL2hvc3Qvc2RoY2ktcHhh djIuYwo+ICsrKyBiL2RyaXZlcnMvbW1jL2hvc3Qvc2RoY2ktcHhhdjIuYwo+IEBAIC0xNjYsNyAr MTY2LDcgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3Qgc2RoY2lfcHhhX3BsYXRkYXRhICpweGF2Ml9n ZXRfbW1jX3BkYXRhKHN0cnVjdCBkZXZpY2UgKmRldikKPiAgIH0KPiAgICNlbmRpZgo+Cj4gLXN0 YXRpYyBpbnQgX19kZXZpbml0IHNkaGNpX3B4YXYyX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZp Y2UgKnBkZXYpCj4gK3N0YXRpYyBpbnQgc2RoY2lfcHhhdjJfcHJvYmUoc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldikKPiAgIHsKPiAgIAlzdHJ1Y3Qgc2RoY2lfcGx0Zm1faG9zdCAqcGx0Zm1f aG9zdDsKPiAgIAlzdHJ1Y3Qgc2RoY2lfcHhhX3BsYXRkYXRhICpwZGF0YSA9IHBkZXYtPmRldi5w bGF0Zm9ybV9kYXRhOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21tYy9ob3N0L3NkaGNpLXB4YXYz LmMgYi9kcml2ZXJzL21tYy9ob3N0L3NkaGNpLXB4YXYzLmMKPiBpbmRleCBhNDZjYjY3Li5lODlj ODA5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbW1jL2hvc3Qvc2RoY2ktcHhhdjMuYwo+ICsrKyBi L2RyaXZlcnMvbW1jL2hvc3Qvc2RoY2ktcHhhdjMuYwo+IEBAIC0yMTQsNyArMjE0LDcgQEAgc3Rh dGljIGlubGluZSBzdHJ1Y3Qgc2RoY2lfcHhhX3BsYXRkYXRhICpweGF2M19nZXRfbW1jX3BkYXRh KHN0cnVjdCBkZXZpY2UgKmRldikKPiAgIH0KPiAgICNlbmRpZgo+Cj4gLXN0YXRpYyBpbnQgX19k ZXZpbml0IHNkaGNpX3B4YXYzX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4g K3N0YXRpYyBpbnQgc2RoY2lfcHhhdjNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRl dikKPiAgIHsKPiAgIAlzdHJ1Y3Qgc2RoY2lfcGx0Zm1faG9zdCAqcGx0Zm1faG9zdDsKPiAgIAlz dHJ1Y3Qgc2RoY2lfcHhhX3BsYXRkYXRhICpwZGF0YSA9IHBkZXYtPmRldi5wbGF0Zm9ybV9kYXRh Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21tYy9ob3N0L3NkaGNpLXMzYy5jIGIvZHJpdmVycy9t bWMvaG9zdC9zZGhjaS1zM2MuYwo+IGluZGV4IGI2MmEwYzEuLmY1ZGRlOWUgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9tbWMvaG9zdC9zZGhjaS1zM2MuYwo+ICsrKyBiL2RyaXZlcnMvbW1jL2hvc3Qv c2RoY2ktczNjLmMKPiBAQCAtNDMwLDcgKzQzMCw3IEBAIHN0YXRpYyB2b2lkIHNkaGNpX3MzY19z ZXR1cF9jYXJkX2RldGVjdF9ncGlvKHN0cnVjdCBzZGhjaV9zM2MgKnNjKQo+ICAgfQo+Cj4gICAj aWZkZWYgQ09ORklHX09GCj4gLXN0YXRpYyBpbnQgX19kZXZpbml0IHNkaGNpX3MzY19wYXJzZV9k dChzdHJ1Y3QgZGV2aWNlICpkZXYsCj4gK3N0YXRpYyBpbnQgc2RoY2lfczNjX3BhcnNlX2R0KHN0 cnVjdCBkZXZpY2UgKmRldiwKPiAgIAkJc3RydWN0IHNkaGNpX2hvc3QgKmhvc3QsIHN0cnVjdCBz M2Nfc2RoY2lfcGxhdGRhdGEgKnBkYXRhKQo+ICAgewo+ICAgCXN0cnVjdCBkZXZpY2Vfbm9kZSAq bm9kZSA9IGRldi0+b2Zfbm9kZTsKPiBAQCAtNTI1LDcgKzUyNSw3IEBAIHN0YXRpYyBpbnQgX19k ZXZpbml0IHNkaGNpX3MzY19wYXJzZV9kdChzdHJ1Y3QgZGV2aWNlICpkZXYsCj4gICAJcmV0dXJu IC1FSU5WQUw7Cj4gICB9Cj4gICAjZWxzZQo+IC1zdGF0aWMgaW50IF9fZGV2aW5pdCBzZGhjaV9z M2NfcGFyc2VfZHQoc3RydWN0IGRldmljZSAqZGV2LAo+ICtzdGF0aWMgaW50IHNkaGNpX3MzY19w YXJzZV9kdChzdHJ1Y3QgZGV2aWNlICpkZXYsCj4gICAJCXN0cnVjdCBzZGhjaV9ob3N0ICpob3N0 LCBzdHJ1Y3QgczNjX3NkaGNpX3BsYXRkYXRhICpwZGF0YSkKPiAgIHsKPiAgIAlyZXR1cm4gLUVJ TlZBTDsKPiBAQCAtNTQ4LDcgKzU0OCw3IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IHNkaGNpX3Mz Y19kcnZfZGF0YSAqc2RoY2lfczNjX2dldF9kcml2ZXJfZGF0YSgKPiAgIAkJCXBsYXRmb3JtX2dl dF9kZXZpY2VfaWQocGRldiktPmRyaXZlcl9kYXRhOwo+ICAgfQo+Cj4gLXN0YXRpYyBpbnQgX19k ZXZpbml0IHNkaGNpX3MzY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICtz dGF0aWMgaW50IHNkaGNpX3MzY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ ICAgewo+ICAgCXN0cnVjdCBzM2Nfc2RoY2lfcGxhdGRhdGEgKnBkYXRhOwo+ICAgCXN0cnVjdCBz ZGhjaV9zM2NfZHJ2X2RhdGEgKmRydl9kYXRhOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21tYy9o b3N0L3NkaGNpLXNwZWFyLmMgYi9kcml2ZXJzL21tYy9ob3N0L3NkaGNpLXNwZWFyLmMKPiBpbmRl eCAzYmE5NDc5Li4zZmQxODk2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbW1jL2hvc3Qvc2RoY2kt c3BlYXIuYwo+ICsrKyBiL2RyaXZlcnMvbW1jL2hvc3Qvc2RoY2ktc3BlYXIuYwo+IEBAIC03MSw4 ICs3MSw3IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBzZGhjaV9ncGlvX2lycShpbnQgaXJxLCB2b2lk ICpkZXZfaWQpCj4gICB9Cj4KPiAgICNpZmRlZiBDT05GSUdfT0YKPiAtc3RhdGljIHN0cnVjdCBz ZGhjaV9wbGF0X2RhdGEgKiBfX2RldmluaXQKPiAtc2RoY2lfcHJvYmVfY29uZmlnX2R0KHN0cnVj dCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gK3N0YXRpYyBzdHJ1Y3Qgc2RoY2lfcGxhdF9kYXRh ICpzZGhjaV9wcm9iZV9jb25maWdfZHQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAg IHsKPiAgIAlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wID0gcGRldi0+ZGV2Lm9mX25vZGU7Cj4gICAJ c3RydWN0IHNkaGNpX3BsYXRfZGF0YSAqcGRhdGEgPSBOVUxMOwo+IEBAIC05NiwxNCArOTUsMTMg QEAgc2RoY2lfcHJvYmVfY29uZmlnX2R0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4g ICAJcmV0dXJuIHBkYXRhOwo+ICAgfQo+ICAgI2Vsc2UKPiAtc3RhdGljIHN0cnVjdCBzZGhjaV9w bGF0X2RhdGEgKiBfX2RldmluaXQKPiAtc2RoY2lfcHJvYmVfY29uZmlnX2R0KHN0cnVjdCBwbGF0 Zm9ybV9kZXZpY2UgKnBkZXYpCj4gK3N0YXRpYyBzdHJ1Y3Qgc2RoY2lfcGxhdF9kYXRhICpzZGhj aV9wcm9iZV9jb25maWdfZHQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgIHsKPiAg IAlyZXR1cm4gRVJSX1BUUigtRU5PU1lTKTsKPiAgIH0KPiAgICNlbmRpZgo+Cj4gLXN0YXRpYyBp bnQgX19kZXZpbml0IHNkaGNpX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4g K3N0YXRpYyBpbnQgc2RoY2lfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAg IHsKPiAgIAlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wID0gcGRldi0+ZGV2Lm9mX25vZGU7Cj4gICAJ c3RydWN0IHNkaGNpX2hvc3QgKmhvc3Q7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbW1jL2hvc3Qv c2RoY2ktdGVncmEuYyBiL2RyaXZlcnMvbW1jL2hvc3Qvc2RoY2ktdGVncmEuYwo+IGluZGV4IGYy ODQzNTQuLjMzOWM0MWUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tbWMvaG9zdC9zZGhjaS10ZWdy YS5jCj4gKysrIGIvZHJpdmVycy9tbWMvaG9zdC9zZGhjaS10ZWdyYS5jCj4gQEAgLTIxNyw3ICsy MTcsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBzZGhjaV90ZWdyYV9kdF9t YXRjaFtdIF9fZGV2aW5pdGRhdGEgPSB7Cj4gICB9Owo+ICAgTU9EVUxFX0RFVklDRV9UQUJMRShv Ziwgc2RoY2lfZHRfaWRzKTsKPgo+IC1zdGF0aWMgc3RydWN0IHRlZ3JhX3NkaGNpX3BsYXRmb3Jt X2RhdGEgKiBfX2RldmluaXQgc2RoY2lfdGVncmFfZHRfcGFyc2VfcGRhdGEoCj4gK3N0YXRpYyBz dHJ1Y3QgdGVncmFfc2RoY2lfcGxhdGZvcm1fZGF0YSAqc2RoY2lfdGVncmFfZHRfcGFyc2VfcGRh dGEoCj4gICAJCQkJCQlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICAgewo+ICAgCXN0 cnVjdCB0ZWdyYV9zZGhjaV9wbGF0Zm9ybV9kYXRhICpwbGF0Owo+IEBAIC0yNDQsNyArMjQ0LDcg QEAgc3RhdGljIHN0cnVjdCB0ZWdyYV9zZGhjaV9wbGF0Zm9ybV9kYXRhICogX19kZXZpbml0IHNk aGNpX3RlZ3JhX2R0X3BhcnNlX3BkYXRhKAo+ICAgCXJldHVybiBwbGF0Owo+ICAgfQo+Cj4gLXN0 YXRpYyBpbnQgX19kZXZpbml0IHNkaGNpX3RlZ3JhX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZp Y2UgKnBkZXYpCj4gK3N0YXRpYyBpbnQgc2RoY2lfdGVncmFfcHJvYmUoc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldikKPiAgIHsKPiAgIAljb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkICptYXRj aDsKPiAgIAljb25zdCBzdHJ1Y3Qgc2RoY2lfdGVncmFfc29jX2RhdGEgKnNvY19kYXRhOwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL21tYy9ob3N0L3NoX21tY2lmLmMgYi9kcml2ZXJzL21tYy9ob3N0 L3NoX21tY2lmLmMKPiBpbmRleCBkMjViYzk3Li45ODcyYjUyIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvbW1jL2hvc3Qvc2hfbW1jaWYuYwo+ICsrKyBiL2RyaXZlcnMvbW1jL2hvc3Qvc2hfbW1jaWYu Ywo+IEBAIC0xMzAyLDcgKzEzMDIsNyBAQCBzdGF0aWMgdm9pZCBzaF9tbWNpZl9pbml0X29jcihz dHJ1Y3Qgc2hfbW1jaWZfaG9zdCAqaG9zdCkKPiAgIAkJZGV2X3dhcm4obW1jX2RldihtbWMpLCAi UGxhdGZvcm0gT0NSIG1hc2sgaXMgaWdub3JlZFxuIik7Cj4gICB9Cj4KPiAtc3RhdGljIGludCBf X2RldmluaXQgc2hfbW1jaWZfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAr c3RhdGljIGludCBzaF9tbWNpZl9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ ICAgewo+ICAgCWludCByZXQgPSAwLCBpcnFbMl07Cj4gICAJc3RydWN0IG1tY19ob3N0ICptbWM7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbW1jL2hvc3Qvc2hfbW9iaWxlX3NkaGkuYyBiL2RyaXZl cnMvbW1jL2hvc3Qvc2hfbW9iaWxlX3NkaGkuYwo+IGluZGV4IDZhOWE2MjUuLjkxMjU2ODQgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9tbWMvaG9zdC9zaF9tb2JpbGVfc2RoaS5jCj4gKysrIGIvZHJp dmVycy9tbWMvaG9zdC9zaF9tb2JpbGVfc2RoaS5jCj4gQEAgLTExNyw3ICsxMTcsNyBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IHNoX21vYmlsZV9zZGhpX29wcyBzZGhpX29wcyA9IHsKPiAgIAkuY2Rf d2FrZXVwID0gc2hfbW9iaWxlX3NkaGlfY2Rfd2FrZXVwLAo+ICAgfTsKPgo+IC1zdGF0aWMgaW50 IF9fZGV2aW5pdCBzaF9tb2JpbGVfc2RoaV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQo+ICtzdGF0aWMgaW50IHNoX21vYmlsZV9zZGhpX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9k ZXZpY2UgKnBkZXYpCj4gICB7Cj4gICAJc3RydWN0IHNoX21vYmlsZV9zZGhpICpwcml2Owo+ICAg CXN0cnVjdCB0bWlvX21tY19kYXRhICptbWNfZGF0YTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9t bWMvaG9zdC90bWlvX21tYy5jIGIvZHJpdmVycy9tbWMvaG9zdC90bWlvX21tYy5jCj4gaW5kZXgg MmY5YmJkZi4uZjQxNWJlOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21tYy9ob3N0L3RtaW9fbW1j LmMKPiArKysgYi9kcml2ZXJzL21tYy9ob3N0L3RtaW9fbW1jLmMKPiBAQCAtNTcsNyArNTcsNyBA QCBzdGF0aWMgaW50IHRtaW9fbW1jX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYp Cj4gICAjZGVmaW5lIHRtaW9fbW1jX3Jlc3VtZSBOVUxMCj4gICAjZW5kaWYKPgo+IC1zdGF0aWMg aW50IF9fZGV2aW5pdCB0bWlvX21tY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQo+ICtzdGF0aWMgaW50IHRtaW9fbW1jX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBk ZXYpCj4gICB7Cj4gICAJY29uc3Qgc3RydWN0IG1mZF9jZWxsICpjZWxsID0gbWZkX2dldF9jZWxs KHBkZXYpOwo+ICAgCXN0cnVjdCB0bWlvX21tY19kYXRhICpwZGF0YTsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9tbWMvaG9zdC90bWlvX21tY19waW8uYyBiL2RyaXZlcnMvbW1jL2hvc3QvdG1pb19t bWNfcGlvLmMKPiBpbmRleCAwZDhhOWJiLi41MGJmNDk1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv bW1jL2hvc3QvdG1pb19tbWNfcGlvLmMKPiArKysgYi9kcml2ZXJzL21tYy9ob3N0L3RtaW9fbW1j X3Bpby5jCj4gQEAgLTkxOCw3ICs5MTgsNyBAQCBzdGF0aWMgdm9pZCB0bWlvX21tY19pbml0X29j cihzdHJ1Y3QgdG1pb19tbWNfaG9zdCAqaG9zdCkKPiAgIAkJZGV2X3dhcm4obW1jX2RldihtbWMp LCAiUGxhdGZvcm0gT0NSIG1hc2sgaXMgaWdub3JlZFxuIik7Cj4gICB9Cj4KPiAtaW50IF9fZGV2 aW5pdCB0bWlvX21tY19ob3N0X3Byb2JlKHN0cnVjdCB0bWlvX21tY19ob3N0ICoqaG9zdCwKPiAr aW50IHRtaW9fbW1jX2hvc3RfcHJvYmUoc3RydWN0IHRtaW9fbW1jX2hvc3QgKipob3N0LAo+ICAg CQkJCSAgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKPiAgIAkJCQkgIHN0cnVjdCB0bWlv X21tY19kYXRhICpwZGF0YSkKPiAgIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tbWMvaG9zdC92 aWEtc2RtbWMuYyBiL2RyaXZlcnMvbW1jL2hvc3QvdmlhLXNkbW1jLmMKPiBpbmRleCBkOGY4YTVl Li4xZjFhMjUyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbW1jL2hvc3QvdmlhLXNkbW1jLmMKPiAr KysgYi9kcml2ZXJzL21tYy9ob3N0L3ZpYS1zZG1tYy5jCj4gQEAgLTEwODIsNyArMTA4Miw3IEBA IHN0YXRpYyB2b2lkIHZpYV9pbml0X21tY19ob3N0KHN0cnVjdCB2aWFfY3Jkcl9tbWNfaG9zdCAq aG9zdCkKPiAgIAltc2xlZXAoMSk7Cj4gICB9Cj4KPiAtc3RhdGljIGludCBfX2RldmluaXQgdmlh X3NkX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpwY2lkZXYsCj4gK3N0YXRpYyBpbnQgdmlhX3NkX3By b2JlKHN0cnVjdCBwY2lfZGV2ICpwY2lkZXYsCj4gICAJCQkJICAgIGNvbnN0IHN0cnVjdCBwY2lf ZGV2aWNlX2lkICppZCkKPiAgIHsKPiAgIAlzdHJ1Y3QgbW1jX2hvc3QgKm1tYzsKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9tbWMvaG9zdC93YnNkLmMgYi9kcml2ZXJzL21tYy9ob3N0L3dic2QuYwo+ IGluZGV4IDNjOGVmNTkuLmQ3MTM1OGEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tbWMvaG9zdC93 YnNkLmMKPiArKysgYi9kcml2ZXJzL21tYy9ob3N0L3dic2QuYwo+IEBAIC0xMTk2LDcgKzExOTYs NyBAQCBzdGF0aWMgaXJxcmV0dXJuX3Qgd2JzZF9pcnEoaW50IGlycSwgdm9pZCAqZGV2X2lkKQo+ ICAgICogQWxsb2NhdGUvZnJlZSBNTUMgc3RydWN0dXJlLgo+ICAgICovCj4KPiAtc3RhdGljIGlu dCBfX2RldmluaXQgd2JzZF9hbGxvY19tbWMoc3RydWN0IGRldmljZSAqZGV2KQo+ICtzdGF0aWMg aW50IHdic2RfYWxsb2NfbW1jKHN0cnVjdCBkZXZpY2UgKmRldikKPiAgIHsKPiAgIAlzdHJ1Y3Qg bW1jX2hvc3QgKm1tYzsKPiAgIAlzdHJ1Y3Qgd2JzZF9ob3N0ICpob3N0Owo+IEBAIC0xMjg4LDcg KzEyODgsNyBAQCBzdGF0aWMgdm9pZCB3YnNkX2ZyZWVfbW1jKHN0cnVjdCBkZXZpY2UgKmRldikK PiAgICAqIFNjYW4gZm9yIGtub3duIGNoaXAgaWQ6cwo+ICAgICovCj4KPiAtc3RhdGljIGludCBf X2RldmluaXQgd2JzZF9zY2FuKHN0cnVjdCB3YnNkX2hvc3QgKmhvc3QpCj4gK3N0YXRpYyBpbnQg d2JzZF9zY2FuKHN0cnVjdCB3YnNkX2hvc3QgKmhvc3QpCj4gICB7Cj4gICAJaW50IGksIGosIGs7 Cj4gICAJaW50IGlkOwo+IEBAIC0xMzQ0LDcgKzEzNDQsNyBAQCBzdGF0aWMgaW50IF9fZGV2aW5p dCB3YnNkX3NjYW4oc3RydWN0IHdic2RfaG9zdCAqaG9zdCkKPiAgICAqIEFsbG9jYXRlL2ZyZWUg aW8gcG9ydCByYW5nZXMKPiAgICAqLwo+Cj4gLXN0YXRpYyBpbnQgX19kZXZpbml0IHdic2RfcmVx dWVzdF9yZWdpb24oc3RydWN0IHdic2RfaG9zdCAqaG9zdCwgaW50IGJhc2UpCj4gK3N0YXRpYyBp bnQgd2JzZF9yZXF1ZXN0X3JlZ2lvbihzdHJ1Y3Qgd2JzZF9ob3N0ICpob3N0LCBpbnQgYmFzZSkK PiAgIHsKPiAgIAlpZiAoYmFzZSAmIDB4NykKPiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gQEAgLTEz NzQsNyArMTM3NCw3IEBAIHN0YXRpYyB2b2lkIHdic2RfcmVsZWFzZV9yZWdpb25zKHN0cnVjdCB3 YnNkX2hvc3QgKmhvc3QpCj4gICAgKiBBbGxvY2F0ZS9mcmVlIERNQSBwb3J0IGFuZCBidWZmZXIK PiAgICAqLwo+Cj4gLXN0YXRpYyB2b2lkIF9fZGV2aW5pdCB3YnNkX3JlcXVlc3RfZG1hKHN0cnVj dCB3YnNkX2hvc3QgKmhvc3QsIGludCBkbWEpCj4gK3N0YXRpYyB2b2lkIHdic2RfcmVxdWVzdF9k bWEoc3RydWN0IHdic2RfaG9zdCAqaG9zdCwgaW50IGRtYSkKPiAgIHsKPiAgIAlpZiAoZG1hIDwg MCkKPiAgIAkJcmV0dXJuOwo+IEBAIC0xNDUyLDcgKzE0NTIsNyBAQCBzdGF0aWMgdm9pZCB3YnNk X3JlbGVhc2VfZG1hKHN0cnVjdCB3YnNkX2hvc3QgKmhvc3QpCj4gICAgKiBBbGxvY2F0ZS9mcmVl IElSUS4KPiAgICAqLwo+Cj4gLXN0YXRpYyBpbnQgX19kZXZpbml0IHdic2RfcmVxdWVzdF9pcnEo c3RydWN0IHdic2RfaG9zdCAqaG9zdCwgaW50IGlycSkKPiArc3RhdGljIGludCB3YnNkX3JlcXVl c3RfaXJxKHN0cnVjdCB3YnNkX2hvc3QgKmhvc3QsIGludCBpcnEpCj4gICB7Cj4gICAJaW50IHJl dDsKPgo+IEBAIC0xNTAyLDcgKzE1MDIsNyBAQCBzdGF0aWMgdm9pZCAgd2JzZF9yZWxlYXNlX2ly cShzdHJ1Y3Qgd2JzZF9ob3N0ICpob3N0KQo+ICAgICogQWxsb2NhdGUgYWxsIHJlc291cmNlcyBm b3IgdGhlIGhvc3QuCj4gICAgKi8KPgo+IC1zdGF0aWMgaW50IF9fZGV2aW5pdCB3YnNkX3JlcXVl c3RfcmVzb3VyY2VzKHN0cnVjdCB3YnNkX2hvc3QgKmhvc3QsCj4gK3N0YXRpYyBpbnQgd2JzZF9y ZXF1ZXN0X3Jlc291cmNlcyhzdHJ1Y3Qgd2JzZF9ob3N0ICpob3N0LAo+ICAgCWludCBiYXNlLCBp bnQgaXJxLCBpbnQgZG1hKQo+ICAgewo+ICAgCWludCByZXQ7Cj4gQEAgLTE2NDQsNyArMTY0NCw3 IEBAIHN0YXRpYyB2b2lkIHdic2RfY2hpcF9wb3dlcm9mZihzdHJ1Y3Qgd2JzZF9ob3N0ICpob3N0 KQo+ICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAqCj4gICBcKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCj4K PiAtc3RhdGljIGludCBfX2RldmluaXQgd2JzZF9pbml0KHN0cnVjdCBkZXZpY2UgKmRldiwgaW50 IGJhc2UsIGludCBpcnEsIGludCBkbWEsCj4gK3N0YXRpYyBpbnQgd2JzZF9pbml0KHN0cnVjdCBk ZXZpY2UgKmRldiwgaW50IGJhc2UsIGludCBpcnEsIGludCBkbWEsCj4gICAJaW50IHBucCkKPiAg IHsKPiAgIAlzdHJ1Y3Qgd2JzZF9ob3N0ICpob3N0ID0gTlVMTDsKPiBAQCAtMTc2Miw3ICsxNzYy LDcgQEAgc3RhdGljIHZvaWQgX19kZXZleGl0IHdic2Rfc2h1dGRvd24oc3RydWN0IGRldmljZSAq ZGV2LCBpbnQgcG5wKQo+ICAgICogTm9uLVBuUAo+ICAgICovCj4KPiAtc3RhdGljIGludCBfX2Rl dmluaXQgd2JzZF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCj4gK3N0YXRpYyBp bnQgd2JzZF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCj4gICB7Cj4gICAJLyog VXNlIHRoZSBtb2R1bGUgcGFyYW1ldGVycyBmb3IgcmVzb3VyY2VzICovCj4gICAJcmV0dXJuIHdi c2RfaW5pdCgmZGV2LT5kZXYsIHBhcmFtX2lvLCBwYXJhbV9pcnEsIHBhcmFtX2RtYSwgMCk7Cj4g QEAgLTE3ODEsNyArMTc4MSw3IEBAIHN0YXRpYyBpbnQgX19kZXZleGl0IHdic2RfcmVtb3ZlKHN0 cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKPgo+ICAgI2lmZGVmIENPTkZJR19QTlAKPgo+IC1z dGF0aWMgaW50IF9fZGV2aW5pdAo+ICtzdGF0aWMgaW50Cj4gICB3YnNkX3BucF9wcm9iZShzdHJ1 Y3QgcG5wX2RldiAqcG5wZGV2LCBjb25zdCBzdHJ1Y3QgcG5wX2RldmljZV9pZCAqZGV2X2lkKQo+ ICAgewo+ICAgCWludCBpbywgaXJxLCBkbWE7Cj4KCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51 eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5v cmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==