From mboxrd@z Thu Jan 1 00:00:00 1970 From: Philipp Zabel Subject: [PATCH, RFC] ASoC: uda1380 cleanup Date: Sat, 10 May 2008 15:25:03 +0200 Message-ID: <1210425903.3876.22.camel@localhost.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fg-out-1718.google.com (fg-out-1718.google.com [72.14.220.152]) by alsa0.perex.cz (Postfix) with ESMTP id 00E86243C8 for ; Sat, 10 May 2008 15:25:07 +0200 (CEST) Received: by fg-out-1718.google.com with SMTP id 16so1219164fgg.44 for ; Sat, 10 May 2008 06:25:07 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: alsa-devel-bounces@alsa-project.org Errors-To: alsa-devel-bounces@alsa-project.org To: alsa-devel@alsa-project.org List-Id: alsa-devel@alsa-project.org VGhpcyBwYXRjaCBtb3N0bHkgY29uc2lzdHMgb2YgKG1vc3RseSBjaGVja3BhdGNoKSBjbGVhbnVw cywgcmVtb3ZhbCBvZgp0aGUgY3VzdG9tIGRiZyBtYWNybyBhbmQgdWRhMTM4MF/vu79zbmRfc29j X2NuZXcsIHdoaWNoIGRvZXNuJ3Qgc2VlbSB0byBiZQpuZWVkZWQgYW55bW9yZS4gSSBhbHNvIHJl bW92ZWQgdGhlIGhhcmRjb2RlZCBXaW5DRS9tYWdpY2lhbiByZWdpc3Rlcgp2YWx1ZXMgZnJvbSB1 ZGExMzgwX3BjbV9wcmVwYXJlLiBTdGlsbCwgYSBudW1iZXIgb2YgRklYTUVzIHJlbWFpbi4KClNp Z25lZC1vZmYtYnk6IFBoaWxpcHAgWmFiZWwgPHBoaWxpcHAuemFiZWxAZ21haWwuY29tPgotLS0K IHNvdW5kL3NvYy9jb2RlY3MvdWRhMTM4MC5jIHwgIDI1MiArKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlcyBjaGFuZ2VkLCAxMjggaW5zZXJ0aW9ucygr KSwgMTI0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvdWRhMTM4 MC5jIGIvc291bmQvc29jL2NvZGVjcy91ZGExMzgwLmMKaW5kZXggMjVlMzQ5MC4uZTc5ZDg0MiAx MDA2NDQKLS0tIGEvc291bmQvc29jL2NvZGVjcy91ZGExMzgwLmMKKysrIGIvc291bmQvc29jL2Nv ZGVjcy91ZGExMzgwLmMKQEAgLTI1LDcgKzI1LDYgQEAKICNpbmNsdWRlIDxsaW51eC9pb2N0bC5o PgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+Ci0jaW5j bHVkZSA8c291bmQvZHJpdmVyLmg+CiAjaW5jbHVkZSA8c291bmQvY29yZS5oPgogI2luY2x1ZGUg PHNvdW5kL2NvbnRyb2wuaD4KICNpbmNsdWRlIDxzb3VuZC9pbml0dmFsLmg+CkBAIC0zNiwyMCAr MzUsOCBAQAogCiAjaW5jbHVkZSAidWRhMTM4MC5oIgogCi0jZGVmaW5lIFVEQTEzODBfVkVSU0lP TiAiMC41IgorI2RlZmluZSBVREExMzgwX1ZFUlNJT04gIjAuNiIKICNkZWZpbmUgQVVESU9fTkFN RSAidWRhMTM4MCIKLS8qCi0gKiBEZWJ1ZwotICovCi0KLSNkZWZpbmUgVURBMTM4MF9ERUJVRyAw Ci0KLSNpZmRlZiBVREExMzgwX0RFQlVHCi0jZGVmaW5lIGRiZyhmb3JtYXQsIGFyZy4uLikgXAot CXByaW50ayhLRVJOX0RFQlVHIEFVRElPX05BTUUgIjogIiBmb3JtYXQgIlxuIiAsICMjIGFyZykK LSNlbHNlCi0jZGVmaW5lIGRiZyhmb3JtYXQsIGFyZy4uLikgZG8ge30gd2hpbGUgKDApCi0jZW5k aWYKIAogLyoKICAqIHVkYTEzODAgcmVnaXN0ZXIgY2FjaGUKQEAgLTEwOSwyMSArOTYsMjIgQEAg c3RhdGljIGludCB1ZGExMzgwX3dyaXRlKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgdW5z aWduZWQgaW50IHJlZywKIAlkYXRhWzFdID0gKHZhbHVlICYgMHhmZjAwKSA+PiA4OwogCWRhdGFb Ml0gPSB2YWx1ZSAmIDB4MDBmZjsKIAotCXVkYTEzODBfd3JpdGVfcmVnX2NhY2hlIChjb2RlYywg cmVnLCB2YWx1ZSk7CisJdWRhMTM4MF93cml0ZV9yZWdfY2FjaGUoY29kZWMsIHJlZywgdmFsdWUp OwogCiAJLyogdGhlIGludGVycG9sYXRvciAmIGRlY2ltYXRvciByZWdzIG11c3Qgb25seSBiZSB3 cml0dGVuIHdoZW4gdGhlCiAJICogY29kZWMgREFJIGlzIGFjdGl2ZS4KIAkgKi8KIAlpZiAoIWNv ZGVjLT5hY3RpdmUgJiYgKHJlZyA+PSBVREExMzgwX01WT0wpKQogCQlyZXR1cm4gMDsKLQlkYmco InVkYSBodyB3cml0ZSAleCB2YWwgJXgiLCByZWcsIHZhbHVlKTsKKwlwcl9kZWJ1ZygidWRhMTM4 MDogaHcgd3JpdGUgJXggdmFsICV4XG4iLCByZWcsIHZhbHVlKTsKIAlpZiAoY29kZWMtPmh3X3dy aXRlKGNvZGVjLT5jb250cm9sX2RhdGEsIGRhdGEsIDMpID09IDMpIHsKIAkJdW5zaWduZWQgaW50 IHZhbDsKIAkJaTJjX21hc3Rlcl9zZW5kKGNvZGVjLT5jb250cm9sX2RhdGEsIGRhdGEsIDEpOwog CQlpMmNfbWFzdGVyX3JlY3YoY29kZWMtPmNvbnRyb2xfZGF0YSwgZGF0YSwgMik7CiAJCXZhbCA9 IChkYXRhWzBdPDw4KSB8IGRhdGFbMV07CiAJCWlmICh2YWwgIT0gdmFsdWUpIHsKLQkJCWRiZygi UkVBRCBCQUNLIFZBTCAleCIsIChkYXRhWzBdPDw4KSB8IGRhdGFbMV0pOworCQkJcHJfZGVidWco InVkYTEzODA6IFJFQUQgQkFDSyBWQUwgJXhcbiIsCisJCQkJCShkYXRhWzBdPDw4KSB8IGRhdGFb MV0pOwogCQkJcmV0dXJuIC1FSU87CiAJCX0KIAkJcmV0dXJuIDA7CkBAIC0xMzQsMTcgKzEyMiw1 NCBAQCBzdGF0aWMgaW50IHVkYTEzODBfd3JpdGUoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVj LCB1bnNpZ25lZCBpbnQgcmVnLAogI2RlZmluZSB1ZGExMzgwX3Jlc2V0KGMpCXVkYTEzODBfd3Jp dGUoYywgVURBMTM4MF9SRVNFVCwgMCkKIAogLyogZGVjbGFyYXRpb25zIG9mIEFMU0EgcmVnX2Vs ZW1fUkVBTCBjb250cm9scyAqLwotc3RhdGljIGNvbnN0IGNoYXIgKnVkYTEzODBfZGVlbXBbXSA9 IHsiTm9uZSIsICIzMmtIeiIsICI0NC4xa0h6IiwgIjQ4a0h6IiwKLQkJCQkgICAgICAiOTZrSHoi fTsKLXN0YXRpYyBjb25zdCBjaGFyICp1ZGExMzgwX2lucHV0X3NlbFtdID0geyAiTGluZSIsICJN aWMgKyBMaW5lIFIiLCAiTGluZSBMIiwgIk1pYyIgfTsKLXN0YXRpYyBjb25zdCBjaGFyICp1ZGEx MzgwX291dHB1dF9zZWxbXSA9IHsiREFDIiwgIkFuYWxvZyBNaXhlciJ9Owotc3RhdGljIGNvbnN0 IGNoYXIgKnVkYTEzODBfc3BmX21vZGVbXSA9IHsiRmxhdCIsICJNaW5pbXVtMSIsICJNaW5pbXVt MiIsCi0JCQkJCSAiTWF4aW11bSJ9Owotc3RhdGljIGNvbnN0IGNoYXIgKnVkYTEzODBfY2FwdHVy ZV9zZWxbXSA9IHsiQURDIiwgIkRpZ2l0YWwgTWl4ZXIifTsKLXN0YXRpYyBjb25zdCBjaGFyICp1 ZGExMzgwX3NlbF9uc1tdID0geyAiM3JkLW9yZGVyIiwgIjV0aC1vcmRlciIgfTsKLXN0YXRpYyBj b25zdCBjaGFyICp1ZGExMzgwX21peF9jb250cm9sW10gPSB7ICJvZmYiLCAiUENNIG9ubHkiLCAi YmVmb3JlIHNvdW5kIHByb2Nlc3NpbmciLCAiYWZ0ZXIgc291bmQgcHJvY2Vzc2luZyIgfTsKLXN0 YXRpYyBjb25zdCBjaGFyICp1ZGExMzgwX3NkZXRfc2V0dGluZ1tdID0geyAiMzIwMCIsICI0ODAw IiwgIjk2MDAiLCAiMTkyMDAiIH07Ci1zdGF0aWMgY29uc3QgY2hhciAqdWRhMTM4MF9vc19zZXR0 aW5nW10gPSB7ICJzaW5nbGUtc3BlZWQiLCAiZG91YmxlLXNwZWVkIChubyBtaXhpbmcpIiwgInF1 YWQtc3BlZWQgKG5vIG1peGluZykiIH07CitzdGF0aWMgY29uc3QgY2hhciAqdWRhMTM4MF9kZWVt cFtdID0geworCSJOb25lIiwKKwkiMzJrSHoiLAorCSI0NC4xa0h6IiwKKwkiNDhrSHoiLAorCSI5 NmtIeiIsCit9Oworc3RhdGljIGNvbnN0IGNoYXIgKnVkYTEzODBfaW5wdXRfc2VsW10gPSB7CisJ IkxpbmUiLAorCSJNaWMgKyBMaW5lIFIiLAorCSJMaW5lIEwiLAorCSJNaWMiLAorfTsKK3N0YXRp YyBjb25zdCBjaGFyICp1ZGExMzgwX291dHB1dF9zZWxbXSA9IHsKKwkiREFDIiwKKwkiQW5hbG9n IE1peGVyIiwKK307CitzdGF0aWMgY29uc3QgY2hhciAqdWRhMTM4MF9zcGZfbW9kZVtdID0gewor CSJGbGF0IiwKKwkiTWluaW11bTEiLAorCSJNaW5pbXVtMiIsCisJIk1heGltdW0iCit9Oworc3Rh dGljIGNvbnN0IGNoYXIgKnVkYTEzODBfY2FwdHVyZV9zZWxbXSA9IHsKKwkiQURDIiwKKwkiRGln aXRhbCBNaXhlciIKK307CitzdGF0aWMgY29uc3QgY2hhciAqdWRhMTM4MF9zZWxfbnNbXSA9IHsK KwkiM3JkLW9yZGVyIiwKKwkiNXRoLW9yZGVyIgorfTsKK3N0YXRpYyBjb25zdCBjaGFyICp1ZGEx MzgwX21peF9jb250cm9sW10gPSB7CisJIm9mZiIsCisJIlBDTSBvbmx5IiwKKwkiYmVmb3JlIHNv dW5kIHByb2Nlc3NpbmciLAorCSJhZnRlciBzb3VuZCBwcm9jZXNzaW5nIgorfTsKK3N0YXRpYyBj b25zdCBjaGFyICp1ZGExMzgwX3NkZXRfc2V0dGluZ1tdID0geworCSIzMjAwIiwKKwkiNDgwMCIs CisJIjk2MDAiLAorCSIxOTIwMCIKK307CitzdGF0aWMgY29uc3QgY2hhciAqdWRhMTM4MF9vc19z ZXR0aW5nW10gPSB7CisJInNpbmdsZS1zcGVlZCIsCisJImRvdWJsZS1zcGVlZCAobm8gbWl4aW5n KSIsCisJInF1YWQtc3BlZWQgKG5vIG1peGluZykiCit9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0 IHNvY19lbnVtIHVkYTEzODBfZGVlbXBfZW51bVtdID0gewogCVNPQ19FTlVNX1NJTkdMRShVREEx MzgwX0RFRU1QLCA4LCA1LCB1ZGExMzgwX2RlZW1wKSwKQEAgLTE3OSwxNSArMjA0LDEzIEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2VudW0gdWRhMTM4MF9vc19lbnVtID0KIGludCBzbmRfc29j X2luZm9fdm9sc3dfczgoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsCiAJc3RydWN0IHNu ZF9jdGxfZWxlbV9pbmZvICp1aW5mbykKIHsKLQlpbnQgbWF4ID0gKGtjb250cm9sLT5wcml2YXRl X3ZhbHVlID4+IDE2KSAmIDB4ZmY7Ci0JaW50IG1pbiA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1 ZSA+PiAyNCkgJiAweGZmOwotCi0JLyogMDAwMDAwMDAgKDApIC4uLigtMC4yNSBkQikuLi4gMTEx MTEwMDAgKC03OCBkQiksIDExMTExMTAwIC1JTkYgKi8KKwlpbnQgbWF4ID0gKHNpZ25lZCBjaGFy KSgoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gMTYpICYgMHhmZik7CisJaW50IG1pbiA9IChz aWduZWQgY2hhcikoKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDI0KSAmIDB4ZmYpOwogCiAJ dWluZm8tPnR5cGUgPSBTTkRSVl9DVExfRUxFTV9UWVBFX0lOVEVHRVI7CiAJdWluZm8tPmNvdW50 ID0gMjsKLQl1aW5mby0+dmFsdWUuaW50ZWdlci5taW4gPSBtaW47Ci0JdWluZm8tPnZhbHVlLmlu dGVnZXIubWF4ID0gbWF4OworCXVpbmZvLT52YWx1ZS5pbnRlZ2VyLm1pbiA9IDA7CisJdWluZm8t PnZhbHVlLmludGVnZXIubWF4ID0gbWF4LW1pbjsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMjA1LDE0 ICsyMjgsMTMgQEAgaW50IHNuZF9zb2NfZ2V0X3ZvbHN3X3M4KHN0cnVjdCBzbmRfa2NvbnRyb2wg Kmtjb250cm9sLAogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNuZF9rY29udHJv bF9jaGlwKGtjb250cm9sKTsKIAlpbnQgcmVnID0ga2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgJiAw eGZmOwotCWludCBtYXggPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gMTYpICYgMHhmZjsK LQlpbnQgbWluID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDI0KSAmIDB4ZmY7CisJaW50 IG1pbiA9IChzaWduZWQgY2hhcikoKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDI0KSAmIDB4 ZmYpOworCWludCB2YWwgPSBzbmRfc29jX3JlYWQoY29kZWMsIHJlZyk7CiAKIAl1Y29udHJvbC0+ dmFsdWUuaW50ZWdlci52YWx1ZVswXSA9Ci0JCShzaWduZWQgY2hhcikoc25kX3NvY19yZWFkKGNv ZGVjLCByZWcpICYgMHhmZik7CisJCSgoc2lnbmVkIGNoYXIpKHZhbCAmIDB4ZmYpKS1taW47CiAJ dWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMV0gPQotCQkoc2lnbmVkIGNoYXIpKChzbmRf c29jX3JlYWQoY29kZWMsIHJlZykgPj4gOCkgJiAweGZmKTsKLQorCQkoKHNpZ25lZCBjaGFyKSgo dmFsID4+IDgpICYgMHhmZikpLW1pbjsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMjMwLDU2ICsyNTIs NjUgQEAgaW50IHNuZF9zb2NfcHV0X3ZvbHN3X3M4KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250 cm9sLAogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNuZF9rY29udHJvbF9jaGlw KGtjb250cm9sKTsKIAlpbnQgcmVnID0ga2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgJiAweGZmOwot CWludCBtYXggPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gMTYpICYgMHhmZjsKLQlpbnQg bWluID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDI0KSAmIDB4ZmY7Ci0JaW50IGVycjsK LQl1bnNpZ25lZCBzaG9ydCB2YWwsIHZhbDIsIHZhbF9tYXNrOwotCi0JdmFsID0gKHNpZ25lZCBj aGFyKXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdICYgMHhmZjsKLQl2YWwyID0gKHNp Z25lZCBjaGFyKXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzFdICYgMHhmZjsKLQl2YWwg fD0gdmFsMjw8ODsKLQllcnIgPSBzbmRfc29jX3VwZGF0ZV9iaXRzKGNvZGVjLCByZWcsIHZhbF9t YXNrLCB2YWwpOwotCXJldHVybiBlcnI7CisJaW50IG1pbiA9IChzaWduZWQgY2hhcikoKGtjb250 cm9sLT5wcml2YXRlX3ZhbHVlID4+IDI0KSAmIDB4ZmYpOworCXVuc2lnbmVkIHNob3J0IHZhbDsK KworCXZhbCA9ICh1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSttaW4pICYgMHhmZjsK Kwl2YWwgfD0gKCh1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVsxXSttaW4pICYgMHhmZikg PDwgODsKKworCXJldHVybiBzbmRfc29jX3VwZGF0ZV9iaXRzKGNvZGVjLCByZWcsIDB4ZmZmZiwg dmFsKTsKIH0KIAotREVDTEFSRV9UTFZfREJfU0NBTEUoYW1peF90bHYsIC00OTUwLCAxNTAsIDEp OwkvKiBmcm9tIC00OCBkQiBpbiAxLjUgZEIgc3RlcHMgKG11dGUgaW5zdGVhZCBvZiAtNDkuNSBk QikgKi8KKy8qCisgKiBmcm9tIC00OCBkQiBpbiAxLjUgZEIgc3RlcHMgKG11dGUgaW5zdGVhZCBv ZiAtNDkuNSBkQikKKyAqLworREVDTEFSRV9UTFZfREJfU0NBTEUoYW1peF90bHYsIC00OTUwLCAx NTAsIDEpOwogCisvKgorICogZnJvbSAtNzggZEIgaW4gMSBkQiBzdGVwcyAoMyBkQiBzdGVwcywg cmVhbGx5LiBMU0IgYXJlIGlnbm9yZWQpLAorICogZnJvbSAtNjYgZEIgaW4gMC41IGRCIHN0ZXBz ICgyIGRCIHN0ZXBzLCByZWFsbHkpIGFuZAorICogZnJvbSAtNTIgZEIgaW4gMC4yNSBkQiBzdGVw cworICovCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IG12b2xfdGx2W10gPSB7CiAJVExWX0RC X1JBTkdFX0hFQUQoMyksCi0JMCwxNSwgVExWX0RCX1NDQUxFX0lURU0oLTgyMDAsIDEwMCwgMSks CS8qIGZyb20gLTc4IGRCIGluIDEgZEIgc3RlcHMgKDMgZEIgc3RlcHMsIHJlYWxseSkgKi8KLQkx Niw0MywgVExWX0RCX1NDQUxFX0lURU0oLTY2MDAsIDUwLCAwKSwJLyogZnJvbSAtNjYgZEIgaW4g MC41IGRCIHN0ZXBzICgyIGRCIHN0ZXBzLCByZWFsbHkpICovCi0JNDQsMjUyLCBUTFZfREJfU0NB TEVfSVRFTSgtNTIwMCwgMjUsIDApLAkvKiBmcm9tIC01MiBkQiBpbiAwLjI1IGRCIHN0ZXBzICov CisJMCwgMTUsIFRMVl9EQl9TQ0FMRV9JVEVNKC04MjAwLCAxMDAsIDEpLAorCTE2LCA0MywgVExW X0RCX1NDQUxFX0lURU0oLTY2MDAsIDUwLCAwKSwKKwk0NCwgMjUyLCBUTFZfREJfU0NBTEVfSVRF TSgtNTIwMCwgMjUsIDApLAogfTsKIAorLyoKKyAqIGZyb20gLTcyIGRCIGluIDEuNSBkQiBzdGVw cyAoNiBkQiBzdGVwcyByZWFsbHkpLAorICogZnJvbSAtNjYgZEIgaW4gMC43NSBkQiBzdGVwcyAo MyBkQiBzdGVwcyByZWFsbHkpLAorICogZnJvbSAtNjAgZEIgaW4gMC41IGRCIHN0ZXBzICgyIGRC IHN0ZXBzIHJlYWxseSkgYW5kCisgKiBmcm9tIC00NiBkQiBpbiAwLjI1IGRCIHN0ZXBzCisgKi8K IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgdmNfdGx2W10gPSB7CiAJVExWX0RCX1JBTkdFX0hF QUQoNCksCi0JMCw3LCBUTFZfREJfU0NBTEVfSVRFTSgtNzgwMCwgMTUwLCAxKSwJLyogZnJvbSAt NzIgZEIgaW4gMS41IGRCIHN0ZXBzICg2IGRCIHN0ZXBzIHJlYWxseSkgKi8KLQk4LDE1LCBUTFZf REJfU0NBTEVfSVRFTSgtNjYwMCwgNzUsIDApLAkvKiBmcm9tIC02NiBkQiBpbiAwLjc1IGRCIHN0 ZXBzICgzIGRCIHN0ZXBzIHJlYWxseSkgKi8KLQkxNiw0MywgVExWX0RCX1NDQUxFX0lURU0oLTYw MDAsIDUwLCAwKSwJLyogZnJvbSAtNjAgZEIgaW4gMC41IGRCIHN0ZXBzICgyIGRCIHN0ZXBzIHJl YWxseSkgKi8gCi0JNDQsMjI4LCBUTFZfREJfU0NBTEVfSVRFTSgtNDYwMCwgMjUsIDApLC8qIGZy b20gLTQ2IGRCIGluIDAuMjUgZEIgc3RlcHMgKi8KLX07Ci0KLURFQ0xBUkVfVExWX0RCX1NDQUxF KHRyX3RsdiwgMCwgMjAwLCAwKTsJLyogZnJvbSAwIGRCIHRvIDYgZEIgaW4gMiBkQiBzdGVwcywg aWYgU1BGIG1vZGUgIT0gZmxhdCAqLwotREVDTEFSRV9UTFZfREJfU0NBTEUoYmJfdGx2LCAwLCAy MDAsIDApOwkvKiBmcm9tIDAgZEIgdG8gMjQgZEIgaW4gMiBkQiBzdGVwcywgaWYgU1BGIG1vZGUg PT0gbWF4aW11bSAqLwotCQkJCQkJLyogKFNQRiBtb2RlID09IGZsYXQgY3V0cyBvZmYgYXQgMTgg ZEIgbWF4ICovCi0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgZGVjX3RsdltdID0gewotCVRM Vl9EQl9SQU5HRV9IRUFEKDEpLAotCS0xMjgsNDgsIFRMVl9EQl9TQ0FMRV9JVEVNKC02MzUwLCA1 MCwgMSksCi0JLyogMDAxMTAwMCAoNDggZEIpIC4uLigwLjUgZEIpLi4uIDEwMDAwMDAxICgtNjMg ZEIpIDEwMDAwMDAwIC1JTkYgKi8KKwkwLCA3LCBUTFZfREJfU0NBTEVfSVRFTSgtNzgwMCwgMTUw LCAxKSwKKwk4LCAxNSwgVExWX0RCX1NDQUxFX0lURU0oLTY2MDAsIDc1LCAwKSwKKwkxNiwgNDMs IFRMVl9EQl9TQ0FMRV9JVEVNKC02MDAwLCA1MCwgMCksCisJNDQsIDIyOCwgVExWX0RCX1NDQUxF X0lURU0oLTQ2MDAsIDI1LCAwKSwKIH07CiAKLURFQ0xBUkVfVExWX0RCX1NDQUxFKHBnYV90bHYs IDAsIDMwMCwgMCk7CS8qIGZyb20gMCBkQiB0byAyNCBkQiBpbiAzIGRCIHN0ZXBzICovCi1ERUNM QVJFX1RMVl9EQl9TQ0FMRSh2Z2FfdGx2LCAwLCAyMDAsIDApOwkvKiBmcm9tIDAgZEIgdG8gMzAg ZEIgaW4gMiBkQiBzdGVwcyAqLwotCitERUNMQVJFX1RMVl9EQl9TQ0FMRSh0cl90bHYsIDAsIDIw MCwgMCk7ICAvKiBmcm9tIDAgdG8gNiBkQiBpbiAyIGRCIHN0ZXBzCisJCQkJCSAgICAgaWYgU1BG IG1vZGUgIT0gZmxhdCAqLworREVDTEFSRV9UTFZfREJfU0NBTEUoYmJfdGx2LCAwLCAyMDAsIDAp OyAgLyogZnJvbSAwIHRvIDI0IGRCIGluIDIgZEIgc3RlcHMsCisJCQkJCSAgICAgaWYgU1BGIG1v ZGUgPT0gbWF4aW11bSwgb3RoZXJ3aXNlCisJCQkJCSAgICAgY3V0cyBvZmYgYXQgMTggZEIgbWF4 KSAqLworREVDTEFSRV9UTFZfREJfU0NBTEUoZGVjX3RsdiwgLTY0MDAsIDUwLCAxKTsgLyogZnJv bSAtNjMgdG8gMjQgZEIgaW4gMC41IGRCCisJCQkJCQlzdGVwcyAoLTEyOC4uLjQ4KSAqLworREVD TEFSRV9UTFZfREJfU0NBTEUocGdhX3RsdiwgMCwgMzAwLCAwKTsgLyogZnJvbSAwIHRvIDI0IGRC IGluIDMgZEIgc3RlcHMgKi8KK0RFQ0xBUkVfVExWX0RCX1NDQUxFKHZnYV90bHYsIDAsIDIwMCwg MCk7IC8qIGZyb20gMCB0byAzMCBkQiBpbiAyIGRCIHN0ZXBzICovCiAKICNkZWZpbmUgU09DX0RP VUJMRV9TOF9UTFYoeG5hbWUsIHJlZywgbWluLCBtYXgsIHRsdl9hcnJheSkgXAotewkuaWZhY2Ug PSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwgLm5hbWUgPSAoeG5hbWUpLFwKLQkuYWNjZXNz ID0gU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1RMVl9SRUFEfFNORFJWX0NUTF9FTEVNX0FDQ0VTU19S RUFEV1JJVEUsXAotCS50bHYucCA9ICh0bHZfYXJyYXkpLCBcCi0JLmluZm8gPSBzbmRfc29jX2lu Zm9fdm9sc3dfczgsIC5nZXQgPSBzbmRfc29jX2dldF92b2xzd19zOCwgXAotCS5wdXQgPSBzbmRf c29jX3B1dF92b2xzd19zOCwgXAotCS5wcml2YXRlX3ZhbHVlID0gKHJlZykgfCAoKChzaWduZWQg Y2hhciltYXgpIDw8IDE2KSB8ICgoKHNpZ25lZCBjaGFyKW1pbikgPDwgMjQpIH0KK3sJLmlmYWNl ICA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLCAubmFtZSA9ICh4bmFtZSksIFwKKwkuYWNj ZXNzID0gU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1RMVl9SRUFEIHwgXAorCQkgIFNORFJWX0NUTF9F TEVNX0FDQ0VTU19SRUFEV1JJVEUsIFwKKwkudGx2LnAgID0gKHRsdl9hcnJheSksIFwKKwkuaW5m byAgID0gc25kX3NvY19pbmZvX3ZvbHN3X3M4LCAuZ2V0ID0gc25kX3NvY19nZXRfdm9sc3dfczgs IFwKKwkucHV0ICAgID0gc25kX3NvY19wdXRfdm9sc3dfczgsIFwKKwkucHJpdmF0ZV92YWx1ZSA9 IChyZWcpIHwgKCgoc2lnbmVkIGNoYXIpbWF4KSA8PCAxNikgfCBcCisJCQkgKCgoc2lnbmVkIGNo YXIpbWluKSA8PCAyNCkgfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcg dWRhMTM4MF9zbmRfY29udHJvbHNbXSA9IHsKIAlTT0NfRE9VQkxFX1RMVigiQW5hbG9nIE1peGVy IFZvbHVtZSIsIFVEQTEzODBfQU1JWCwgMCwgOCwgNDQsIDEsIGFtaXhfdGx2KSwJLyogQVZDUiwg QVZDTCAqLwpAQCAtMzE0LDI0ICszNDUsNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29u dHJvbF9uZXcgdWRhMTM4MF9zbmRfY29udHJvbHNbXSA9IHsKIAlTT0NfU0lOR0xFKCJBR0MgU3dp dGNoIiwgVURBMTM4MF9BR0MsIDAsIDEsIDApLAogfTsKIAotLyoqCi0gKiB1ZGExMzgwX3NuZF9z b2NfY25ldwotICoKLSAqIHRlbXBvcmFyeSBjb3B5IG9mIHNuZF9zb2NfY25ldyB0aGF0IGRvZXNu J3Qgb3ZlcndyaXRlIC5hY2Nlc3MKLSAqLwotc3RydWN0IHNuZF9rY29udHJvbCAqdWRhMTM4MF9z bmRfc29jX2NuZXcoY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgKl90ZW1wbGF0ZSwKLQl2 b2lkICpkYXRhLCBjaGFyICpsb25nX25hbWUpCi17Ci0Jc3RydWN0IHNuZF9rY29udHJvbF9uZXcg dGVtcGxhdGU7Ci0KLQltZW1jcHkoJnRlbXBsYXRlLCBfdGVtcGxhdGUsIHNpemVvZih0ZW1wbGF0 ZSkpOwotCWlmIChsb25nX25hbWUpCi0JCXRlbXBsYXRlLm5hbWUgPSBsb25nX25hbWU7Ci0JdGVt cGxhdGUuaW5kZXggPSAwOwotCi0JcmV0dXJuIHNuZF9jdGxfbmV3MSgmdGVtcGxhdGUsIGRhdGEp OwotfQotCiAvKiBhZGQgbm9uIGRhcG0gY29udHJvbHMgKi8KIHN0YXRpYyBpbnQgdWRhMTM4MF9h ZGRfY29udHJvbHMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQogewpAQCAtMzM5LDcgKzM1 Miw3IEBAIHN0YXRpYyBpbnQgdWRhMTM4MF9hZGRfY29udHJvbHMoc3RydWN0IHNuZF9zb2NfY29k ZWMgKmNvZGVjKQogCiAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodWRhMTM4MF9zbmRfY29u dHJvbHMpOyBpKyspIHsKIAkJZXJyID0gc25kX2N0bF9hZGQoY29kZWMtPmNhcmQsCi0JCQl1ZGEx MzgwX3NuZF9zb2NfY25ldygmdWRhMTM4MF9zbmRfY29udHJvbHNbaV0sY29kZWMsIE5VTEwpKTsK KwkJCXNuZF9zb2NfY25ldygmdWRhMTM4MF9zbmRfY29udHJvbHNbaV0sIGNvZGVjLCBOVUxMKSk7 CiAJCWlmIChlcnIgPCAwKQogCQkJcmV0dXJuIGVycjsKIAl9CkBAIC00NDcsNyArNDYwLDcgQEAg c3RhdGljIGludCB1ZGExMzgwX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAq Y29kZWNfZGFpLAogCWludCBpZmFjZTsKIAkvKiBzZXQgdXAgREFJIGJhc2VkIHVwb24gZm10ICov CiAKLQlpZmFjZSA9IHVkYTEzODBfcmVhZF9yZWdfY2FjaGUgKGNvZGVjLCBVREExMzgwX0lGQUNF KTsKKwlpZmFjZSA9IHVkYTEzODBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFVEQTEzODBfSUZBQ0Up OwogCWlmYWNlICY9IH4oUjAxX1NGT1JJX01BU0sgfCBSMDFfU0lNIHwgUjAxX1NGT1JPX01BU0sp OwogCiAJLyogRklYTUU6IGhvdyB0byBzZWxlY3QgSTJTIGZvciBEQVRBTyBhbmQgTVNCIGZvciBE QVRBSSBjb3JyZWN0bHk/ICovCkBAIC00ODksMjIgKzUwMiwxNiBAQCBzdGF0aWMgaW50IHVkYTEz ODBfcGNtX3ByZXBhcmUoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCiAJfSBl bHNlIHsKIAkJcmVnX3N0YXJ0ID0gVURBMTM4MF9ERUM7CiAJCXJlZ19lbmQgPSBVREExMzgwX0FH QzsKLQkJLyogRklYTUUgLSB3aW5jZSB2YWx1ZXMgKi8KLS8vCQl1ZGExMzgwX3dyaXRlKGNvZGVj LCBVREExMzgwX1BNLCB1ZGExMzgwX3JlYWRfcmVnX2NhY2hlIChjb2RlYywgVURBMTM4MF9QTSkg fCBSMDJfUE9OX0xOQSB8IFIwMl9QT05fREFDKTsKLQkJdWRhMTM4MF93cml0ZShjb2RlYywgVURB MTM4MF9QTSwgMHg4NTFmKTsKLS8vCQl1ZGExMzgwX3dyaXRlX3JlZ19jYWNoZShjb2RlYywgVURB MTM4MF9ERUMsIDB4MDAwMCk7Ci0vLwkJdWRhMTM4MF93cml0ZV9yZWdfY2FjaGUoY29kZWMsIFVE QTEzODBfUEdBLCB1ZGExMzgwX3JlYWRfcmVnX2NhY2hlIChjb2RlYywgVURBMTM4MF9QTSkgJiB+ UjIxX01UX0FEQyk7IC8qIHVubXV0ZSAqLwotLy8JCXVkYTEzODBfd3JpdGVfcmVnX2NhY2hlKGNv ZGVjLCBVREExMzgwX0FEQywgMHgwMDAxLyoweDA5MGQqLyk7Ci0JCQkvLyBBRENfUE9MX0lOVj0w IFZHQV9DVFJMPTkoMTAwMToxOGRCKSBnYWluIFNFTF9MTkE9MSBTRUxfTUlDPTEgRU5fRENGSUw9 MQogCX0KIAogCS8qIEZJWE1FIGRpc2FibGUgREFDX0NMSyAqLwotCWNsayA9IHVkYTEzODBfcmVh ZF9yZWdfY2FjaGUgKGNvZGVjLCAwMCk7CisJY2xrID0gdWRhMTM4MF9yZWFkX3JlZ19jYWNoZShj b2RlYywgVURBMTM4MF9DTEspOwogCXVkYTEzODBfd3JpdGUoY29kZWMsIFVEQTEzODBfQ0xLLCBj bGsgJiB+UjAwX0RBQ19DTEspOwogCi0JZm9yIChyZWcgPSByZWdfc3RhcnQ7IHJlZyA8PSByZWdf ZW5kOyByZWcrKyApIHsKLQkJZGJnKCJmbHVzaCByZWcgJXggdmFsICV4OiIscmVnLCB1ZGExMzgw X3JlYWRfcmVnX2NhY2hlIChjb2RlYywgcmVnKSk7Ci0JCXVkYTEzODBfd3JpdGUoY29kZWMsIHJl ZywgdWRhMTM4MF9yZWFkX3JlZ19jYWNoZSAoY29kZWMsIHJlZykpOworCWZvciAocmVnID0gcmVn X3N0YXJ0OyByZWcgPD0gcmVnX2VuZDsgcmVnKyspIHsKKwkJcHJfZGVidWcoInVkYTEzODA6IGZs dXNoIHJlZyAleCB2YWwgJXg6IiwgcmVnLAorCQkJCXVkYTEzODBfcmVhZF9yZWdfY2FjaGUoY29k ZWMsIHJlZykpOworCQl1ZGExMzgwX3dyaXRlKGNvZGVjLCByZWcsIHVkYTEzODBfcmVhZF9yZWdf Y2FjaGUoY29kZWMsIHJlZykpOwogCX0KIAogCS8qIEZJWE1FIGVuYWJsZSBEQUNfQ0xLICovCkBA IC02NDQsNyArNjUxLDcgQEAgc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpIHVkYTEzODBfZGFpW10g PSB7CiAJCS5zZXRfZm10ID0gdWRhMTM4MF9zZXRfZGFpX2ZtdCwKIAl9LAogfSwKLXsvKiBwbGF5 YmFjayBvbmx5ICAtIGR1YWwgaW50ZXJmYWNlICovCit7IC8qIHBsYXliYWNrIG9ubHkgLSBkdWFs IGludGVyZmFjZSAqLwogCS5uYW1lID0gIlVEQTEzODAiLAogCS5wbGF5YmFjayA9IHsKIAkJLnN0 cmVhbV9uYW1lID0gIlBsYXliYWNrIiwKQEAgLTcxNCw3ICs3MjEsNyBAQCBzdGF0aWMgaW50IHVk YTEzODBfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAKIC8qCiAgKiBpbml0 aWFsaXNlIHRoZSBVREExMzgwIGRyaXZlcgotICogcmVnaXN0ZXIgdGhlIG1peGVyIGFuZCBkc3Ag aW50ZXJmYWNlcyB3aXRoIHRoZSBrZXJuZWwKKyAqIHJlZ2lzdGVyIG1peGVyIGFuZCBkc3AgaW50 ZXJmYWNlcyB3aXRoIHRoZSBrZXJuZWwKICAqLwogc3RhdGljIGludCB1ZGExMzgwX2luaXQoc3Ry dWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYsIGludCBkYWNfY2xrKQogewpAQCAtNzI4LDE4ICs3 MzUsMTcgQEAgc3RhdGljIGludCB1ZGExMzgwX2luaXQoc3RydWN0IHNuZF9zb2NfZGV2aWNlICpz b2NkZXYsIGludCBkYWNfY2xrKQogCWNvZGVjLT5kYXBtX2V2ZW50ID0gdWRhMTM4MF9kYXBtX2V2 ZW50OwogCWNvZGVjLT5kYWkgPSB1ZGExMzgwX2RhaTsKIAljb2RlYy0+bnVtX2RhaSA9IEFSUkFZ X1NJWkUodWRhMTM4MF9kYWkpOwotCWNvZGVjLT5yZWdfY2FjaGVfc2l6ZSA9IHNpemVvZih1ZGEx MzgwX3JlZyk7CiAJY29kZWMtPnJlZ19jYWNoZSA9IGttZW1kdXAodWRhMTM4MF9yZWcsIHNpemVv Zih1ZGExMzgwX3JlZyksIEdGUF9LRVJORUwpOwotCiAJaWYgKGNvZGVjLT5yZWdfY2FjaGUgPT0g TlVMTCkKIAkJcmV0dXJuIC1FTk9NRU07Ci0KKwljb2RlYy0+cmVnX2NhY2hlX3NpemUgPSBzaXpl b2YodWRhMTM4MF9yZWcpOworCWNvZGVjLT5yZWdfY2FjaGVfc3RlcCA9IDI7CiAJdWRhMTM4MF9y ZXNldChjb2RlYyk7CiAKIAkvKiByZWdpc3RlciBwY21zICovCiAJcmV0ID0gc25kX3NvY19uZXdf cGNtcyhzb2NkZXYsIFNORFJWX0RFRkFVTFRfSURYMSwgU05EUlZfREVGQVVMVF9TVFIxKTsKLQlp ZihyZXQgPCAwKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAidWRhMTM4MDogZmFpbGVkIHRvIGNyZWF0 ZSBwY21zXG4iKTsKKwlpZiAocmV0IDwgMCkgeworCQlwcl9lcnIoInVkYTEzODA6IGZhaWxlZCB0 byBjcmVhdGUgcGNtc1xuIik7CiAJCWdvdG8gcGNtX2VycjsKIAl9CiAKQEAgLTc2MCw3ICs3NjYs NyBAQCBzdGF0aWMgaW50IHVkYTEzODBfaW5pdChzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2Rl diwgaW50IGRhY19jbGspCiAJdWRhMTM4MF9hZGRfd2lkZ2V0cyhjb2RlYyk7CiAJcmV0ID0gc25k X3NvY19yZWdpc3Rlcl9jYXJkKHNvY2Rldik7CiAJaWYgKHJldCA8IDApIHsKLQkJcHJpbnRrKEtF Uk5fRVJSICJ1ZGExMzgwOiBmYWlsZWQgdG8gcmVnaXN0ZXIgY2FyZFxuIik7CisJCXByX2Vycigi dWRhMTM4MDogZmFpbGVkIHRvIHJlZ2lzdGVyIGNhcmRcbiIpOwogCQlnb3RvIGNhcmRfZXJyOwog CX0KIApAQCAtODE1LDEzICs4MjEsMTMgQEAgc3RhdGljIGludCB1ZGExMzgwX2NvZGVjX3Byb2Jl KHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgaW50IGFkZHIsIGludCBraW5kKQogCiAJcmV0ID0g aTJjX2F0dGFjaF9jbGllbnQoaTJjKTsKIAlpZiAocmV0IDwgMCkgewotCQlwcmludGsoS0VSTl9F UlIgImZhaWxlZCB0byBhdHRhY2ggY29kZWMgYXQgYWRkciAleFxuIiwgYWRkcik7CisJCXByX2Vy cigidWRhMTM4MDogZmFpbGVkIHRvIGF0dGFjaCBjb2RlYyBhdCBhZGRyICV4XG4iLCBhZGRyKTsK IAkJZ290byBlcnI7CiAJfQogCiAJcmV0ID0gdWRhMTM4MF9pbml0KHNvY2Rldiwgc2V0dXAtPmRh Y19jbGspOwogCWlmIChyZXQgPCAwKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiZmFpbGVkIHRvIGlu aXRpYWxpc2UgVURBMTM4MFxuIik7CisJCXByX2VycigidWRhMTM4MDogZmFpbGVkIHRvIGluaXRp YWxpc2UgVURBMTM4MFxuIik7CiAJCWdvdG8gZXJyOwogCX0KIAlyZXR1cm4gcmV0OwpAQCAtODM0 LDcgKzg0MCw3IEBAIGVycjoKIAogc3RhdGljIGludCB1ZGExMzgwX2kyY19kZXRhY2goc3RydWN0 IGkyY19jbGllbnQgKmNsaWVudCkKIHsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlYyogY29kZWMgPSBp MmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMg PSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKIAlpMmNfZGV0YWNoX2NsaWVudChjbGllbnQp OwogCWtmcmVlKGNvZGVjLT5yZWdfY2FjaGUpOwogCWtmcmVlKGNsaWVudCk7CkBAIC04NDYsNyAr ODUyLDYgQEAgc3RhdGljIGludCB1ZGExMzgwX2kyY19hdHRhY2goc3RydWN0IGkyY19hZGFwdGVy ICphZGFwKQogCXJldHVybiBpMmNfcHJvYmUoYWRhcCwgJmFkZHJfZGF0YSwgdWRhMTM4MF9jb2Rl Y19wcm9iZSk7CiB9CiAKLS8qIGNvcmdpIGkyYyBjb2RlYyBjb250cm9sIGxheWVyICovCiBzdGF0 aWMgc3RydWN0IGkyY19kcml2ZXIgdWRhMTM4MF9pMmNfZHJpdmVyID0gewogCS5kcml2ZXIgPSB7 CiAJCS5uYW1lID0gICJVREExMzgwIEkyQyBDb2RlYyIsCkBAIC04NjgsMTAgKzg3MywxMCBAQCBz dGF0aWMgaW50IHVkYTEzODBfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIHsK IAlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBk ZXYpOwogCXN0cnVjdCB1ZGExMzgwX3NldHVwX2RhdGEgKnNldHVwOwotCXN0cnVjdCBzbmRfc29j X2NvZGVjKiBjb2RlYzsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWM7CiAJaW50IHJldCA9 IDA7CiAKLQlwcmludGsoS0VSTl9JTkZPICJVREExMzgwIEF1ZGlvIENvZGVjICVzIiwgVURBMTM4 MF9WRVJTSU9OKTsKKwlwcl9pbmZvKCJVREExMzgwIEF1ZGlvIENvZGVjICVzIiwgVURBMTM4MF9W RVJTSU9OKTsKIAogCXNldHVwID0gc29jZGV2LT5jb2RlY19kYXRhOwogCWNvZGVjID0ga3phbGxv YyhzaXplb2Yoc3RydWN0IHNuZF9zb2NfY29kZWMpLCBHRlBfS0VSTkVMKTsKQEAgLTkwMiwxNCAr OTA3LDE0IEBAIHN0YXRpYyBpbnQgdWRhMTM4MF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpwZGV2KQogc3RhdGljIGludCB1ZGExMzgwX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpwZGV2KQogewogCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0 X2RydmRhdGEocGRldik7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWMqIGNvZGVjID0gc29jZGV2LT5j b2RlYzsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOwogCiAJ aWYgKGNvZGVjLT5jb250cm9sX2RhdGEpCiAJCXVkYTEzODBfZGFwbV9ldmVudChjb2RlYywgU05E UlZfQ1RMX1BPV0VSX0QzY29sZCk7CiAKIAlzbmRfc29jX2ZyZWVfcGNtcyhzb2NkZXYpOwogCXNu ZF9zb2NfZGFwbV9mcmVlKHNvY2Rldik7Ci0jaWYgZGVmaW5lZCAoQ09ORklHX0kyQykgfHwgZGVm aW5lZCAoQ09ORklHX0kyQ19NT0RVTEUpCisjaWYgZGVmaW5lZChDT05GSUdfSTJDKSB8fCBkZWZp bmVkKENPTkZJR19JMkNfTU9EVUxFKQogCWkyY19kZWxfZHJpdmVyKCZ1ZGExMzgwX2kyY19kcml2 ZXIpOwogI2VuZGlmCiAJa2ZyZWUoY29kZWMpOwpAQCAtOTIzLDcgKzkyOCw2IEBAIHN0cnVjdCBz bmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X3VkYTEzODAgPSB7CiAJLnN1c3BlbmQg PSAJdWRhMTM4MF9zdXNwZW5kLAogCS5yZXN1bWUgPQl1ZGExMzgwX3Jlc3VtZSwKIH07Ci0KIEVY UE9SVF9TWU1CT0xfR1BMKHNvY19jb2RlY19kZXZfdWRhMTM4MCk7CiAKIE1PRFVMRV9BVVRIT1Io Ikdpb3JnaW8gUGFkcmluIik7Ci0tIAoxLjUuNS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KQWxzYS1kZXZlbCBtYWlsaW5nIGxpc3QKQWxzYS1kZXZl bEBhbHNhLXByb2plY3Qub3JnCmh0dHA6Ly9tYWlsbWFuLmFsc2EtcHJvamVjdC5vcmcvbWFpbG1h bi9saXN0aW5mby9hbHNhLWRldmVsCg==