From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anson Huang Subject: [PATCH V5 2/2] thermal: imx: add i.MX7 thermal sensor support Date: Thu, 1 Mar 2018 07:09:40 +0800 Message-ID: <1519859380-15878-2-git-send-email-Anson.Huang@nxp.com> References: <1519859380-15878-1-git-send-email-Anson.Huang@nxp.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1519859380-15878-1-git-send-email-Anson.Huang@nxp.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: leonard.crestez@nxp.com, rui.zhang@intel.com, edubezval@gmail.com, robh+dt@kernel.org, mark.rutland@arm.com, shawnguo@kernel.org, kernel@pengutronix.de, fabio.estevam@nxp.com, linux@armlinux.org.uk Cc: linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, Linux-imx@nxp.com, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org List-Id: devicetree@vger.kernel.org VGhpcyBwYXRjaCBhZGRzIGkuTVg3IHRoZXJtYWwgc2Vuc29yIHN1cHBvcnQsIG1vc3QKb2YgdGhl IGkuTVg3IHRoZXJtYWwgc2Vuc29yIGZ1bmN0aW9ucyBhcmUgc2FtZSB3aXRoCmkuTVg2IGV4Y2Vw dCB0aGUgcmVnaXN0ZXJzIG9mZnNldC9sYXlvdXQsIHNvIHdlIG1vdmUKdGhvc2UgcmVnaXN0ZXJz IG9mZnNldC9sYXlvdXQgZGVmaW5pdGlvbnMgdG8gc29jIGRhdGEKc3RydWN0dXJlLgoKaS5NWDcg dXNlcyBzaW5nbGUgY2FsaWJyYXRpb24gZGF0YSBAMjVDLCB0aGUgY2FsaWJyYXRpb24KZGF0YSBp cyBsb2NhdGVkIGF0IE9DT1RQIG9mZnNldCAweDRGMCwgYml0WzE3OjldLCB0aGUKZm9ybXVsYSBp cyBhcyBiZWxvdzoKClRtZWFzID0gKE5tZWFzIC0gbjEpICsgMjU7IG4xIGlzIHRoZSBmdXNlIHZh bHVlIGZvciAyNUMuCgpTaWduZWQtb2ZmLWJ5OiBBbnNvbiBIdWFuZyA8QW5zb24uSHVhbmdAbnhw LmNvbT4KU2lnbmVkLW9mZi1ieTogQmFpIFBpbmcgPHBpbmcuYmFpQG54cC5jb20+CkFja2VkLWJ5 OiBEb25nIEFpc2hlbmcgPGFpc2hlbmcuZG9uZ0BueHAuY29tPgpBY2tlZC1ieTogU2hhd24gR3Vv IDxzaGF3bmd1b0BrZXJuZWwub3JnPgotLS0KY2hhbmdlcyBzaW5jZSBWNDoKCWRyb3AgZGlyZWN0 IE9DT1RQIHJlZ2lzdGVyIGFjY2VzcyBmb3IgaS5teDdkIHNpbmNlIGl0IGlzIGEgbmV3IGFkZGVk IHBsYXRmb3JtLAoJb25seSBzdXBwb3J0IHJlYWRpbmcgb2NvdHAgdmFsdWVzIHRocm91Z2ggdGhl IG9jb3RwIG52bWVtIGRyaXZlciB3aGljaCBoYW5kbGVzIGNsb2NrLgogLi4uL2RldmljZXRyZWUv YmluZGluZ3MvdGhlcm1hbC9pbXgtdGhlcm1hbC50eHQgICAgfCAgIDkgKy0KIGRyaXZlcnMvdGhl cm1hbC9pbXhfdGhlcm1hbC5jICAgICAgICAgICAgICAgICAgICAgIHwgMjk1ICsrKysrKysrKysr KysrKystLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAyMzkgaW5zZXJ0aW9ucygrKSwgNjUgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3Ro ZXJtYWwvaW14LXRoZXJtYWwudHh0IGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdz L3RoZXJtYWwvaW14LXRoZXJtYWwudHh0CmluZGV4IDI4YmU1MWEuLjM4YmZmY2MgMTAwNjQ0Ci0t LSBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2lteC10aGVybWFs LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9pbXgt dGhlcm1hbC50eHQKQEAgLTEsOCArMSwxMyBAQAogKiBUZW1wZXJhdHVyZSBNb25pdG9yIChURU1Q TU9OKSBvbiBGcmVlc2NhbGUgaS5NWCBTb0NzCiAKIFJlcXVpcmVkIHByb3BlcnRpZXM6Ci0tIGNv bXBhdGlibGUgOiAiZnNsLGlteDZxLXRlbXBtb24iIGZvciBpLk1YNlEsICJmc2wsaW14NnN4LXRl bXBtb24iIGZvciBpLk1YNlNYLgotICBpLk1YNlNYIGhhcyB0d28gbW9yZSBJUlFzIHRoYW4gaS5N WDZRLCBvbmUgaXMgSVJRX0xPVyBhbmQgdGhlIG90aGVyIGlzIElSUV9QQU5JQywKKy0gY29tcGF0 aWJsZSA6IG11c3QgYmUgb25lIG9mIGZvbGxvd2luZzoKKyAgLSAiZnNsLGlteDZxLXRlbXBtb24i IGZvciBpLk1YNlEsCisgIC0gImZzbCxpbXg2c3gtdGVtcG1vbiIgZm9yIGkuTVg2U1gsCisgIC0g ImZzbCxpbXg3ZC10ZW1wbW9uIiBmb3IgaS5NWDdTL0QuCistIGludGVycnVwdHMgOiB0aGUgaW50 ZXJydXB0IG91dHB1dCBvZiB0aGUgY29udHJvbGxlcjoKKyAgaS5NWDZRIGhhcyBvbmUgSVJRIHdo aWNoIHdpbGwgYmUgdHJpZ2dlcmVkIHdoZW4gdGVtcGVyYXR1cmUgaXMgaGlnaGVyIHRoYW4gaGln aCB0aHJlc2hvbGQsCisgIGkuTVg2U1ggYW5kIGkuTVg3Uy9EIGhhdmUgdHdvIG1vcmUgSVJRcyB0 aGFuIGkuTVg2USwgb25lIGlzIElSUV9MT1cgYW5kIHRoZSBvdGhlciBpcyBJUlFfUEFOSUMsCiAg IHdoZW4gdGVtcGVyYXR1cmUgaXMgYmVsb3cgdGhhbiBsb3cgdGhyZXNob2xkLCBJUlFfTE9XIHdp bGwgYmUgdHJpZ2dlcmVkLCB3aGVuIHRlbXBlcmF0dXJlCiAgIGlzIGhpZ2hlciB0aGFuIHBhbmlj IHRocmVzaG9sZCwgc3lzdGVtIHdpbGwgYXV0byByZWJvb3QgYnkgU1JDIG1vZHVsZS4KIC0gZnNs LHRlbXBtb24gOiBwaGFuZGxlIHBvaW50ZXIgdG8gc3lzdGVtIGNvbnRyb2xsZXIgdGhhdCBjb250 YWlucyBURU1QTU9OCmRpZmYgLS1naXQgYS9kcml2ZXJzL3RoZXJtYWwvaW14X3RoZXJtYWwuYyBi L2RyaXZlcnMvdGhlcm1hbC9pbXhfdGhlcm1hbC5jCmluZGV4IGE2Nzc4MWIuLjU2OWQ0MWIgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvdGhlcm1hbC9pbXhfdGhlcm1hbC5jCisrKyBiL2RyaXZlcnMvdGhl cm1hbC9pbXhfdGhlcm1hbC5jCkBAIC0zMSwzNSArMzEsNTcgQEAKICNkZWZpbmUgUkVHX0NMUgkJ MHg4CiAjZGVmaW5lIFJFR19UT0cJCTB4YwogCi0jZGVmaW5lIE1JU0MwCQkJCTB4MDE1MAotI2Rl ZmluZSBNSVNDMF9SRUZUT1BfU0VMQklBU09GRgkJKDEgPDwgMykKLSNkZWZpbmUgTUlTQzEJCQkJ MHgwMTYwCi0jZGVmaW5lIE1JU0MxX0lSUV9URU1QSElHSAkJKDEgPDwgMjkpCisvKiBpLk1YNiBz cGVjaWZpYyAqLworI2RlZmluZSBJTVg2X01JU0MwCQkJCTB4MDE1MAorI2RlZmluZSBJTVg2X01J U0MwX1JFRlRPUF9TRUxCSUFTT0ZGCQkoMSA8PCAzKQorI2RlZmluZSBJTVg2X01JU0MxCQkJCTB4 MDE2MAorI2RlZmluZSBJTVg2X01JU0MxX0lSUV9URU1QSElHSAkJCSgxIDw8IDI5KQogLyogQmVs b3cgTE9XIGFuZCBQQU5JQyBiaXRzIGFyZSBvbmx5IGZvciBURU1QTU9OX0lNWDZTWCAqLwotI2Rl ZmluZSBNSVNDMV9JUlFfVEVNUExPVwkJKDEgPDwgMjgpCi0jZGVmaW5lIE1JU0MxX0lSUV9URU1Q UEFOSUMJCSgxIDw8IDI3KQotCi0jZGVmaW5lIFRFTVBTRU5TRTAJCQkweDAxODAKLSNkZWZpbmUg VEVNUFNFTlNFMF9BTEFSTV9WQUxVRV9TSElGVAkyMAotI2RlZmluZSBURU1QU0VOU0UwX0FMQVJN X1ZBTFVFX01BU0sJKDB4ZmZmIDw8IFRFTVBTRU5TRTBfQUxBUk1fVkFMVUVfU0hJRlQpCi0jZGVm aW5lIFRFTVBTRU5TRTBfVEVNUF9DTlRfU0hJRlQJOAotI2RlZmluZSBURU1QU0VOU0UwX1RFTVBf Q05UX01BU0sJKDB4ZmZmIDw8IFRFTVBTRU5TRTBfVEVNUF9DTlRfU0hJRlQpCi0jZGVmaW5lIFRF TVBTRU5TRTBfRklOSVNIRUQJCSgxIDw8IDIpCi0jZGVmaW5lIFRFTVBTRU5TRTBfTUVBU1VSRV9U RU1QCQkoMSA8PCAxKQotI2RlZmluZSBURU1QU0VOU0UwX1BPV0VSX0RPV04JCSgxIDw8IDApCi0K LSNkZWZpbmUgVEVNUFNFTlNFMQkJCTB4MDE5MAotI2RlZmluZSBURU1QU0VOU0UxX01FQVNVUkVf RlJFUQkJMHhmZmZmCi0vKiBCZWxvdyBURU1QU0VOU0UyIGlzIG9ubHkgZm9yIFRFTVBNT05fSU1Y NlNYICovCi0jZGVmaW5lIFRFTVBTRU5TRTIJCQkweDAyOTAKLSNkZWZpbmUgVEVNUFNFTlNFMl9M T1dfVkFMVUVfU0hJRlQJMAotI2RlZmluZSBURU1QU0VOU0UyX0xPV19WQUxVRV9NQVNLCTB4ZmZm Ci0jZGVmaW5lIFRFTVBTRU5TRTJfUEFOSUNfVkFMVUVfU0hJRlQJMTYKLSNkZWZpbmUgVEVNUFNF TlNFMl9QQU5JQ19WQUxVRV9NQVNLCTB4ZmZmMDAwMAorI2RlZmluZSBJTVg2X01JU0MxX0lSUV9U RU1QTE9XCQkJKDEgPDwgMjgpCisjZGVmaW5lIElNWDZfTUlTQzFfSVJRX1RFTVBQQU5JQwkJKDEg PDwgMjcpCisKKyNkZWZpbmUgSU1YNl9URU1QU0VOU0UwCQkJCTB4MDE4MAorI2RlZmluZSBJTVg2 X1RFTVBTRU5TRTBfQUxBUk1fVkFMVUVfU0hJRlQJMjAKKyNkZWZpbmUgSU1YNl9URU1QU0VOU0Uw X0FMQVJNX1ZBTFVFX01BU0sJKDB4ZmZmIDw8IDIwKQorI2RlZmluZSBJTVg2X1RFTVBTRU5TRTBf VEVNUF9DTlRfU0hJRlQJCTgKKyNkZWZpbmUgSU1YNl9URU1QU0VOU0UwX1RFTVBfQ05UX01BU0sJ CSgweGZmZiA8PCA4KQorI2RlZmluZSBJTVg2X1RFTVBTRU5TRTBfRklOSVNIRUQJCSgxIDw8IDIp CisjZGVmaW5lIElNWDZfVEVNUFNFTlNFMF9NRUFTVVJFX1RFTVAJCSgxIDw8IDEpCisjZGVmaW5l IElNWDZfVEVNUFNFTlNFMF9QT1dFUl9ET1dOCQkoMSA8PCAwKQorCisjZGVmaW5lIElNWDZfVEVN UFNFTlNFMQkJCQkweDAxOTAKKyNkZWZpbmUgSU1YNl9URU1QU0VOU0UxX01FQVNVUkVfRlJFUQkJ MHhmZmZmCisjZGVmaW5lIElNWDZfVEVNUFNFTlNFMV9NRUFTVVJFX0ZSRVFfU0hJRlQJMAogCiAj ZGVmaW5lIE9DT1RQX01FTTAJCQkweDA0ODAKICNkZWZpbmUgT0NPVFBfQU5BMQkJCTB4MDRlMAog CisvKiBCZWxvdyBURU1QU0VOU0UyIGlzIG9ubHkgZm9yIFRFTVBNT05fSU1YNlNYICovCisjZGVm aW5lIElNWDZfVEVNUFNFTlNFMgkJCQkweDAyOTAKKyNkZWZpbmUgSU1YNl9URU1QU0VOU0UyX0xP V19WQUxVRV9TSElGVAkJMAorI2RlZmluZSBJTVg2X1RFTVBTRU5TRTJfTE9XX1ZBTFVFX01BU0sJ CTB4ZmZmCisjZGVmaW5lIElNWDZfVEVNUFNFTlNFMl9QQU5JQ19WQUxVRV9TSElGVAkxNgorI2Rl ZmluZSBJTVg2X1RFTVBTRU5TRTJfUEFOSUNfVkFMVUVfTUFTSwkweGZmZjAwMDAKKworLyogaS5N WDcgc3BlY2lmaWMgKi8KKyNkZWZpbmUgSU1YN19BTkFESUdfRElHUFJPRwkJCTB4ODAwCisjZGVm aW5lIElNWDdfVEVNUFNFTlNFMAkJCQkweDMwMAorI2RlZmluZSBJTVg3X1RFTVBTRU5TRTBfUEFO SUNfQUxBUk1fU0hJRlQJMTgKKyNkZWZpbmUgSU1YN19URU1QU0VOU0UwX1BBTklDX0FMQVJNX01B U0sJKDB4MWZmIDw8IDE4KQorI2RlZmluZSBJTVg3X1RFTVBTRU5TRTBfSElHSF9BTEFSTV9TSElG VAk5CisjZGVmaW5lIElNWDdfVEVNUFNFTlNFMF9ISUdIX0FMQVJNX01BU0sJCSgweDFmZiA8PCA5 KQorI2RlZmluZSBJTVg3X1RFTVBTRU5TRTBfTE9XX0FMQVJNX1NISUZUCQkwCisjZGVmaW5lIElN WDdfVEVNUFNFTlNFMF9MT1dfQUxBUk1fTUFTSwkJMHgxZmYKKworI2RlZmluZSBJTVg3X1RFTVBT RU5TRTEJCQkJMHgzMTAKKyNkZWZpbmUgSU1YN19URU1QU0VOU0UxX01FQVNVUkVfRlJFUV9TSElG VAkxNgorI2RlZmluZSBJTVg3X1RFTVBTRU5TRTFfTUVBU1VSRV9GUkVRX01BU0sJKDB4ZmZmZiA8 PCAxNikKKyNkZWZpbmUgSU1YN19URU1QU0VOU0UxX0ZJTklTSEVECQkoMSA8PCAxMSkKKyNkZWZp bmUgSU1YN19URU1QU0VOU0UxX01FQVNVUkVfVEVNUAkJKDEgPDwgMTApCisjZGVmaW5lIElNWDdf VEVNUFNFTlNFMV9QT1dFUl9ET1dOCQkoMSA8PCA5KQorI2RlZmluZSBJTVg3X1RFTVBTRU5TRTFf VEVNUF9WQUxVRV9TSElGVAkwCisjZGVmaW5lIElNWDdfVEVNUFNFTlNFMV9URU1QX1ZBTFVFX01B U0sJCTB4MWZmCisKIC8qIFRoZSBkcml2ZXIgc3VwcG9ydHMgMSBwYXNzaXZlIHRyaXAgcG9pbnQg YW5kIDEgY3JpdGljYWwgdHJpcCBwb2ludCAqLwogZW51bSBpbXhfdGhlcm1hbF90cmlwIHsKIAlJ TVhfVFJJUF9QQVNTSVZFLApAQCAtNzIsMTcgKzk0LDExNCBAQCBlbnVtIGlteF90aGVybWFsX3Ry aXAgewogCiAjZGVmaW5lIFRFTVBNT05fSU1YNlEJCQkxCiAjZGVmaW5lIFRFTVBNT05fSU1YNlNY CQkJMgorI2RlZmluZSBURU1QTU9OX0lNWDdECQkJMwogCiBzdHJ1Y3QgdGhlcm1hbF9zb2NfZGF0 YSB7CiAJdTMyIHZlcnNpb247CisKKwl1MzIgc2Vuc29yX2N0cmw7CisJdTMyIHBvd2VyX2Rvd25f bWFzazsKKwl1MzIgbWVhc3VyZV90ZW1wX21hc2s7CisKKwl1MzIgbWVhc3VyZV9mcmVxX2N0cmw7 CisJdTMyIG1lYXN1cmVfZnJlcV9tYXNrOworCXUzMiBtZWFzdXJlX2ZyZXFfc2hpZnQ7CisKKwl1 MzIgdGVtcF9kYXRhOworCXUzMiB0ZW1wX3ZhbHVlX21hc2s7CisJdTMyIHRlbXBfdmFsdWVfc2hp ZnQ7CisJdTMyIHRlbXBfdmFsaWRfbWFzazsKKworCXUzMiBwYW5pY19hbGFybV9jdHJsOworCXUz MiBwYW5pY19hbGFybV9tYXNrOworCXUzMiBwYW5pY19hbGFybV9zaGlmdDsKKworCXUzMiBoaWdo X2FsYXJtX2N0cmw7CisJdTMyIGhpZ2hfYWxhcm1fbWFzazsKKwl1MzIgaGlnaF9hbGFybV9zaGlm dDsKKworCXUzMiBsb3dfYWxhcm1fY3RybDsKKwl1MzIgbG93X2FsYXJtX21hc2s7CisJdTMyIGxv d19hbGFybV9zaGlmdDsKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgdGhlcm1hbF9zb2NfZGF0YSB0aGVy bWFsX2lteDZxX2RhdGEgPSB7CiAJLnZlcnNpb24gPSBURU1QTU9OX0lNWDZRLAorCisJLnNlbnNv cl9jdHJsID0gSU1YNl9URU1QU0VOU0UwLAorCS5wb3dlcl9kb3duX21hc2sgPSBJTVg2X1RFTVBT RU5TRTBfUE9XRVJfRE9XTiwKKwkubWVhc3VyZV90ZW1wX21hc2sgPSBJTVg2X1RFTVBTRU5TRTBf TUVBU1VSRV9URU1QLAorCisJLm1lYXN1cmVfZnJlcV9jdHJsID0gSU1YNl9URU1QU0VOU0UxLAor CS5tZWFzdXJlX2ZyZXFfc2hpZnQgPSBJTVg2X1RFTVBTRU5TRTFfTUVBU1VSRV9GUkVRX1NISUZU LAorCS5tZWFzdXJlX2ZyZXFfbWFzayA9IElNWDZfVEVNUFNFTlNFMV9NRUFTVVJFX0ZSRVEsCisK KwkudGVtcF9kYXRhID0gSU1YNl9URU1QU0VOU0UwLAorCS50ZW1wX3ZhbHVlX21hc2sgPSBJTVg2 X1RFTVBTRU5TRTBfVEVNUF9DTlRfTUFTSywKKwkudGVtcF92YWx1ZV9zaGlmdCA9IElNWDZfVEVN UFNFTlNFMF9URU1QX0NOVF9TSElGVCwKKwkudGVtcF92YWxpZF9tYXNrID0gSU1YNl9URU1QU0VO U0UwX0ZJTklTSEVELAorCisJLmhpZ2hfYWxhcm1fY3RybCA9IElNWDZfVEVNUFNFTlNFMCwKKwku aGlnaF9hbGFybV9tYXNrID0gSU1YNl9URU1QU0VOU0UwX0FMQVJNX1ZBTFVFX01BU0ssCisJLmhp Z2hfYWxhcm1fc2hpZnQgPSBJTVg2X1RFTVBTRU5TRTBfQUxBUk1fVkFMVUVfU0hJRlQsCiB9Owog CiBzdGF0aWMgc3RydWN0IHRoZXJtYWxfc29jX2RhdGEgdGhlcm1hbF9pbXg2c3hfZGF0YSA9IHsK IAkudmVyc2lvbiA9IFRFTVBNT05fSU1YNlNYLAorCisJLnNlbnNvcl9jdHJsID0gSU1YNl9URU1Q U0VOU0UwLAorCS5wb3dlcl9kb3duX21hc2sgPSBJTVg2X1RFTVBTRU5TRTBfUE9XRVJfRE9XTiwK KwkubWVhc3VyZV90ZW1wX21hc2sgPSBJTVg2X1RFTVBTRU5TRTBfTUVBU1VSRV9URU1QLAorCisJ Lm1lYXN1cmVfZnJlcV9jdHJsID0gSU1YNl9URU1QU0VOU0UxLAorCS5tZWFzdXJlX2ZyZXFfc2hp ZnQgPSBJTVg2X1RFTVBTRU5TRTFfTUVBU1VSRV9GUkVRX1NISUZULAorCS5tZWFzdXJlX2ZyZXFf bWFzayA9IElNWDZfVEVNUFNFTlNFMV9NRUFTVVJFX0ZSRVEsCisKKwkudGVtcF9kYXRhID0gSU1Y Nl9URU1QU0VOU0UwLAorCS50ZW1wX3ZhbHVlX21hc2sgPSBJTVg2X1RFTVBTRU5TRTBfVEVNUF9D TlRfTUFTSywKKwkudGVtcF92YWx1ZV9zaGlmdCA9IElNWDZfVEVNUFNFTlNFMF9URU1QX0NOVF9T SElGVCwKKwkudGVtcF92YWxpZF9tYXNrID0gSU1YNl9URU1QU0VOU0UwX0ZJTklTSEVELAorCisJ LmhpZ2hfYWxhcm1fY3RybCA9IElNWDZfVEVNUFNFTlNFMCwKKwkuaGlnaF9hbGFybV9tYXNrID0g SU1YNl9URU1QU0VOU0UwX0FMQVJNX1ZBTFVFX01BU0ssCisJLmhpZ2hfYWxhcm1fc2hpZnQgPSBJ TVg2X1RFTVBTRU5TRTBfQUxBUk1fVkFMVUVfU0hJRlQsCisKKwkucGFuaWNfYWxhcm1fY3RybCA9 IElNWDZfVEVNUFNFTlNFMiwKKwkucGFuaWNfYWxhcm1fbWFzayA9IElNWDZfVEVNUFNFTlNFMl9Q QU5JQ19WQUxVRV9NQVNLLAorCS5wYW5pY19hbGFybV9zaGlmdCA9IElNWDZfVEVNUFNFTlNFMl9Q QU5JQ19WQUxVRV9TSElGVCwKKworCS5sb3dfYWxhcm1fY3RybCA9IElNWDZfVEVNUFNFTlNFMiwK KwkubG93X2FsYXJtX21hc2sgPSBJTVg2X1RFTVBTRU5TRTJfTE9XX1ZBTFVFX01BU0ssCisJLmxv d19hbGFybV9zaGlmdCA9IElNWDZfVEVNUFNFTlNFMl9MT1dfVkFMVUVfU0hJRlQsCit9OworCitz dGF0aWMgc3RydWN0IHRoZXJtYWxfc29jX2RhdGEgdGhlcm1hbF9pbXg3ZF9kYXRhID0geworCS52 ZXJzaW9uID0gVEVNUE1PTl9JTVg3RCwKKworCS5zZW5zb3JfY3RybCA9IElNWDdfVEVNUFNFTlNF MSwKKwkucG93ZXJfZG93bl9tYXNrID0gSU1YN19URU1QU0VOU0UxX1BPV0VSX0RPV04sCisJLm1l YXN1cmVfdGVtcF9tYXNrID0gSU1YN19URU1QU0VOU0UxX01FQVNVUkVfVEVNUCwKKworCS5tZWFz dXJlX2ZyZXFfY3RybCA9IElNWDdfVEVNUFNFTlNFMSwKKwkubWVhc3VyZV9mcmVxX3NoaWZ0ID0g SU1YN19URU1QU0VOU0UxX01FQVNVUkVfRlJFUV9TSElGVCwKKwkubWVhc3VyZV9mcmVxX21hc2sg PSBJTVg3X1RFTVBTRU5TRTFfTUVBU1VSRV9GUkVRX01BU0ssCisKKwkudGVtcF9kYXRhID0gSU1Y N19URU1QU0VOU0UxLAorCS50ZW1wX3ZhbHVlX21hc2sgPSBJTVg3X1RFTVBTRU5TRTFfVEVNUF9W QUxVRV9NQVNLLAorCS50ZW1wX3ZhbHVlX3NoaWZ0ID0gSU1YN19URU1QU0VOU0UxX1RFTVBfVkFM VUVfU0hJRlQsCisJLnRlbXBfdmFsaWRfbWFzayA9IElNWDdfVEVNUFNFTlNFMV9GSU5JU0hFRCwK KworCS5wYW5pY19hbGFybV9jdHJsID0gSU1YN19URU1QU0VOU0UxLAorCS5wYW5pY19hbGFybV9t YXNrID0gSU1YN19URU1QU0VOU0UwX1BBTklDX0FMQVJNX01BU0ssCisJLnBhbmljX2FsYXJtX3No aWZ0ID0gSU1YN19URU1QU0VOU0UwX1BBTklDX0FMQVJNX1NISUZULAorCisJLmhpZ2hfYWxhcm1f Y3RybCA9IElNWDdfVEVNUFNFTlNFMCwKKwkuaGlnaF9hbGFybV9tYXNrID0gSU1YN19URU1QU0VO U0UwX0hJR0hfQUxBUk1fTUFTSywKKwkuaGlnaF9hbGFybV9zaGlmdCA9IElNWDdfVEVNUFNFTlNF MF9ISUdIX0FMQVJNX1NISUZULAorCisJLmxvd19hbGFybV9jdHJsID0gSU1YN19URU1QU0VOU0Uw LAorCS5sb3dfYWxhcm1fbWFzayA9IElNWDdfVEVNUFNFTlNFMF9MT1dfQUxBUk1fTUFTSywKKwku bG93X2FsYXJtX3NoaWZ0ID0gSU1YN19URU1QU0VOU0UwX0xPV19BTEFSTV9TSElGVCwKIH07CiAK IHN0cnVjdCBpbXhfdGhlcm1hbF9kYXRhIHsKQEAgLTEwNywzMSArMjI2LDQyIEBAIHN0cnVjdCBp bXhfdGhlcm1hbF9kYXRhIHsKIHN0YXRpYyB2b2lkIGlteF9zZXRfcGFuaWNfdGVtcChzdHJ1Y3Qg aW14X3RoZXJtYWxfZGF0YSAqZGF0YSwKIAkJCSAgICAgICBpbnQgcGFuaWNfdGVtcCkKIHsKKwlj b25zdCBzdHJ1Y3QgdGhlcm1hbF9zb2NfZGF0YSAqc29jX2RhdGEgPSBkYXRhLT5zb2NkYXRhOwog CXN0cnVjdCByZWdtYXAgKm1hcCA9IGRhdGEtPnRlbXBtb247CiAJaW50IGNyaXRpY2FsX3ZhbHVl OwogCiAJY3JpdGljYWxfdmFsdWUgPSAoZGF0YS0+YzIgLSBwYW5pY190ZW1wKSAvIGRhdGEtPmMx OwotCXJlZ21hcF93cml0ZShtYXAsIFRFTVBTRU5TRTIgKyBSRUdfQ0xSLCBURU1QU0VOU0UyX1BB TklDX1ZBTFVFX01BU0spOwotCXJlZ21hcF93cml0ZShtYXAsIFRFTVBTRU5TRTIgKyBSRUdfU0VU LCBjcml0aWNhbF92YWx1ZSA8PAotCQkJVEVNUFNFTlNFMl9QQU5JQ19WQUxVRV9TSElGVCk7CisK KwlyZWdtYXBfd3JpdGUobWFwLCBzb2NfZGF0YS0+cGFuaWNfYWxhcm1fY3RybCArIFJFR19DTFIs CisJCSAgICAgc29jX2RhdGEtPnBhbmljX2FsYXJtX21hc2spOworCXJlZ21hcF93cml0ZShtYXAs IHNvY19kYXRhLT5wYW5pY19hbGFybV9jdHJsICsgUkVHX1NFVCwKKwkJICAgICBjcml0aWNhbF92 YWx1ZSA8PCBzb2NfZGF0YS0+cGFuaWNfYWxhcm1fc2hpZnQpOwogfQogCiBzdGF0aWMgdm9pZCBp bXhfc2V0X2FsYXJtX3RlbXAoc3RydWN0IGlteF90aGVybWFsX2RhdGEgKmRhdGEsCiAJCQkgICAg ICAgaW50IGFsYXJtX3RlbXApCiB7CiAJc3RydWN0IHJlZ21hcCAqbWFwID0gZGF0YS0+dGVtcG1v bjsKKwljb25zdCBzdHJ1Y3QgdGhlcm1hbF9zb2NfZGF0YSAqc29jX2RhdGEgPSBkYXRhLT5zb2Nk YXRhOwogCWludCBhbGFybV92YWx1ZTsKIAogCWRhdGEtPmFsYXJtX3RlbXAgPSBhbGFybV90ZW1w OwotCWFsYXJtX3ZhbHVlID0gKGRhdGEtPmMyIC0gYWxhcm1fdGVtcCkgLyBkYXRhLT5jMTsKLQly ZWdtYXBfd3JpdGUobWFwLCBURU1QU0VOU0UwICsgUkVHX0NMUiwgVEVNUFNFTlNFMF9BTEFSTV9W QUxVRV9NQVNLKTsKLQlyZWdtYXBfd3JpdGUobWFwLCBURU1QU0VOU0UwICsgUkVHX1NFVCwgYWxh cm1fdmFsdWUgPDwKLQkJCVRFTVBTRU5TRTBfQUxBUk1fVkFMVUVfU0hJRlQpOworCisJaWYgKGRh dGEtPnNvY2RhdGEtPnZlcnNpb24gPT0gVEVNUE1PTl9JTVg3RCkKKwkJYWxhcm1fdmFsdWUgPSBh bGFybV90ZW1wIC8gMTAwMCArIGRhdGEtPmMxIC0gMjU7CisJZWxzZQorCQlhbGFybV92YWx1ZSA9 IChkYXRhLT5jMiAtIGFsYXJtX3RlbXApIC8gZGF0YS0+YzE7CisKKwlyZWdtYXBfd3JpdGUobWFw LCBzb2NfZGF0YS0+aGlnaF9hbGFybV9jdHJsICsgUkVHX0NMUiwKKwkJICAgICBzb2NfZGF0YS0+ aGlnaF9hbGFybV9tYXNrKTsKKwlyZWdtYXBfd3JpdGUobWFwLCBzb2NfZGF0YS0+aGlnaF9hbGFy bV9jdHJsICsgUkVHX1NFVCwKKwkJICAgICBhbGFybV92YWx1ZSA8PCBzb2NfZGF0YS0+aGlnaF9h bGFybV9zaGlmdCk7CiB9CiAKIHN0YXRpYyBpbnQgaW14X2dldF90ZW1wKHN0cnVjdCB0aGVybWFs X3pvbmVfZGV2aWNlICp0eiwgaW50ICp0ZW1wKQogewogCXN0cnVjdCBpbXhfdGhlcm1hbF9kYXRh ICpkYXRhID0gdHotPmRldmRhdGE7CisJY29uc3Qgc3RydWN0IHRoZXJtYWxfc29jX2RhdGEgKnNv Y19kYXRhID0gZGF0YS0+c29jZGF0YTsKIAlzdHJ1Y3QgcmVnbWFwICptYXAgPSBkYXRhLT50ZW1w bW9uOwogCXVuc2lnbmVkIGludCBuX21lYXM7CiAJYm9vbCB3YWl0OwpAQCAtMTM5LDE2ICsyNjks MTggQEAgc3RhdGljIGludCBpbXhfZ2V0X3RlbXAoc3RydWN0IHRoZXJtYWxfem9uZV9kZXZpY2Ug KnR6LCBpbnQgKnRlbXApCiAKIAlpZiAoZGF0YS0+bW9kZSA9PSBUSEVSTUFMX0RFVklDRV9FTkFC TEVEKSB7CiAJCS8qIENoZWNrIGlmIGEgbWVhc3VyZW1lbnQgaXMgY3VycmVudGx5IGluIHByb2dy ZXNzICovCi0JCXJlZ21hcF9yZWFkKG1hcCwgVEVNUFNFTlNFMCwgJnZhbCk7Ci0JCXdhaXQgPSAh KHZhbCAmIFRFTVBTRU5TRTBfRklOSVNIRUQpOworCQlyZWdtYXBfcmVhZChtYXAsIHNvY19kYXRh LT50ZW1wX2RhdGEsICZ2YWwpOworCQl3YWl0ID0gISh2YWwgJiBzb2NfZGF0YS0+dGVtcF92YWxp ZF9tYXNrKTsKIAl9IGVsc2UgewogCQkvKgogCQkgKiBFdmVyeSB0aW1lIHdlIG1lYXN1cmUgdGhl IHRlbXBlcmF0dXJlLCB3ZSB3aWxsIHBvd2VyIG9uIHRoZQogCQkgKiB0ZW1wZXJhdHVyZSBzZW5z b3IsIGVuYWJsZSBtZWFzdXJlbWVudHMsIHRha2UgYSByZWFkaW5nLAogCQkgKiBkaXNhYmxlIG1l YXN1cmVtZW50cywgcG93ZXIgb2ZmIHRoZSB0ZW1wZXJhdHVyZSBzZW5zb3IuCiAJCSAqLwotCQly ZWdtYXBfd3JpdGUobWFwLCBURU1QU0VOU0UwICsgUkVHX0NMUiwgVEVNUFNFTlNFMF9QT1dFUl9E T1dOKTsKLQkJcmVnbWFwX3dyaXRlKG1hcCwgVEVNUFNFTlNFMCArIFJFR19TRVQsIFRFTVBTRU5T RTBfTUVBU1VSRV9URU1QKTsKKwkJcmVnbWFwX3dyaXRlKG1hcCwgc29jX2RhdGEtPnNlbnNvcl9j dHJsICsgUkVHX0NMUiwKKwkJCSAgICBzb2NfZGF0YS0+cG93ZXJfZG93bl9tYXNrKTsKKwkJcmVn bWFwX3dyaXRlKG1hcCwgc29jX2RhdGEtPnNlbnNvcl9jdHJsICsgUkVHX1NFVCwKKwkJCSAgICBz b2NfZGF0YS0+bWVhc3VyZV90ZW1wX21hc2spOwogCiAJCXdhaXQgPSB0cnVlOwogCX0KQEAgLTE2 MCwyMiArMjkyLDI4IEBAIHN0YXRpYyBpbnQgaW14X2dldF90ZW1wKHN0cnVjdCB0aGVybWFsX3pv bmVfZGV2aWNlICp0eiwgaW50ICp0ZW1wKQogCWlmICh3YWl0KQogCQl1c2xlZXBfcmFuZ2UoMjAs IDUwKTsKIAotCXJlZ21hcF9yZWFkKG1hcCwgVEVNUFNFTlNFMCwgJnZhbCk7CisJcmVnbWFwX3Jl YWQobWFwLCBzb2NfZGF0YS0+dGVtcF9kYXRhLCAmdmFsKTsKIAogCWlmIChkYXRhLT5tb2RlICE9 IFRIRVJNQUxfREVWSUNFX0VOQUJMRUQpIHsKLQkJcmVnbWFwX3dyaXRlKG1hcCwgVEVNUFNFTlNF MCArIFJFR19DTFIsIFRFTVBTRU5TRTBfTUVBU1VSRV9URU1QKTsKLQkJcmVnbWFwX3dyaXRlKG1h cCwgVEVNUFNFTlNFMCArIFJFR19TRVQsIFRFTVBTRU5TRTBfUE9XRVJfRE9XTik7CisJCXJlZ21h cF93cml0ZShtYXAsIHNvY19kYXRhLT5zZW5zb3JfY3RybCArIFJFR19DTFIsCisJCQkgICAgIHNv Y19kYXRhLT5tZWFzdXJlX3RlbXBfbWFzayk7CisJCXJlZ21hcF93cml0ZShtYXAsIHNvY19kYXRh LT5zZW5zb3JfY3RybCArIFJFR19TRVQsCisJCQkgICAgIHNvY19kYXRhLT5wb3dlcl9kb3duX21h c2spOwogCX0KIAotCWlmICgodmFsICYgVEVNUFNFTlNFMF9GSU5JU0hFRCkgPT0gMCkgeworCWlm ICgodmFsICYgc29jX2RhdGEtPnRlbXBfdmFsaWRfbWFzaykgPT0gMCkgewogCQlkZXZfZGJnKCZ0 ei0+ZGV2aWNlLCAidGVtcCBtZWFzdXJlbWVudCBuZXZlciBmaW5pc2hlZFxuIik7CiAJCXJldHVy biAtRUFHQUlOOwogCX0KIAotCW5fbWVhcyA9ICh2YWwgJiBURU1QU0VOU0UwX1RFTVBfQ05UX01B U0spID4+IFRFTVBTRU5TRTBfVEVNUF9DTlRfU0hJRlQ7CisJbl9tZWFzID0gKHZhbCAmIHNvY19k YXRhLT50ZW1wX3ZhbHVlX21hc2spCisJCT4+IHNvY19kYXRhLT50ZW1wX3ZhbHVlX3NoaWZ0Owog CiAJLyogU2VlIGlteF9pbml0X2NhbGliKCkgZm9yIGZvcm11bGEgZGVyaXZhdGlvbiAqLwotCSp0 ZW1wID0gZGF0YS0+YzIgLSBuX21lYXMgKiBkYXRhLT5jMTsKKwlpZiAoZGF0YS0+c29jZGF0YS0+ dmVyc2lvbiA9PSBURU1QTU9OX0lNWDdEKQorCQkqdGVtcCA9IChuX21lYXMgLSBkYXRhLT5jMSAr IDI1KSAqIDEwMDA7CisJZWxzZQorCQkqdGVtcCA9IGRhdGEtPmMyIC0gbl9tZWFzICogZGF0YS0+ YzE7CiAKIAkvKiBVcGRhdGUgYWxhcm0gdmFsdWUgdG8gbmV4dCBoaWdoZXIgdHJpcCBwb2ludCBm b3IgVEVNUE1PTl9JTVg2USAqLwogCWlmIChkYXRhLT5zb2NkYXRhLT52ZXJzaW9uID09IFRFTVBN T05fSU1YNlEpIHsKQEAgLTIxOSwyMSArMzU3LDI2IEBAIHN0YXRpYyBpbnQgaW14X3NldF9tb2Rl KHN0cnVjdCB0aGVybWFsX3pvbmVfZGV2aWNlICp0eiwKIHsKIAlzdHJ1Y3QgaW14X3RoZXJtYWxf ZGF0YSAqZGF0YSA9IHR6LT5kZXZkYXRhOwogCXN0cnVjdCByZWdtYXAgKm1hcCA9IGRhdGEtPnRl bXBtb247CisJY29uc3Qgc3RydWN0IHRoZXJtYWxfc29jX2RhdGEgKnNvY19kYXRhID0gZGF0YS0+ c29jZGF0YTsKIAogCWlmIChtb2RlID09IFRIRVJNQUxfREVWSUNFX0VOQUJMRUQpIHsKIAkJdHot PnBvbGxpbmdfZGVsYXkgPSBJTVhfUE9MTElOR19ERUxBWTsKIAkJdHotPnBhc3NpdmVfZGVsYXkg PSBJTVhfUEFTU0lWRV9ERUxBWTsKIAotCQlyZWdtYXBfd3JpdGUobWFwLCBURU1QU0VOU0UwICsg UkVHX0NMUiwgVEVNUFNFTlNFMF9QT1dFUl9ET1dOKTsKLQkJcmVnbWFwX3dyaXRlKG1hcCwgVEVN UFNFTlNFMCArIFJFR19TRVQsIFRFTVBTRU5TRTBfTUVBU1VSRV9URU1QKTsKKwkJcmVnbWFwX3dy aXRlKG1hcCwgc29jX2RhdGEtPnNlbnNvcl9jdHJsICsgUkVHX0NMUiwKKwkJCSAgICAgc29jX2Rh dGEtPnBvd2VyX2Rvd25fbWFzayk7CisJCXJlZ21hcF93cml0ZShtYXAsIHNvY19kYXRhLT5zZW5z b3JfY3RybCArIFJFR19TRVQsCisJCQkgICAgIHNvY19kYXRhLT5tZWFzdXJlX3RlbXBfbWFzayk7 CiAKIAkJaWYgKCFkYXRhLT5pcnFfZW5hYmxlZCkgewogCQkJZGF0YS0+aXJxX2VuYWJsZWQgPSB0 cnVlOwogCQkJZW5hYmxlX2lycShkYXRhLT5pcnEpOwogCQl9CiAJfSBlbHNlIHsKLQkJcmVnbWFw X3dyaXRlKG1hcCwgVEVNUFNFTlNFMCArIFJFR19DTFIsIFRFTVBTRU5TRTBfTUVBU1VSRV9URU1Q KTsKLQkJcmVnbWFwX3dyaXRlKG1hcCwgVEVNUFNFTlNFMCArIFJFR19TRVQsIFRFTVBTRU5TRTBf UE9XRVJfRE9XTik7CisJCXJlZ21hcF93cml0ZShtYXAsIHNvY19kYXRhLT5zZW5zb3JfY3RybCAr IFJFR19DTFIsCisJCQkgICAgIHNvY19kYXRhLT5tZWFzdXJlX3RlbXBfbWFzayk7CisJCXJlZ21h cF93cml0ZShtYXAsIHNvY19kYXRhLT5zZW5zb3JfY3RybCArIFJFR19TRVQsCisJCQkgICAgIHNv Y19kYXRhLT5wb3dlcl9kb3duX21hc2spOwogCiAJCXR6LT5wb2xsaW5nX2RlbGF5ID0gMDsKIAkJ dHotPnBhc3NpdmVfZGVsYXkgPSAwOwpAQCAtMzU1LDYgKzQ5OCwxNSBAQCBzdGF0aWMgaW50IGlt eF9pbml0X2NhbGliKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsIHUzMiBvY290cF9hbmEx KQogCX0KIAogCS8qCisJICogT24gaS5NWDdELCB3ZSBvbmx5IHVzZSB0aGUgY2FsaWJyYXRpb24g ZGF0YSBhdCAyNUMgdG8gZ2V0IHRoZSB0ZW1wLAorCSAqIFRtZWFzID0gKCBObWVhcyAtIG4xKSAr IDI1OyBuMSBpcyB0aGUgZnVzZSB2YWx1ZSBmb3IgMjVDLgorCSAqLworCWlmIChkYXRhLT5zb2Nk YXRhLT52ZXJzaW9uID09IFRFTVBNT05fSU1YN0QpIHsKKwkJZGF0YS0+YzEgPSAob2NvdHBfYW5h MSA+PiA5KSAmIDB4MWZmOworCQlyZXR1cm4gMDsKKwl9CisKKwkvKgogCSAqIFRoZSBzZW5zb3Ig aXMgY2FsaWJyYXRlZCBhdCAyNSDCsEMgKGFrYSBUMSkgYW5kIHRoZSB2YWx1ZSBtZWFzdXJlZAog CSAqIChha2EgTjEpIGF0IHRoaXMgdGVtcGVyYXR1cmUgaXMgcHJvdmlkZWQgaW4gYml0cyBbMzE6 MjBdIGluIHRoZQogCSAqIGkuTVgncyBPQ09UUCB2YWx1ZSBBTkExLgpAQCAtNDkyLDYgKzY0NCw3 IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBpbXhfdGhlcm1hbF9hbGFybV9pcnFfdGhyZWFkKGludCBp cnEsIHZvaWQgKmRldikKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG9mX2lteF90 aGVybWFsX21hdGNoW10gPSB7CiAJeyAuY29tcGF0aWJsZSA9ICJmc2wsaW14NnEtdGVtcG1vbiIs IC5kYXRhID0gJnRoZXJtYWxfaW14NnFfZGF0YSwgfSwKIAl7IC5jb21wYXRpYmxlID0gImZzbCxp bXg2c3gtdGVtcG1vbiIsIC5kYXRhID0gJnRoZXJtYWxfaW14NnN4X2RhdGEsIH0sCisJeyAuY29t cGF0aWJsZSA9ICJmc2wsaW14N2QtdGVtcG1vbiIsIC5kYXRhID0gJnRoZXJtYWxfaW14N2RfZGF0 YSwgfSwKIAl7IC8qIGVuZCAqLyB9CiB9OwogTU9EVUxFX0RFVklDRV9UQUJMRShvZiwgb2ZfaW14 X3RoZXJtYWxfbWF0Y2gpOwpAQCAtNTIzLDE0ICs2NzYsMTUgQEAgc3RhdGljIGludCBpbXhfdGhl cm1hbF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCiAJLyogbWFrZSBzdXJl IHRoZSBJUlEgZmxhZyBpcyBjbGVhciBiZWZvcmUgZW5hYmxpbmcgaXJxIG9uIGkuTVg2U1ggKi8K IAlpZiAoZGF0YS0+c29jZGF0YS0+dmVyc2lvbiA9PSBURU1QTU9OX0lNWDZTWCkgewotCQlyZWdt YXBfd3JpdGUobWFwLCBNSVNDMSArIFJFR19DTFIsIE1JU0MxX0lSUV9URU1QSElHSCB8Ci0JCQlN SVNDMV9JUlFfVEVNUExPVyB8IE1JU0MxX0lSUV9URU1QUEFOSUMpOworCQlyZWdtYXBfd3JpdGUo bWFwLCBJTVg2X01JU0MxICsgUkVHX0NMUiwKKwkJCUlNWDZfTUlTQzFfSVJRX1RFTVBISUdIIHwg SU1YNl9NSVNDMV9JUlFfVEVNUExPVworCQkJfCBJTVg2X01JU0MxX0lSUV9URU1QUEFOSUMpOwog CQkvKgogCQkgKiByZXNldCB2YWx1ZSBvZiBMT1cgQUxBUk0gaXMgaW5jb3JyZWN0LCBzZXQgaXQg dG8gbG93ZXN0CiAJCSAqIHZhbHVlIHRvIGF2b2lkIGZhbHNlIHRyaWdnZXIgb2YgbG93IGFsYXJt LgogCQkgKi8KLQkJcmVnbWFwX3dyaXRlKG1hcCwgVEVNUFNFTlNFMiArIFJFR19TRVQsCi0JCQlU RU1QU0VOU0UyX0xPV19WQUxVRV9NQVNLKTsKKwkJcmVnbWFwX3dyaXRlKG1hcCwgZGF0YS0+c29j ZGF0YS0+bG93X2FsYXJtX2N0cmwgKyBSRUdfU0VULAorCQkJICAgICBkYXRhLT5zb2NkYXRhLT5s b3dfYWxhcm1fbWFzayk7CiAJfQogCiAJZGF0YS0+aXJxID0gcGxhdGZvcm1fZ2V0X2lycShwZGV2 LCAwKTsKQEAgLTU1NywxMSArNzExLDE3IEBAIHN0YXRpYyBpbnQgaW14X3RoZXJtYWxfcHJvYmUo c3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAl9CiAKIAkvKiBNYWtlIHN1cmUgc2Vuc29y IGlzIGluIGtub3duIGdvb2Qgc3RhdGUgZm9yIG1lYXN1cmVtZW50cyAqLwotCXJlZ21hcF93cml0 ZShtYXAsIFRFTVBTRU5TRTAgKyBSRUdfQ0xSLCBURU1QU0VOU0UwX1BPV0VSX0RPV04pOwotCXJl Z21hcF93cml0ZShtYXAsIFRFTVBTRU5TRTAgKyBSRUdfQ0xSLCBURU1QU0VOU0UwX01FQVNVUkVf VEVNUCk7Ci0JcmVnbWFwX3dyaXRlKG1hcCwgVEVNUFNFTlNFMSArIFJFR19DTFIsIFRFTVBTRU5T RTFfTUVBU1VSRV9GUkVRKTsKLQlyZWdtYXBfd3JpdGUobWFwLCBNSVNDMCArIFJFR19TRVQsIE1J U0MwX1JFRlRPUF9TRUxCSUFTT0ZGKTsKLQlyZWdtYXBfd3JpdGUobWFwLCBURU1QU0VOU0UwICsg UkVHX1NFVCwgVEVNUFNFTlNFMF9QT1dFUl9ET1dOKTsKKwlyZWdtYXBfd3JpdGUobWFwLCBkYXRh LT5zb2NkYXRhLT5zZW5zb3JfY3RybCArIFJFR19DTFIsCisJCSAgICAgZGF0YS0+c29jZGF0YS0+ cG93ZXJfZG93bl9tYXNrKTsKKwlyZWdtYXBfd3JpdGUobWFwLCBkYXRhLT5zb2NkYXRhLT5zZW5z b3JfY3RybCArIFJFR19DTFIsCisJCSAgICAgZGF0YS0+c29jZGF0YS0+bWVhc3VyZV90ZW1wX21h c2spOworCXJlZ21hcF93cml0ZShtYXAsIGRhdGEtPnNvY2RhdGEtPm1lYXN1cmVfZnJlcV9jdHJs ICsgUkVHX0NMUiwKKwkJICAgICBkYXRhLT5zb2NkYXRhLT5tZWFzdXJlX2ZyZXFfbWFzayk7CisJ aWYgKGRhdGEtPnNvY2RhdGEtPnZlcnNpb24gIT0gVEVNUE1PTl9JTVg3RCkKKwkJcmVnbWFwX3dy aXRlKG1hcCwgSU1YNl9NSVNDMCArIFJFR19TRVQsCisJCQlJTVg2X01JU0MwX1JFRlRPUF9TRUxC SUFTT0ZGKTsKKwlyZWdtYXBfd3JpdGUobWFwLCBkYXRhLT5zb2NkYXRhLT5zZW5zb3JfY3RybCAr IFJFR19TRVQsCisJCSAgICAgZGF0YS0+c29jZGF0YS0+cG93ZXJfZG93bl9tYXNrKTsKIAogCWRh dGEtPnBvbGljeSA9IGNwdWZyZXFfY3B1X2dldCgwKTsKIAlpZiAoIWRhdGEtPnBvbGljeSkgewpA QCAtNjI2LDE2ICs3ODYsMjAgQEAgc3RhdGljIGludCBpbXhfdGhlcm1hbF9wcm9iZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCQkgZGF0YS0+dGVtcF9wYXNzaXZlIC8gMTAwMCk7CiAK IAkvKiBFbmFibGUgbWVhc3VyZW1lbnRzIGF0IH4gMTAgSHogKi8KLQlyZWdtYXBfd3JpdGUobWFw LCBURU1QU0VOU0UxICsgUkVHX0NMUiwgVEVNUFNFTlNFMV9NRUFTVVJFX0ZSRVEpOworCXJlZ21h cF93cml0ZShtYXAsIGRhdGEtPnNvY2RhdGEtPm1lYXN1cmVfZnJlcV9jdHJsICsgUkVHX0NMUiwK KwkJICAgICBkYXRhLT5zb2NkYXRhLT5tZWFzdXJlX2ZyZXFfbWFzayk7CiAJbWVhc3VyZV9mcmVx ID0gRElWX1JPVU5EX1VQKDMyNzY4LCAxMCk7IC8qIDEwIEh6ICovCi0JcmVnbWFwX3dyaXRlKG1h cCwgVEVNUFNFTlNFMSArIFJFR19TRVQsIG1lYXN1cmVfZnJlcSk7CisJcmVnbWFwX3dyaXRlKG1h cCwgZGF0YS0+c29jZGF0YS0+bWVhc3VyZV9mcmVxX2N0cmwgKyBSRUdfU0VULAorCQkgICAgIG1l YXN1cmVfZnJlcSA8PCBkYXRhLT5zb2NkYXRhLT5tZWFzdXJlX2ZyZXFfc2hpZnQpOwogCWlteF9z ZXRfYWxhcm1fdGVtcChkYXRhLCBkYXRhLT50ZW1wX3Bhc3NpdmUpOwogCiAJaWYgKGRhdGEtPnNv Y2RhdGEtPnZlcnNpb24gPT0gVEVNUE1PTl9JTVg2U1gpCiAJCWlteF9zZXRfcGFuaWNfdGVtcChk YXRhLCBkYXRhLT50ZW1wX2NyaXRpY2FsKTsKIAotCXJlZ21hcF93cml0ZShtYXAsIFRFTVBTRU5T RTAgKyBSRUdfQ0xSLCBURU1QU0VOU0UwX1BPV0VSX0RPV04pOwotCXJlZ21hcF93cml0ZShtYXAs IFRFTVBTRU5TRTAgKyBSRUdfU0VULCBURU1QU0VOU0UwX01FQVNVUkVfVEVNUCk7CisJcmVnbWFw X3dyaXRlKG1hcCwgZGF0YS0+c29jZGF0YS0+c2Vuc29yX2N0cmwgKyBSRUdfQ0xSLAorCQkgICAg IGRhdGEtPnNvY2RhdGEtPnBvd2VyX2Rvd25fbWFzayk7CisJcmVnbWFwX3dyaXRlKG1hcCwgZGF0 YS0+c29jZGF0YS0+c2Vuc29yX2N0cmwgKyBSRUdfU0VULAorCQkgICAgIGRhdGEtPnNvY2RhdGEt Pm1lYXN1cmVfdGVtcF9tYXNrKTsKIAogCXJldCA9IGRldm1fcmVxdWVzdF90aHJlYWRlZF9pcnEo JnBkZXYtPmRldiwgZGF0YS0+aXJxLAogCQkJaW14X3RoZXJtYWxfYWxhcm1faXJxLCBpbXhfdGhl cm1hbF9hbGFybV9pcnFfdGhyZWFkLApAQCAtNjYxLDcgKzgyNSw4IEBAIHN0YXRpYyBpbnQgaW14 X3RoZXJtYWxfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJc3RydWN0IHJl Z21hcCAqbWFwID0gZGF0YS0+dGVtcG1vbjsKIAogCS8qIERpc2FibGUgbWVhc3VyZW1lbnRzICov Ci0JcmVnbWFwX3dyaXRlKG1hcCwgVEVNUFNFTlNFMCArIFJFR19TRVQsIFRFTVBTRU5TRTBfUE9X RVJfRE9XTik7CisJcmVnbWFwX3dyaXRlKG1hcCwgZGF0YS0+c29jZGF0YS0+c2Vuc29yX2N0cmwg KyBSRUdfU0VULAorCQkgICAgIGRhdGEtPnNvY2RhdGEtPnBvd2VyX2Rvd25fbWFzayk7CiAJaWYg KCFJU19FUlIoZGF0YS0+dGhlcm1hbF9jbGspKQogCQljbGtfZGlzYWJsZV91bnByZXBhcmUoZGF0 YS0+dGhlcm1hbF9jbGspOwogCkBAIC02ODQsOCArODQ5LDEwIEBAIHN0YXRpYyBpbnQgaW14X3Ro ZXJtYWxfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpCiAJICogdGVtcGVyYXR1cmUgd2lsbCBi ZSByZWFkIGFzIHRoZSB0aGVybWFsIHNlbnNvciBpcyBwb3dlcmVkCiAJICogZG93bi4KIAkgKi8K LQlyZWdtYXBfd3JpdGUobWFwLCBURU1QU0VOU0UwICsgUkVHX0NMUiwgVEVNUFNFTlNFMF9NRUFT VVJFX1RFTVApOwotCXJlZ21hcF93cml0ZShtYXAsIFRFTVBTRU5TRTAgKyBSRUdfU0VULCBURU1Q U0VOU0UwX1BPV0VSX0RPV04pOworCXJlZ21hcF93cml0ZShtYXAsIGRhdGEtPnNvY2RhdGEtPnNl bnNvcl9jdHJsICsgUkVHX0NMUiwKKwkJICAgICBkYXRhLT5zb2NkYXRhLT5tZWFzdXJlX3RlbXBf bWFzayk7CisJcmVnbWFwX3dyaXRlKG1hcCwgZGF0YS0+c29jZGF0YS0+c2Vuc29yX2N0cmwgKyBS RUdfU0VULAorCQkgICAgIGRhdGEtPnNvY2RhdGEtPnBvd2VyX2Rvd25fbWFzayk7CiAJZGF0YS0+ bW9kZSA9IFRIRVJNQUxfREVWSUNFX0RJU0FCTEVEOwogCWNsa19kaXNhYmxlX3VucHJlcGFyZShk YXRhLT50aGVybWFsX2Nsayk7CiAKQEAgLTcwMiw4ICs4NjksMTAgQEAgc3RhdGljIGludCBpbXhf dGhlcm1hbF9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2KQogCWlmIChyZXQpCiAJCXJldHVybiBy ZXQ7CiAJLyogRW5hYmxlZCB0aGVybWFsIHNlbnNvciBhZnRlciByZXN1bWUgKi8KLQlyZWdtYXBf d3JpdGUobWFwLCBURU1QU0VOU0UwICsgUkVHX0NMUiwgVEVNUFNFTlNFMF9QT1dFUl9ET1dOKTsK LQlyZWdtYXBfd3JpdGUobWFwLCBURU1QU0VOU0UwICsgUkVHX1NFVCwgVEVNUFNFTlNFMF9NRUFT VVJFX1RFTVApOworCXJlZ21hcF93cml0ZShtYXAsIGRhdGEtPnNvY2RhdGEtPnNlbnNvcl9jdHJs ICsgUkVHX0NMUiwKKwkJICAgICBkYXRhLT5zb2NkYXRhLT5wb3dlcl9kb3duX21hc2spOworCXJl Z21hcF93cml0ZShtYXAsIGRhdGEtPnNvY2RhdGEtPnNlbnNvcl9jdHJsICsgUkVHX1NFVCwKKwkJ ICAgICBkYXRhLT5zb2NkYXRhLT5tZWFzdXJlX3RlbXBfbWFzayk7CiAJZGF0YS0+bW9kZSA9IFRI RVJNQUxfREVWSUNFX0VOQUJMRUQ7CiAKIAlyZXR1cm4gMDsKLS0gCjIuNy40CgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBt YWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9s aXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=