From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: staging: typec: handle vendor defined part and modify drp toggling flow From: ShuFanLee Message-Id: <1519225343-2929-1-git-send-email-leechu729@gmail.com> Date: Wed, 21 Feb 2018 23:02:23 +0800 To: heikki.krogerus@linux.intel.com, linux@roeck-us.net, greg@kroah.com Cc: shufan_lee@richtek.com, cy_huang@richtek.com, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org List-ID: RnJvbTogU2h1RmFuTGVlIDxzaHVmYW5fbGVlQHJpY2h0ZWsuY29tPgoKSGFuZGxlIHZlbmRvciBk ZWZpbmVkIGJlaGF2aW9yIGluIHRjcGNpX2luaXQsIHRjcGNpX3NldF92Y29ubiBhbmQgZXhwb3J0 IHRjcGNpX2lycS4KTW9yZSBvcGVyYXRpb25zIGNhbiBiZSBleHRlbmRlZCBpbiB0Y3BjaV9kYXRh IGlmIG5lZWRlZC4KQWNjb3JkaW5nIHRvIFRDUENJIHNwZWNpZmljYXRpb24sIDQuNC41LjIgUk9M RV9DT05UUk9MLApUQ1BDIHNoYWxsIG5vdCBzdGFydCBEUlAgdG9nZ2xpbmcgdW50aWwgc3Vic2Vx dWVudGx5IHRoZSBUQ1BNCndyaXRlcyB0byB0aGUgQ09NTUFORCByZWdpc3RlciB0byBzdGFydCBE UlAgdG9nZ2xpbmcuCkRSUCB0b2dnbGluZyBmbG93IGlzIGNoYWduZWQgYXMgZm9sbG93aW5nOgog IC0gV3JpdGUgRFJQID0gMCAmIFJkL1JkCiAgLSBXcml0ZSBEUlAgPSAxCiAgLSBTZXQgTE9PSzRD T05ORUNUSU9OIGNvbW1hbmQKClNpZ25lZC1vZmYtYnk6IFNodUZhbkxlZSA8c2h1ZmFuX2xlZUBy aWNodGVrLmNvbT4KLS0tCiBkcml2ZXJzL3N0YWdpbmcvdHlwZWMvdGNwY2kuYyB8IDEyOCArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIGRyaXZlcnMvc3RhZ2luZy90 eXBlYy90Y3BjaS5oIHwgIDEzICsrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDExNSBpbnNlcnRpb25z KCspLCAyNiBkZWxldGlvbnMoLSkKCiBwYXRjaCBjaGFuZ2Vsb2dzIGJldHdlZW4gdjEgJiB2Mgog LSBSZW1vdmUgdW5uZWNlc3NhcnkgaTJjX2NsaWVudCBpbiB0aGUgc3RydWN0dXJlIG9mIHRjcGNp CiAtIFJlbmFtZSBzdHJ1Y3R1cmUgb2YgdGNwY2lfdmVuZG9yX2RhdGEgdG8gdGNwY2lfZGF0YQog LSBOb3QgZXhwb3J0aW5nIHRjcGNpIHJlYWQvd3JpdGUgd3JhcHBlcnMgYnV0IHJlZ2lzdGVyIGky YyByZWdtYXAgaW4gZ2x1ZSBkcml2ZXIKIC0gQWRkIHNldF92Y29ubiBvcHMgaW4gdGNwY2lfZGF0 YQogICAoSXQgaXMgbmVjZXNzYXJ5IGZvciBSVDE3MTFIIHRvIGVuYWJsZS9kaXNhYmxlIGlkbGUg bW9kZSBiZWZvcmUgZGlzYWJsaW5nL2VuYWJsaW5nIHZjb25uKQogLSBFeHBvcnQgdGNwY2lfaXJx IHNvIHRoYXQgdmVuZG9yIGNhbiBjYWxsIGl0IGluIHRoZWlyIG93biBJUlEgaGFuZGxlcgoKIHBh dGNoIGNoYW5nZWxvZ3MgYmV0d2VlbiB2MiAmIHYzCiAtIENoYW5nZSB0aGUgcmV0dXJuIHR5cGUg b2YgdGNwY2lfaXJxIGZyb20gaW50IHRvIGlycXJldHVybl90CgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9zdGFnaW5nL3R5cGVjL3RjcGNpLmMgYi9kcml2ZXJzL3N0YWdpbmcvdHlwZWMvdGNwY2kuYwpp bmRleCA5YmQ0NDEyLi40OTU5YzY5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3N0YWdpbmcvdHlwZWMv dGNwY2kuYworKysgYi9kcml2ZXJzL3N0YWdpbmcvdHlwZWMvdGNwY2kuYwpAQCAtMjEsNyArMjEs NiBAQAogCiBzdHJ1Y3QgdGNwY2kgewogCXN0cnVjdCBkZXZpY2UgKmRldjsKLQlzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50OwogCiAJc3RydWN0IHRjcG1fcG9ydCAqcG9ydDsKIApAQCAtMzAsNiAr MjksMTIgQEAgc3RydWN0IHRjcGNpIHsKIAlib29sIGNvbnRyb2xzX3ZidXM7CiAKIAlzdHJ1Y3Qg dGNwY19kZXYgdGNwYzsKKwlzdHJ1Y3QgdGNwY2lfZGF0YSAqZGF0YTsKK307CisKK3N0cnVjdCB0 Y3BjaV9jaGlwIHsKKwlzdHJ1Y3QgdGNwY2kgKnRjcGNpOworCXN0cnVjdCB0Y3BjaV9kYXRhIGRh dGE7CiB9OwogCiBzdGF0aWMgaW5saW5lIHN0cnVjdCB0Y3BjaSAqdGNwY190b190Y3BjaShzdHJ1 Y3QgdGNwY19kZXYgKnRjcGMpCkBAIC0zNyw4ICs0Miw3IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0 IHRjcGNpICp0Y3BjX3RvX3RjcGNpKHN0cnVjdCB0Y3BjX2RldiAqdGNwYykKIAlyZXR1cm4gY29u dGFpbmVyX29mKHRjcGMsIHN0cnVjdCB0Y3BjaSwgdGNwYyk7CiB9CiAKLXN0YXRpYyBpbnQgdGNw Y2lfcmVhZDE2KHN0cnVjdCB0Y3BjaSAqdGNwY2ksIHVuc2lnbmVkIGludCByZWcsCi0JCQl1MTYg KnZhbCkKK3N0YXRpYyBpbnQgdGNwY2lfcmVhZDE2KHN0cnVjdCB0Y3BjaSAqdGNwY2ksIHVuc2ln bmVkIGludCByZWcsIHUxNiAqdmFsKQogewogCXJldHVybiByZWdtYXBfcmF3X3JlYWQodGNwY2kt PnJlZ21hcCwgcmVnLCB2YWwsIHNpemVvZih1MTYpKTsKIH0KQEAgLTk4LDggKzEwMiwxMCBAQCBz dGF0aWMgaW50IHRjcGNpX3NldF9jYyhzdHJ1Y3QgdGNwY19kZXYgKnRjcGMsIGVudW0gdHlwZWNf Y2Nfc3RhdHVzIGNjKQogc3RhdGljIGludCB0Y3BjaV9zdGFydF9kcnBfdG9nZ2xpbmcoc3RydWN0 IHRjcGNfZGV2ICp0Y3BjLAogCQkJCSAgICBlbnVtIHR5cGVjX2NjX3N0YXR1cyBjYykKIHsKKwlp bnQgcmV0OwogCXN0cnVjdCB0Y3BjaSAqdGNwY2kgPSB0Y3BjX3RvX3RjcGNpKHRjcGMpOwotCXVu c2lnbmVkIGludCByZWcgPSBUQ1BDX1JPTEVfQ1RSTF9EUlA7CisJdW5zaWduZWQgaW50IHJlZyA9 IChUQ1BDX1JPTEVfQ1RSTF9DQ19SRCA8PCBUQ1BDX1JPTEVfQ1RSTF9DQzFfU0hJRlQpIHwKKwkJ CSAgIChUQ1BDX1JPTEVfQ1RSTF9DQ19SRCA8PCBUQ1BDX1JPTEVfQ1RSTF9DQzJfU0hJRlQpOwog CiAJc3dpdGNoIChjYykgewogCWRlZmF1bHQ6CkBAIC0xMTcsNyArMTIzLDE5IEBAIHN0YXRpYyBp bnQgdGNwY2lfc3RhcnRfZHJwX3RvZ2dsaW5nKHN0cnVjdCB0Y3BjX2RldiAqdGNwYywKIAkJYnJl YWs7CiAJfQogCi0JcmV0dXJuIHJlZ21hcF93cml0ZSh0Y3BjaS0+cmVnbWFwLCBUQ1BDX1JPTEVf Q1RSTCwgcmVnKTsKKwlyZXQgPSByZWdtYXBfd3JpdGUodGNwY2ktPnJlZ21hcCwgVENQQ19ST0xF X0NUUkwsIHJlZyk7CisJaWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7CisJdXNsZWVwX3Jhbmdl KDUwMCwgMTAwMCk7CisJcmVnIHw9IFRDUENfUk9MRV9DVFJMX0RSUDsKKwlyZXQgPSByZWdtYXBf d3JpdGUodGNwY2ktPnJlZ21hcCwgVENQQ19ST0xFX0NUUkwsIHJlZyk7CisJaWYgKHJldCA8IDAp CisJCXJldHVybiByZXQ7CisJcmV0ID0gcmVnbWFwX3dyaXRlKHRjcGNpLT5yZWdtYXAsIFRDUENf Q09NTUFORCwKKwkJCSAgIFRDUENfQ01EX0xPT0s0Q09OTkVDVElPTik7CisJaWYgKHJldCA8IDAp CisJCXJldHVybiByZXQ7CisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBlbnVtIHR5cGVjX2NjX3N0 YXR1cyB0Y3BjaV90b190eXBlY19jYyh1bnNpZ25lZCBpbnQgY2MsIGJvb2wgc2luaykKQEAgLTE3 OCw2ICsxOTYsMTYgQEAgc3RhdGljIGludCB0Y3BjaV9zZXRfdmNvbm4oc3RydWN0IHRjcGNfZGV2 ICp0Y3BjLCBib29sIGVuYWJsZSkKIAlzdHJ1Y3QgdGNwY2kgKnRjcGNpID0gdGNwY190b190Y3Bj aSh0Y3BjKTsKIAlpbnQgcmV0OwogCisJLyogSGFuZGxlIHZlbmRvciBzZXQgdmNvbm4gKi8KKwlp ZiAodGNwY2ktPmRhdGEpIHsKKwkJaWYgKHRjcGNpLT5kYXRhLT5zZXRfdmNvbm4pIHsKKwkJCXJl dCA9IHRjcGNpLT5kYXRhLT5zZXRfdmNvbm4odGNwY2ksIHRjcGNpLT5kYXRhLAorCQkJCQkJICAg ICBlbmFibGUpOworCQkJaWYgKHJldCA8IDApCisJCQkJcmV0dXJuIHJldDsKKwkJfQorCX0KKwog CXJldCA9IHJlZ21hcF93cml0ZSh0Y3BjaS0+cmVnbWFwLCBUQ1BDX1BPV0VSX0NUUkwsCiAJCQkg ICBlbmFibGUgPyBUQ1BDX1BPV0VSX0NUUkxfVkNPTk5fRU5BQkxFIDogMCk7CiAJaWYgKHJldCA8 IDApCkBAIC0zMjMsNiArMzUxLDE1IEBAIHN0YXRpYyBpbnQgdGNwY2lfaW5pdChzdHJ1Y3QgdGNw Y19kZXYgKnRjcGMpCiAJaWYgKHRpbWVfYWZ0ZXIoamlmZmllcywgdGltZW91dCkpCiAJCXJldHVy biAtRVRJTUVET1VUOwogCisJLyogSGFuZGxlIHZlbmRvciBpbml0ICovCisJaWYgKHRjcGNpLT5k YXRhKSB7CisJCWlmICh0Y3BjaS0+ZGF0YS0+aW5pdCkgeworCQkJcmV0ID0gdGNwY2ktPmRhdGEt PmluaXQodGNwY2ksIHRjcGNpLT5kYXRhKTsKKwkJCWlmIChyZXQgPCAwKQorCQkJCXJldHVybiBy ZXQ7CisJCX0KKwl9CisKIAkvKiBDbGVhciBhbGwgZXZlbnRzICovCiAJcmV0ID0gdGNwY2lfd3Jp dGUxNih0Y3BjaSwgVENQQ19BTEVSVCwgMHhmZmZmKTsKIAlpZiAocmV0IDwgMCkKQEAgLTM0NCw5 ICszODEsMTUgQEAgc3RhdGljIGludCB0Y3BjaV9pbml0KHN0cnVjdCB0Y3BjX2RldiAqdGNwYykK IAlyZXR1cm4gdGNwY2lfd3JpdGUxNih0Y3BjaSwgVENQQ19BTEVSVF9NQVNLLCByZWcpOwogfQog Ci1zdGF0aWMgaXJxcmV0dXJuX3QgdGNwY2lfaXJxKGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3N0 YXRpYyBpcnFyZXR1cm5fdCBfdGNwY2lfaXJxKGludCBpcnEsIHZvaWQgKmRldl9pZCkKIHsKIAlz dHJ1Y3QgdGNwY2kgKnRjcGNpID0gZGV2X2lkOworCisJcmV0dXJuIHRjcGNpX2lycSh0Y3BjaSk7 Cit9CisKK2lycXJldHVybl90IHRjcGNpX2lycShzdHJ1Y3QgdGNwY2kgKnRjcGNpKQorewogCXUx NiBzdGF0dXM7CiAKIAl0Y3BjaV9yZWFkMTYodGNwY2ksIFRDUENfQUxFUlQsICZzdGF0dXMpOwpA QCAtNDEyLDYgKzQ1NSw3IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCB0Y3BjaV9pcnEoaW50IGlycSwg dm9pZCAqZGV2X2lkKQogCiAJcmV0dXJuIElSUV9IQU5ETEVEOwogfQorRVhQT1JUX1NZTUJPTF9H UEwodGNwY2lfaXJxKTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfY29uZmlnIHRjcGNp X3JlZ21hcF9jb25maWcgPSB7CiAJLnJlZ19iaXRzID0gOCwKQEAgLTQzNSwyMiArNDc5LDE4IEBA IHN0YXRpYyBpbnQgdGNwY2lfcGFyc2VfY29uZmlnKHN0cnVjdCB0Y3BjaSAqdGNwY2kpCiAJcmV0 dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgdGNwY2lfcHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmNs aWVudCwKLQkJICAgICAgIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkICppMmNfaWQpCitzdHJ1 Y3QgdGNwY2kgKnRjcGNpX3JlZ2lzdGVyX3BvcnQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qg dGNwY2lfZGF0YSAqZGF0YSkKIHsKIAlzdHJ1Y3QgdGNwY2kgKnRjcGNpOwogCWludCBlcnI7CiAK LQl0Y3BjaSA9IGRldm1fa3phbGxvYygmY2xpZW50LT5kZXYsIHNpemVvZigqdGNwY2kpLCBHRlBf S0VSTkVMKTsKKwl0Y3BjaSA9IGRldm1fa3phbGxvYyhkZXYsIHNpemVvZigqdGNwY2kpLCBHRlBf S0VSTkVMKTsKIAlpZiAoIXRjcGNpKQotCQlyZXR1cm4gLUVOT01FTTsKKwkJcmV0dXJuIEVSUl9Q VFIoLUVOT01FTSk7CiAKLQl0Y3BjaS0+Y2xpZW50ID0gY2xpZW50OwotCXRjcGNpLT5kZXYgPSAm Y2xpZW50LT5kZXY7Ci0JaTJjX3NldF9jbGllbnRkYXRhKGNsaWVudCwgdGNwY2kpOwotCXRjcGNp LT5yZWdtYXAgPSBkZXZtX3JlZ21hcF9pbml0X2kyYyhjbGllbnQsICZ0Y3BjaV9yZWdtYXBfY29u ZmlnKTsKLQlpZiAoSVNfRVJSKHRjcGNpLT5yZWdtYXApKQotCQlyZXR1cm4gUFRSX0VSUih0Y3Bj aS0+cmVnbWFwKTsKKwl0Y3BjaS0+ZGV2ID0gZGV2OworCXRjcGNpLT5kYXRhID0gZGF0YTsKKwl0 Y3BjaS0+cmVnbWFwID0gZGF0YS0+cmVnbWFwOwogCiAJdGNwY2ktPnRjcGMuaW5pdCA9IHRjcGNp X2luaXQ7CiAJdGNwY2ktPnRjcGMuZ2V0X3ZidXMgPSB0Y3BjaV9nZXRfdmJ1czsKQEAgLTQ2Nywy NyArNTA3LDYzIEBAIHN0YXRpYyBpbnQgdGNwY2lfcHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmNs aWVudCwKIAogCWVyciA9IHRjcGNpX3BhcnNlX2NvbmZpZyh0Y3BjaSk7CiAJaWYgKGVyciA8IDAp Ci0JCXJldHVybiBlcnI7CisJCXJldHVybiBFUlJfUFRSKGVycik7CisKKwl0Y3BjaS0+cG9ydCA9 IHRjcG1fcmVnaXN0ZXJfcG9ydCh0Y3BjaS0+ZGV2LCAmdGNwY2ktPnRjcGMpOworCWlmIChQVFJf RVJSX09SX1pFUk8odGNwY2ktPnBvcnQpKQorCQlyZXR1cm4gRVJSX0NBU1QodGNwY2ktPnBvcnQp OwogCi0JLyogRGlzYWJsZSBjaGlwIGludGVycnVwdHMgKi8KLQl0Y3BjaV93cml0ZTE2KHRjcGNp LCBUQ1BDX0FMRVJUX01BU0ssIDApOworCXJldHVybiB0Y3BjaTsKK30KK0VYUE9SVF9TWU1CT0xf R1BMKHRjcGNpX3JlZ2lzdGVyX3BvcnQpOworCit2b2lkIHRjcGNpX3VucmVnaXN0ZXJfcG9ydChz dHJ1Y3QgdGNwY2kgKnRjcGNpKQoreworCXRjcG1fdW5yZWdpc3Rlcl9wb3J0KHRjcGNpLT5wb3J0 KTsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHRjcGNpX3VucmVnaXN0ZXJfcG9ydCk7CiAKLQllcnIg PSBkZXZtX3JlcXVlc3RfdGhyZWFkZWRfaXJxKHRjcGNpLT5kZXYsIGNsaWVudC0+aXJxLCBOVUxM LAotCQkJCQl0Y3BjaV9pcnEsCitzdGF0aWMgaW50IHRjcGNpX3Byb2JlKHN0cnVjdCBpMmNfY2xp ZW50ICpjbGllbnQsCisJCSAgICAgICBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCAqaTJjX2lk KQoreworCXN0cnVjdCB0Y3BjaV9jaGlwICpjaGlwOworCWludCBlcnI7CisJdTE2IHZhbCA9IDA7 CisKKwljaGlwID0gZGV2bV9remFsbG9jKCZjbGllbnQtPmRldiwgc2l6ZW9mKCpjaGlwKSwgR0ZQ X0tFUk5FTCk7CisJaWYgKCFjaGlwKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWNoaXAtPmRhdGEu cmVnbWFwID0gZGV2bV9yZWdtYXBfaW5pdF9pMmMoY2xpZW50LCAmdGNwY2lfcmVnbWFwX2NvbmZp Zyk7CisJaWYgKElTX0VSUihjaGlwLT5kYXRhLnJlZ21hcCkpCisJCXJldHVybiBQVFJfRVJSKGNo aXAtPmRhdGEucmVnbWFwKTsKKworCS8qIERpc2FibGUgY2hpcCBpbnRlcnJ1cHRzIGJlZm9yZSBy ZXF1ZXN0aW5nIGlycSAqLworCWVyciA9IHJlZ21hcF9yYXdfd3JpdGUoY2hpcC0+ZGF0YS5yZWdt YXAsIFRDUENfQUxFUlRfTUFTSywgJnZhbCwKKwkJCSAgICAgICBzaXplb2YodTE2KSk7CisJaWYg KGVyciA8IDApCisJCXJldHVybiBlcnI7CisKKwllcnIgPSBkZXZtX3JlcXVlc3RfdGhyZWFkZWRf aXJxKCZjbGllbnQtPmRldiwgY2xpZW50LT5pcnEsIE5VTEwsCisJCQkJCV90Y3BjaV9pcnEsCiAJ CQkJCUlSUUZfT05FU0hPVCB8IElSUUZfVFJJR0dFUl9MT1csCi0JCQkJCWRldl9uYW1lKHRjcGNp LT5kZXYpLCB0Y3BjaSk7CisJCQkJCWRldl9uYW1lKCZjbGllbnQtPmRldiksIGNoaXApOwogCWlm IChlcnIgPCAwKQogCQlyZXR1cm4gZXJyOwogCi0JdGNwY2ktPnBvcnQgPSB0Y3BtX3JlZ2lzdGVy X3BvcnQodGNwY2ktPmRldiwgJnRjcGNpLT50Y3BjKTsKLQlyZXR1cm4gUFRSX0VSUl9PUl9aRVJP KHRjcGNpLT5wb3J0KTsKKwljaGlwLT50Y3BjaSA9IHRjcGNpX3JlZ2lzdGVyX3BvcnQoJmNsaWVu dC0+ZGV2LCAmY2hpcC0+ZGF0YSk7CisJaWYgKFBUUl9FUlJfT1JfWkVSTyhjaGlwLT50Y3BjaSkp CisJCXJldHVybiBQVFJfRVJSKGNoaXAtPnRjcGNpKTsKKworCWkyY19zZXRfY2xpZW50ZGF0YShj bGllbnQsIGNoaXApOworCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IHRjcGNpX3JlbW92ZShz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQogewotCXN0cnVjdCB0Y3BjaSAqdGNwY2kgPSBpMmNf Z2V0X2NsaWVudGRhdGEoY2xpZW50KTsKKwlzdHJ1Y3QgdGNwY2lfY2hpcCAqY2hpcCA9IGkyY19n ZXRfY2xpZW50ZGF0YShjbGllbnQpOwogCi0JdGNwbV91bnJlZ2lzdGVyX3BvcnQodGNwY2ktPnBv cnQpOworCXRjcGNpX3VucmVnaXN0ZXJfcG9ydChjaGlwLT50Y3BjaSk7CiAKIAlyZXR1cm4gMDsK IH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy90eXBlYy90Y3BjaS5oIGIvZHJpdmVycy9z dGFnaW5nL3R5cGVjL3RjcGNpLmgKaW5kZXggZmRmYjA2Yy4uNDAwMjViMiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9zdGFnaW5nL3R5cGVjL3RjcGNpLmgKKysrIGIvZHJpdmVycy9zdGFnaW5nL3R5cGVj L3RjcGNpLmgKQEAgLTU5LDYgKzU5LDcgQEAKICNkZWZpbmUgVENQQ19QT1dFUl9DVFJMX1ZDT05O X0VOQUJMRQlCSVQoMCkKIAogI2RlZmluZSBUQ1BDX0NDX1NUQVRVUwkJCTB4MWQKKyNkZWZpbmUg VENQQ19DQ19TVEFUVVNfRFJQUlNUCQlCSVQoNSkKICNkZWZpbmUgVENQQ19DQ19TVEFUVVNfVEVS TQkJQklUKDQpCiAjZGVmaW5lIFRDUENfQ0NfU1RBVFVTX0NDMl9TSElGVAkyCiAjZGVmaW5lIFRD UENfQ0NfU1RBVFVTX0NDMl9NQVNLCQkweDMKQEAgLTEyMSw0ICsxMjIsMTYgQEAKICNkZWZpbmUg VENQQ19WQlVTX1ZPTFRBR0VfQUxBUk1fSElfQ0ZHCQkweDc2CiAjZGVmaW5lIFRDUENfVkJVU19W T0xUQUdFX0FMQVJNX0xPX0NGRwkJMHg3OAogCitzdHJ1Y3QgdGNwY2k7CitzdHJ1Y3QgdGNwY2lf ZGF0YSB7CisJc3RydWN0IHJlZ21hcCAqcmVnbWFwOworCWludCAoKmluaXQpKHN0cnVjdCB0Y3Bj aSAqdGNwY2ksIHN0cnVjdCB0Y3BjaV9kYXRhICpkYXRhKTsKKwlpbnQgKCpzZXRfdmNvbm4pKHN0 cnVjdCB0Y3BjaSAqdGNwY2ksIHN0cnVjdCB0Y3BjaV9kYXRhICpkYXRhLAorCQkJIGJvb2wgZW5h YmxlKTsKK307CisKK3N0cnVjdCB0Y3BjaSAqdGNwY2lfcmVnaXN0ZXJfcG9ydChzdHJ1Y3QgZGV2 aWNlICpkZXYsIHN0cnVjdCB0Y3BjaV9kYXRhICpkYXRhKTsKK3ZvaWQgdGNwY2lfdW5yZWdpc3Rl cl9wb3J0KHN0cnVjdCB0Y3BjaSAqdGNwY2kpOworaXJxcmV0dXJuX3QgdGNwY2lfaXJxKHN0cnVj dCB0Y3BjaSAqdGNwY2kpOworCiAjZW5kaWYgLyogX19MSU5VWF9VU0JfVENQQ0lfSCAqLwo=