From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anson Huang Subject: [PATCH V6 2/2] thermal: imx: add i.MX7 thermal sensor support Date: Fri, 2 Mar 2018 09:59:30 +0800 Message-ID: <1519955970-11365-2-git-send-email-Anson.Huang@nxp.com> References: <1519955970-11365-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: <1519955970-11365-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 IDxzaGF3bmd1b0BrZXJuZWwub3JnPgpSZXZpZXdlZC1ieTogUm9iIEhlcnJpbmcgPHJvYmhAa2Vy bmVsLm9yZz4KLS0tCmNoYW5nZXMgc2luY2UgVjU6CglubyBjb2RlIGNoYW5nZSwganVzdCBhZGQg UmV2aWV3ZWQtYnkuCiAuLi4vZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2lteC10aGVybWFs LnR4dCAgICB8ICAgOSArLQogZHJpdmVycy90aGVybWFsL2lteF90aGVybWFsLmMgICAgICAgICAg ICAgICAgICAgICAgfCAyOTUgKysrKysrKysrKysrKysrKy0tLS0tCiAyIGZpbGVzIGNoYW5nZWQs IDIzOSBpbnNlcnRpb25zKCspLCA2NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Eb2N1bWVu dGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9pbXgtdGhlcm1hbC50eHQgYi9Eb2N1 bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9pbXgtdGhlcm1hbC50eHQKaW5k ZXggMjhiZTUxYS4uMzhiZmZjYyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVl L2JpbmRpbmdzL3RoZXJtYWwvaW14LXRoZXJtYWwudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZGV2 aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2lteC10aGVybWFsLnR4dApAQCAtMSw4ICsxLDEzIEBA CiAqIFRlbXBlcmF0dXJlIE1vbml0b3IgKFRFTVBNT04pIG9uIEZyZWVzY2FsZSBpLk1YIFNvQ3MK IAogUmVxdWlyZWQgcHJvcGVydGllczoKLS0gY29tcGF0aWJsZSA6ICJmc2wsaW14NnEtdGVtcG1v biIgZm9yIGkuTVg2USwgImZzbCxpbXg2c3gtdGVtcG1vbiIgZm9yIGkuTVg2U1guCi0gIGkuTVg2 U1ggaGFzIHR3byBtb3JlIElSUXMgdGhhbiBpLk1YNlEsIG9uZSBpcyBJUlFfTE9XIGFuZCB0aGUg b3RoZXIgaXMgSVJRX1BBTklDLAorLSBjb21wYXRpYmxlIDogbXVzdCBiZSBvbmUgb2YgZm9sbG93 aW5nOgorICAtICJmc2wsaW14NnEtdGVtcG1vbiIgZm9yIGkuTVg2USwKKyAgLSAiZnNsLGlteDZz eC10ZW1wbW9uIiBmb3IgaS5NWDZTWCwKKyAgLSAiZnNsLGlteDdkLXRlbXBtb24iIGZvciBpLk1Y N1MvRC4KKy0gaW50ZXJydXB0cyA6IHRoZSBpbnRlcnJ1cHQgb3V0cHV0IG9mIHRoZSBjb250cm9s bGVyOgorICBpLk1YNlEgaGFzIG9uZSBJUlEgd2hpY2ggd2lsbCBiZSB0cmlnZ2VyZWQgd2hlbiB0 ZW1wZXJhdHVyZSBpcyBoaWdoZXIgdGhhbiBoaWdoIHRocmVzaG9sZCwKKyAgaS5NWDZTWCBhbmQg aS5NWDdTL0QgaGF2ZSB0d28gbW9yZSBJUlFzIHRoYW4gaS5NWDZRLCBvbmUgaXMgSVJRX0xPVyBh bmQgdGhlIG90aGVyIGlzIElSUV9QQU5JQywKICAgd2hlbiB0ZW1wZXJhdHVyZSBpcyBiZWxvdyB0 aGFuIGxvdyB0aHJlc2hvbGQsIElSUV9MT1cgd2lsbCBiZSB0cmlnZ2VyZWQsIHdoZW4gdGVtcGVy YXR1cmUKICAgaXMgaGlnaGVyIHRoYW4gcGFuaWMgdGhyZXNob2xkLCBzeXN0ZW0gd2lsbCBhdXRv IHJlYm9vdCBieSBTUkMgbW9kdWxlLgogLSBmc2wsdGVtcG1vbiA6IHBoYW5kbGUgcG9pbnRlciB0 byBzeXN0ZW0gY29udHJvbGxlciB0aGF0IGNvbnRhaW5zIFRFTVBNT04KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvdGhlcm1hbC9pbXhfdGhlcm1hbC5jIGIvZHJpdmVycy90aGVybWFsL2lteF90aGVybWFs LmMKaW5kZXggYTY3NzgxYi4uNTY5ZDQxYiAxMDA2NDQKLS0tIGEvZHJpdmVycy90aGVybWFsL2lt eF90aGVybWFsLmMKKysrIGIvZHJpdmVycy90aGVybWFsL2lteF90aGVybWFsLmMKQEAgLTMxLDM1 ICszMSw1NyBAQAogI2RlZmluZSBSRUdfQ0xSCQkweDgKICNkZWZpbmUgUkVHX1RPRwkJMHhjCiAK LSNkZWZpbmUgTUlTQzAJCQkJMHgwMTUwCi0jZGVmaW5lIE1JU0MwX1JFRlRPUF9TRUxCSUFTT0ZG CQkoMSA8PCAzKQotI2RlZmluZSBNSVNDMQkJCQkweDAxNjAKLSNkZWZpbmUgTUlTQzFfSVJRX1RF TVBISUdICQkoMSA8PCAyOSkKKy8qIGkuTVg2IHNwZWNpZmljICovCisjZGVmaW5lIElNWDZfTUlT QzAJCQkJMHgwMTUwCisjZGVmaW5lIElNWDZfTUlTQzBfUkVGVE9QX1NFTEJJQVNPRkYJCSgxIDw8 IDMpCisjZGVmaW5lIElNWDZfTUlTQzEJCQkJMHgwMTYwCisjZGVmaW5lIElNWDZfTUlTQzFfSVJR X1RFTVBISUdICQkJKDEgPDwgMjkpCiAvKiBCZWxvdyBMT1cgYW5kIFBBTklDIGJpdHMgYXJlIG9u bHkgZm9yIFRFTVBNT05fSU1YNlNYICovCi0jZGVmaW5lIE1JU0MxX0lSUV9URU1QTE9XCQkoMSA8 PCAyOCkKLSNkZWZpbmUgTUlTQzFfSVJRX1RFTVBQQU5JQwkJKDEgPDwgMjcpCi0KLSNkZWZpbmUg VEVNUFNFTlNFMAkJCTB4MDE4MAotI2RlZmluZSBURU1QU0VOU0UwX0FMQVJNX1ZBTFVFX1NISUZU CTIwCi0jZGVmaW5lIFRFTVBTRU5TRTBfQUxBUk1fVkFMVUVfTUFTSwkoMHhmZmYgPDwgVEVNUFNF TlNFMF9BTEFSTV9WQUxVRV9TSElGVCkKLSNkZWZpbmUgVEVNUFNFTlNFMF9URU1QX0NOVF9TSElG VAk4Ci0jZGVmaW5lIFRFTVBTRU5TRTBfVEVNUF9DTlRfTUFTSwkoMHhmZmYgPDwgVEVNUFNFTlNF MF9URU1QX0NOVF9TSElGVCkKLSNkZWZpbmUgVEVNUFNFTlNFMF9GSU5JU0hFRAkJKDEgPDwgMikK LSNkZWZpbmUgVEVNUFNFTlNFMF9NRUFTVVJFX1RFTVAJCSgxIDw8IDEpCi0jZGVmaW5lIFRFTVBT RU5TRTBfUE9XRVJfRE9XTgkJKDEgPDwgMCkKLQotI2RlZmluZSBURU1QU0VOU0UxCQkJMHgwMTkw Ci0jZGVmaW5lIFRFTVBTRU5TRTFfTUVBU1VSRV9GUkVRCQkweGZmZmYKLS8qIEJlbG93IFRFTVBT RU5TRTIgaXMgb25seSBmb3IgVEVNUE1PTl9JTVg2U1ggKi8KLSNkZWZpbmUgVEVNUFNFTlNFMgkJ CTB4MDI5MAotI2RlZmluZSBURU1QU0VOU0UyX0xPV19WQUxVRV9TSElGVAkwCi0jZGVmaW5lIFRF TVBTRU5TRTJfTE9XX1ZBTFVFX01BU0sJMHhmZmYKLSNkZWZpbmUgVEVNUFNFTlNFMl9QQU5JQ19W QUxVRV9TSElGVAkxNgotI2RlZmluZSBURU1QU0VOU0UyX1BBTklDX1ZBTFVFX01BU0sJMHhmZmYw MDAwCisjZGVmaW5lIElNWDZfTUlTQzFfSVJRX1RFTVBMT1cJCQkoMSA8PCAyOCkKKyNkZWZpbmUg SU1YNl9NSVNDMV9JUlFfVEVNUFBBTklDCQkoMSA8PCAyNykKKworI2RlZmluZSBJTVg2X1RFTVBT RU5TRTAJCQkJMHgwMTgwCisjZGVmaW5lIElNWDZfVEVNUFNFTlNFMF9BTEFSTV9WQUxVRV9TSElG VAkyMAorI2RlZmluZSBJTVg2X1RFTVBTRU5TRTBfQUxBUk1fVkFMVUVfTUFTSwkoMHhmZmYgPDwg MjApCisjZGVmaW5lIElNWDZfVEVNUFNFTlNFMF9URU1QX0NOVF9TSElGVAkJOAorI2RlZmluZSBJ TVg2X1RFTVBTRU5TRTBfVEVNUF9DTlRfTUFTSwkJKDB4ZmZmIDw8IDgpCisjZGVmaW5lIElNWDZf VEVNUFNFTlNFMF9GSU5JU0hFRAkJKDEgPDwgMikKKyNkZWZpbmUgSU1YNl9URU1QU0VOU0UwX01F QVNVUkVfVEVNUAkJKDEgPDwgMSkKKyNkZWZpbmUgSU1YNl9URU1QU0VOU0UwX1BPV0VSX0RPV04J CSgxIDw8IDApCisKKyNkZWZpbmUgSU1YNl9URU1QU0VOU0UxCQkJCTB4MDE5MAorI2RlZmluZSBJ TVg2X1RFTVBTRU5TRTFfTUVBU1VSRV9GUkVRCQkweGZmZmYKKyNkZWZpbmUgSU1YNl9URU1QU0VO U0UxX01FQVNVUkVfRlJFUV9TSElGVAkwCiAKICNkZWZpbmUgT0NPVFBfTUVNMAkJCTB4MDQ4MAog I2RlZmluZSBPQ09UUF9BTkExCQkJMHgwNGUwCiAKKy8qIEJlbG93IFRFTVBTRU5TRTIgaXMgb25s eSBmb3IgVEVNUE1PTl9JTVg2U1ggKi8KKyNkZWZpbmUgSU1YNl9URU1QU0VOU0UyCQkJCTB4MDI5 MAorI2RlZmluZSBJTVg2X1RFTVBTRU5TRTJfTE9XX1ZBTFVFX1NISUZUCQkwCisjZGVmaW5lIElN WDZfVEVNUFNFTlNFMl9MT1dfVkFMVUVfTUFTSwkJMHhmZmYKKyNkZWZpbmUgSU1YNl9URU1QU0VO U0UyX1BBTklDX1ZBTFVFX1NISUZUCTE2CisjZGVmaW5lIElNWDZfVEVNUFNFTlNFMl9QQU5JQ19W QUxVRV9NQVNLCTB4ZmZmMDAwMAorCisvKiBpLk1YNyBzcGVjaWZpYyAqLworI2RlZmluZSBJTVg3 X0FOQURJR19ESUdQUk9HCQkJMHg4MDAKKyNkZWZpbmUgSU1YN19URU1QU0VOU0UwCQkJCTB4MzAw CisjZGVmaW5lIElNWDdfVEVNUFNFTlNFMF9QQU5JQ19BTEFSTV9TSElGVAkxOAorI2RlZmluZSBJ TVg3X1RFTVBTRU5TRTBfUEFOSUNfQUxBUk1fTUFTSwkoMHgxZmYgPDwgMTgpCisjZGVmaW5lIElN WDdfVEVNUFNFTlNFMF9ISUdIX0FMQVJNX1NISUZUCTkKKyNkZWZpbmUgSU1YN19URU1QU0VOU0Uw X0hJR0hfQUxBUk1fTUFTSwkJKDB4MWZmIDw8IDkpCisjZGVmaW5lIElNWDdfVEVNUFNFTlNFMF9M T1dfQUxBUk1fU0hJRlQJCTAKKyNkZWZpbmUgSU1YN19URU1QU0VOU0UwX0xPV19BTEFSTV9NQVNL CQkweDFmZgorCisjZGVmaW5lIElNWDdfVEVNUFNFTlNFMQkJCQkweDMxMAorI2RlZmluZSBJTVg3 X1RFTVBTRU5TRTFfTUVBU1VSRV9GUkVRX1NISUZUCTE2CisjZGVmaW5lIElNWDdfVEVNUFNFTlNF MV9NRUFTVVJFX0ZSRVFfTUFTSwkoMHhmZmZmIDw8IDE2KQorI2RlZmluZSBJTVg3X1RFTVBTRU5T RTFfRklOSVNIRUQJCSgxIDw8IDExKQorI2RlZmluZSBJTVg3X1RFTVBTRU5TRTFfTUVBU1VSRV9U RU1QCQkoMSA8PCAxMCkKKyNkZWZpbmUgSU1YN19URU1QU0VOU0UxX1BPV0VSX0RPV04JCSgxIDw8 IDkpCisjZGVmaW5lIElNWDdfVEVNUFNFTlNFMV9URU1QX1ZBTFVFX1NISUZUCTAKKyNkZWZpbmUg SU1YN19URU1QU0VOU0UxX1RFTVBfVkFMVUVfTUFTSwkJMHgxZmYKKwogLyogVGhlIGRyaXZlciBz dXBwb3J0cyAxIHBhc3NpdmUgdHJpcCBwb2ludCBhbmQgMSBjcml0aWNhbCB0cmlwIHBvaW50ICov CiBlbnVtIGlteF90aGVybWFsX3RyaXAgewogCUlNWF9UUklQX1BBU1NJVkUsCkBAIC03MiwxNyAr OTQsMTE0IEBAIGVudW0gaW14X3RoZXJtYWxfdHJpcCB7CiAKICNkZWZpbmUgVEVNUE1PTl9JTVg2 UQkJCTEKICNkZWZpbmUgVEVNUE1PTl9JTVg2U1gJCQkyCisjZGVmaW5lIFRFTVBNT05fSU1YN0QJ CQkzCiAKIHN0cnVjdCB0aGVybWFsX3NvY19kYXRhIHsKIAl1MzIgdmVyc2lvbjsKKworCXUzMiBz ZW5zb3JfY3RybDsKKwl1MzIgcG93ZXJfZG93bl9tYXNrOworCXUzMiBtZWFzdXJlX3RlbXBfbWFz azsKKworCXUzMiBtZWFzdXJlX2ZyZXFfY3RybDsKKwl1MzIgbWVhc3VyZV9mcmVxX21hc2s7CisJ dTMyIG1lYXN1cmVfZnJlcV9zaGlmdDsKKworCXUzMiB0ZW1wX2RhdGE7CisJdTMyIHRlbXBfdmFs dWVfbWFzazsKKwl1MzIgdGVtcF92YWx1ZV9zaGlmdDsKKwl1MzIgdGVtcF92YWxpZF9tYXNrOwor CisJdTMyIHBhbmljX2FsYXJtX2N0cmw7CisJdTMyIHBhbmljX2FsYXJtX21hc2s7CisJdTMyIHBh bmljX2FsYXJtX3NoaWZ0OworCisJdTMyIGhpZ2hfYWxhcm1fY3RybDsKKwl1MzIgaGlnaF9hbGFy bV9tYXNrOworCXUzMiBoaWdoX2FsYXJtX3NoaWZ0OworCisJdTMyIGxvd19hbGFybV9jdHJsOwor CXUzMiBsb3dfYWxhcm1fbWFzazsKKwl1MzIgbG93X2FsYXJtX3NoaWZ0OwogfTsKIAogc3RhdGlj IHN0cnVjdCB0aGVybWFsX3NvY19kYXRhIHRoZXJtYWxfaW14NnFfZGF0YSA9IHsKIAkudmVyc2lv biA9IFRFTVBNT05fSU1YNlEsCisKKwkuc2Vuc29yX2N0cmwgPSBJTVg2X1RFTVBTRU5TRTAsCisJ LnBvd2VyX2Rvd25fbWFzayA9IElNWDZfVEVNUFNFTlNFMF9QT1dFUl9ET1dOLAorCS5tZWFzdXJl X3RlbXBfbWFzayA9IElNWDZfVEVNUFNFTlNFMF9NRUFTVVJFX1RFTVAsCisKKwkubWVhc3VyZV9m cmVxX2N0cmwgPSBJTVg2X1RFTVBTRU5TRTEsCisJLm1lYXN1cmVfZnJlcV9zaGlmdCA9IElNWDZf VEVNUFNFTlNFMV9NRUFTVVJFX0ZSRVFfU0hJRlQsCisJLm1lYXN1cmVfZnJlcV9tYXNrID0gSU1Y Nl9URU1QU0VOU0UxX01FQVNVUkVfRlJFUSwKKworCS50ZW1wX2RhdGEgPSBJTVg2X1RFTVBTRU5T RTAsCisJLnRlbXBfdmFsdWVfbWFzayA9IElNWDZfVEVNUFNFTlNFMF9URU1QX0NOVF9NQVNLLAor CS50ZW1wX3ZhbHVlX3NoaWZ0ID0gSU1YNl9URU1QU0VOU0UwX1RFTVBfQ05UX1NISUZULAorCS50 ZW1wX3ZhbGlkX21hc2sgPSBJTVg2X1RFTVBTRU5TRTBfRklOSVNIRUQsCisKKwkuaGlnaF9hbGFy bV9jdHJsID0gSU1YNl9URU1QU0VOU0UwLAorCS5oaWdoX2FsYXJtX21hc2sgPSBJTVg2X1RFTVBT RU5TRTBfQUxBUk1fVkFMVUVfTUFTSywKKwkuaGlnaF9hbGFybV9zaGlmdCA9IElNWDZfVEVNUFNF TlNFMF9BTEFSTV9WQUxVRV9TSElGVCwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgdGhlcm1hbF9zb2Nf ZGF0YSB0aGVybWFsX2lteDZzeF9kYXRhID0gewogCS52ZXJzaW9uID0gVEVNUE1PTl9JTVg2U1gs CisKKwkuc2Vuc29yX2N0cmwgPSBJTVg2X1RFTVBTRU5TRTAsCisJLnBvd2VyX2Rvd25fbWFzayA9 IElNWDZfVEVNUFNFTlNFMF9QT1dFUl9ET1dOLAorCS5tZWFzdXJlX3RlbXBfbWFzayA9IElNWDZf VEVNUFNFTlNFMF9NRUFTVVJFX1RFTVAsCisKKwkubWVhc3VyZV9mcmVxX2N0cmwgPSBJTVg2X1RF TVBTRU5TRTEsCisJLm1lYXN1cmVfZnJlcV9zaGlmdCA9IElNWDZfVEVNUFNFTlNFMV9NRUFTVVJF X0ZSRVFfU0hJRlQsCisJLm1lYXN1cmVfZnJlcV9tYXNrID0gSU1YNl9URU1QU0VOU0UxX01FQVNV UkVfRlJFUSwKKworCS50ZW1wX2RhdGEgPSBJTVg2X1RFTVBTRU5TRTAsCisJLnRlbXBfdmFsdWVf bWFzayA9IElNWDZfVEVNUFNFTlNFMF9URU1QX0NOVF9NQVNLLAorCS50ZW1wX3ZhbHVlX3NoaWZ0 ID0gSU1YNl9URU1QU0VOU0UwX1RFTVBfQ05UX1NISUZULAorCS50ZW1wX3ZhbGlkX21hc2sgPSBJ TVg2X1RFTVBTRU5TRTBfRklOSVNIRUQsCisKKwkuaGlnaF9hbGFybV9jdHJsID0gSU1YNl9URU1Q U0VOU0UwLAorCS5oaWdoX2FsYXJtX21hc2sgPSBJTVg2X1RFTVBTRU5TRTBfQUxBUk1fVkFMVUVf TUFTSywKKwkuaGlnaF9hbGFybV9zaGlmdCA9IElNWDZfVEVNUFNFTlNFMF9BTEFSTV9WQUxVRV9T SElGVCwKKworCS5wYW5pY19hbGFybV9jdHJsID0gSU1YNl9URU1QU0VOU0UyLAorCS5wYW5pY19h bGFybV9tYXNrID0gSU1YNl9URU1QU0VOU0UyX1BBTklDX1ZBTFVFX01BU0ssCisJLnBhbmljX2Fs YXJtX3NoaWZ0ID0gSU1YNl9URU1QU0VOU0UyX1BBTklDX1ZBTFVFX1NISUZULAorCisJLmxvd19h bGFybV9jdHJsID0gSU1YNl9URU1QU0VOU0UyLAorCS5sb3dfYWxhcm1fbWFzayA9IElNWDZfVEVN UFNFTlNFMl9MT1dfVkFMVUVfTUFTSywKKwkubG93X2FsYXJtX3NoaWZ0ID0gSU1YNl9URU1QU0VO U0UyX0xPV19WQUxVRV9TSElGVCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgdGhlcm1hbF9zb2NfZGF0 YSB0aGVybWFsX2lteDdkX2RhdGEgPSB7CisJLnZlcnNpb24gPSBURU1QTU9OX0lNWDdELAorCisJ LnNlbnNvcl9jdHJsID0gSU1YN19URU1QU0VOU0UxLAorCS5wb3dlcl9kb3duX21hc2sgPSBJTVg3 X1RFTVBTRU5TRTFfUE9XRVJfRE9XTiwKKwkubWVhc3VyZV90ZW1wX21hc2sgPSBJTVg3X1RFTVBT RU5TRTFfTUVBU1VSRV9URU1QLAorCisJLm1lYXN1cmVfZnJlcV9jdHJsID0gSU1YN19URU1QU0VO U0UxLAorCS5tZWFzdXJlX2ZyZXFfc2hpZnQgPSBJTVg3X1RFTVBTRU5TRTFfTUVBU1VSRV9GUkVR X1NISUZULAorCS5tZWFzdXJlX2ZyZXFfbWFzayA9IElNWDdfVEVNUFNFTlNFMV9NRUFTVVJFX0ZS RVFfTUFTSywKKworCS50ZW1wX2RhdGEgPSBJTVg3X1RFTVBTRU5TRTEsCisJLnRlbXBfdmFsdWVf bWFzayA9IElNWDdfVEVNUFNFTlNFMV9URU1QX1ZBTFVFX01BU0ssCisJLnRlbXBfdmFsdWVfc2hp ZnQgPSBJTVg3X1RFTVBTRU5TRTFfVEVNUF9WQUxVRV9TSElGVCwKKwkudGVtcF92YWxpZF9tYXNr ID0gSU1YN19URU1QU0VOU0UxX0ZJTklTSEVELAorCisJLnBhbmljX2FsYXJtX2N0cmwgPSBJTVg3 X1RFTVBTRU5TRTEsCisJLnBhbmljX2FsYXJtX21hc2sgPSBJTVg3X1RFTVBTRU5TRTBfUEFOSUNf QUxBUk1fTUFTSywKKwkucGFuaWNfYWxhcm1fc2hpZnQgPSBJTVg3X1RFTVBTRU5TRTBfUEFOSUNf QUxBUk1fU0hJRlQsCisKKwkuaGlnaF9hbGFybV9jdHJsID0gSU1YN19URU1QU0VOU0UwLAorCS5o aWdoX2FsYXJtX21hc2sgPSBJTVg3X1RFTVBTRU5TRTBfSElHSF9BTEFSTV9NQVNLLAorCS5oaWdo X2FsYXJtX3NoaWZ0ID0gSU1YN19URU1QU0VOU0UwX0hJR0hfQUxBUk1fU0hJRlQsCisKKwkubG93 X2FsYXJtX2N0cmwgPSBJTVg3X1RFTVBTRU5TRTAsCisJLmxvd19hbGFybV9tYXNrID0gSU1YN19U RU1QU0VOU0UwX0xPV19BTEFSTV9NQVNLLAorCS5sb3dfYWxhcm1fc2hpZnQgPSBJTVg3X1RFTVBT RU5TRTBfTE9XX0FMQVJNX1NISUZULAogfTsKIAogc3RydWN0IGlteF90aGVybWFsX2RhdGEgewpA QCAtMTA3LDMxICsyMjYsNDIgQEAgc3RydWN0IGlteF90aGVybWFsX2RhdGEgewogc3RhdGljIHZv aWQgaW14X3NldF9wYW5pY190ZW1wKHN0cnVjdCBpbXhfdGhlcm1hbF9kYXRhICpkYXRhLAogCQkJ ICAgICAgIGludCBwYW5pY190ZW1wKQogeworCWNvbnN0IHN0cnVjdCB0aGVybWFsX3NvY19kYXRh ICpzb2NfZGF0YSA9IGRhdGEtPnNvY2RhdGE7CiAJc3RydWN0IHJlZ21hcCAqbWFwID0gZGF0YS0+ dGVtcG1vbjsKIAlpbnQgY3JpdGljYWxfdmFsdWU7CiAKIAljcml0aWNhbF92YWx1ZSA9IChkYXRh LT5jMiAtIHBhbmljX3RlbXApIC8gZGF0YS0+YzE7Ci0JcmVnbWFwX3dyaXRlKG1hcCwgVEVNUFNF TlNFMiArIFJFR19DTFIsIFRFTVBTRU5TRTJfUEFOSUNfVkFMVUVfTUFTSyk7Ci0JcmVnbWFwX3dy aXRlKG1hcCwgVEVNUFNFTlNFMiArIFJFR19TRVQsIGNyaXRpY2FsX3ZhbHVlIDw8Ci0JCQlURU1Q U0VOU0UyX1BBTklDX1ZBTFVFX1NISUZUKTsKKworCXJlZ21hcF93cml0ZShtYXAsIHNvY19kYXRh LT5wYW5pY19hbGFybV9jdHJsICsgUkVHX0NMUiwKKwkJICAgICBzb2NfZGF0YS0+cGFuaWNfYWxh cm1fbWFzayk7CisJcmVnbWFwX3dyaXRlKG1hcCwgc29jX2RhdGEtPnBhbmljX2FsYXJtX2N0cmwg KyBSRUdfU0VULAorCQkgICAgIGNyaXRpY2FsX3ZhbHVlIDw8IHNvY19kYXRhLT5wYW5pY19hbGFy bV9zaGlmdCk7CiB9CiAKIHN0YXRpYyB2b2lkIGlteF9zZXRfYWxhcm1fdGVtcChzdHJ1Y3QgaW14 X3RoZXJtYWxfZGF0YSAqZGF0YSwKIAkJCSAgICAgICBpbnQgYWxhcm1fdGVtcCkKIHsKIAlzdHJ1 Y3QgcmVnbWFwICptYXAgPSBkYXRhLT50ZW1wbW9uOworCWNvbnN0IHN0cnVjdCB0aGVybWFsX3Nv Y19kYXRhICpzb2NfZGF0YSA9IGRhdGEtPnNvY2RhdGE7CiAJaW50IGFsYXJtX3ZhbHVlOwogCiAJ ZGF0YS0+YWxhcm1fdGVtcCA9IGFsYXJtX3RlbXA7Ci0JYWxhcm1fdmFsdWUgPSAoZGF0YS0+YzIg LSBhbGFybV90ZW1wKSAvIGRhdGEtPmMxOwotCXJlZ21hcF93cml0ZShtYXAsIFRFTVBTRU5TRTAg KyBSRUdfQ0xSLCBURU1QU0VOU0UwX0FMQVJNX1ZBTFVFX01BU0spOwotCXJlZ21hcF93cml0ZSht YXAsIFRFTVBTRU5TRTAgKyBSRUdfU0VULCBhbGFybV92YWx1ZSA8PAotCQkJVEVNUFNFTlNFMF9B TEFSTV9WQUxVRV9TSElGVCk7CisKKwlpZiAoZGF0YS0+c29jZGF0YS0+dmVyc2lvbiA9PSBURU1Q TU9OX0lNWDdEKQorCQlhbGFybV92YWx1ZSA9IGFsYXJtX3RlbXAgLyAxMDAwICsgZGF0YS0+YzEg LSAyNTsKKwllbHNlCisJCWFsYXJtX3ZhbHVlID0gKGRhdGEtPmMyIC0gYWxhcm1fdGVtcCkgLyBk YXRhLT5jMTsKKworCXJlZ21hcF93cml0ZShtYXAsIHNvY19kYXRhLT5oaWdoX2FsYXJtX2N0cmwg KyBSRUdfQ0xSLAorCQkgICAgIHNvY19kYXRhLT5oaWdoX2FsYXJtX21hc2spOworCXJlZ21hcF93 cml0ZShtYXAsIHNvY19kYXRhLT5oaWdoX2FsYXJtX2N0cmwgKyBSRUdfU0VULAorCQkgICAgIGFs YXJtX3ZhbHVlIDw8IHNvY19kYXRhLT5oaWdoX2FsYXJtX3NoaWZ0KTsKIH0KIAogc3RhdGljIGlu dCBpbXhfZ2V0X3RlbXAoc3RydWN0IHRoZXJtYWxfem9uZV9kZXZpY2UgKnR6LCBpbnQgKnRlbXAp CiB7CiAJc3RydWN0IGlteF90aGVybWFsX2RhdGEgKmRhdGEgPSB0ei0+ZGV2ZGF0YTsKKwljb25z dCBzdHJ1Y3QgdGhlcm1hbF9zb2NfZGF0YSAqc29jX2RhdGEgPSBkYXRhLT5zb2NkYXRhOwogCXN0 cnVjdCByZWdtYXAgKm1hcCA9IGRhdGEtPnRlbXBtb247CiAJdW5zaWduZWQgaW50IG5fbWVhczsK IAlib29sIHdhaXQ7CkBAIC0xMzksMTYgKzI2OSwxOCBAQCBzdGF0aWMgaW50IGlteF9nZXRfdGVt cChzdHJ1Y3QgdGhlcm1hbF96b25lX2RldmljZSAqdHosIGludCAqdGVtcCkKIAogCWlmIChkYXRh LT5tb2RlID09IFRIRVJNQUxfREVWSUNFX0VOQUJMRUQpIHsKIAkJLyogQ2hlY2sgaWYgYSBtZWFz dXJlbWVudCBpcyBjdXJyZW50bHkgaW4gcHJvZ3Jlc3MgKi8KLQkJcmVnbWFwX3JlYWQobWFwLCBU RU1QU0VOU0UwLCAmdmFsKTsKLQkJd2FpdCA9ICEodmFsICYgVEVNUFNFTlNFMF9GSU5JU0hFRCk7 CisJCXJlZ21hcF9yZWFkKG1hcCwgc29jX2RhdGEtPnRlbXBfZGF0YSwgJnZhbCk7CisJCXdhaXQg PSAhKHZhbCAmIHNvY19kYXRhLT50ZW1wX3ZhbGlkX21hc2spOwogCX0gZWxzZSB7CiAJCS8qCiAJ CSAqIEV2ZXJ5IHRpbWUgd2UgbWVhc3VyZSB0aGUgdGVtcGVyYXR1cmUsIHdlIHdpbGwgcG93ZXIg b24gdGhlCiAJCSAqIHRlbXBlcmF0dXJlIHNlbnNvciwgZW5hYmxlIG1lYXN1cmVtZW50cywgdGFr ZSBhIHJlYWRpbmcsCiAJCSAqIGRpc2FibGUgbWVhc3VyZW1lbnRzLCBwb3dlciBvZmYgdGhlIHRl bXBlcmF0dXJlIHNlbnNvci4KIAkJICovCi0JCXJlZ21hcF93cml0ZShtYXAsIFRFTVBTRU5TRTAg KyBSRUdfQ0xSLCBURU1QU0VOU0UwX1BPV0VSX0RPV04pOwotCQlyZWdtYXBfd3JpdGUobWFwLCBU RU1QU0VOU0UwICsgUkVHX1NFVCwgVEVNUFNFTlNFMF9NRUFTVVJFX1RFTVApOworCQlyZWdtYXBf d3JpdGUobWFwLCBzb2NfZGF0YS0+c2Vuc29yX2N0cmwgKyBSRUdfQ0xSLAorCQkJICAgIHNvY19k YXRhLT5wb3dlcl9kb3duX21hc2spOworCQlyZWdtYXBfd3JpdGUobWFwLCBzb2NfZGF0YS0+c2Vu c29yX2N0cmwgKyBSRUdfU0VULAorCQkJICAgIHNvY19kYXRhLT5tZWFzdXJlX3RlbXBfbWFzayk7 CiAKIAkJd2FpdCA9IHRydWU7CiAJfQpAQCAtMTYwLDIyICsyOTIsMjggQEAgc3RhdGljIGludCBp bXhfZ2V0X3RlbXAoc3RydWN0IHRoZXJtYWxfem9uZV9kZXZpY2UgKnR6LCBpbnQgKnRlbXApCiAJ aWYgKHdhaXQpCiAJCXVzbGVlcF9yYW5nZSgyMCwgNTApOwogCi0JcmVnbWFwX3JlYWQobWFwLCBU RU1QU0VOU0UwLCAmdmFsKTsKKwlyZWdtYXBfcmVhZChtYXAsIHNvY19kYXRhLT50ZW1wX2RhdGEs ICZ2YWwpOwogCiAJaWYgKGRhdGEtPm1vZGUgIT0gVEhFUk1BTF9ERVZJQ0VfRU5BQkxFRCkgewot CQlyZWdtYXBfd3JpdGUobWFwLCBURU1QU0VOU0UwICsgUkVHX0NMUiwgVEVNUFNFTlNFMF9NRUFT VVJFX1RFTVApOwotCQlyZWdtYXBfd3JpdGUobWFwLCBURU1QU0VOU0UwICsgUkVHX1NFVCwgVEVN UFNFTlNFMF9QT1dFUl9ET1dOKTsKKwkJcmVnbWFwX3dyaXRlKG1hcCwgc29jX2RhdGEtPnNlbnNv cl9jdHJsICsgUkVHX0NMUiwKKwkJCSAgICAgc29jX2RhdGEtPm1lYXN1cmVfdGVtcF9tYXNrKTsK KwkJcmVnbWFwX3dyaXRlKG1hcCwgc29jX2RhdGEtPnNlbnNvcl9jdHJsICsgUkVHX1NFVCwKKwkJ CSAgICAgc29jX2RhdGEtPnBvd2VyX2Rvd25fbWFzayk7CiAJfQogCi0JaWYgKCh2YWwgJiBURU1Q U0VOU0UwX0ZJTklTSEVEKSA9PSAwKSB7CisJaWYgKCh2YWwgJiBzb2NfZGF0YS0+dGVtcF92YWxp ZF9tYXNrKSA9PSAwKSB7CiAJCWRldl9kYmcoJnR6LT5kZXZpY2UsICJ0ZW1wIG1lYXN1cmVtZW50 IG5ldmVyIGZpbmlzaGVkXG4iKTsKIAkJcmV0dXJuIC1FQUdBSU47CiAJfQogCi0Jbl9tZWFzID0g KHZhbCAmIFRFTVBTRU5TRTBfVEVNUF9DTlRfTUFTSykgPj4gVEVNUFNFTlNFMF9URU1QX0NOVF9T SElGVDsKKwluX21lYXMgPSAodmFsICYgc29jX2RhdGEtPnRlbXBfdmFsdWVfbWFzaykKKwkJPj4g c29jX2RhdGEtPnRlbXBfdmFsdWVfc2hpZnQ7CiAKIAkvKiBTZWUgaW14X2luaXRfY2FsaWIoKSBm b3IgZm9ybXVsYSBkZXJpdmF0aW9uICovCi0JKnRlbXAgPSBkYXRhLT5jMiAtIG5fbWVhcyAqIGRh dGEtPmMxOworCWlmIChkYXRhLT5zb2NkYXRhLT52ZXJzaW9uID09IFRFTVBNT05fSU1YN0QpCisJ CSp0ZW1wID0gKG5fbWVhcyAtIGRhdGEtPmMxICsgMjUpICogMTAwMDsKKwllbHNlCisJCSp0ZW1w ID0gZGF0YS0+YzIgLSBuX21lYXMgKiBkYXRhLT5jMTsKIAogCS8qIFVwZGF0ZSBhbGFybSB2YWx1 ZSB0byBuZXh0IGhpZ2hlciB0cmlwIHBvaW50IGZvciBURU1QTU9OX0lNWDZRICovCiAJaWYgKGRh dGEtPnNvY2RhdGEtPnZlcnNpb24gPT0gVEVNUE1PTl9JTVg2USkgewpAQCAtMjE5LDIxICszNTcs MjYgQEAgc3RhdGljIGludCBpbXhfc2V0X21vZGUoc3RydWN0IHRoZXJtYWxfem9uZV9kZXZpY2Ug KnR6LAogewogCXN0cnVjdCBpbXhfdGhlcm1hbF9kYXRhICpkYXRhID0gdHotPmRldmRhdGE7CiAJ c3RydWN0IHJlZ21hcCAqbWFwID0gZGF0YS0+dGVtcG1vbjsKKwljb25zdCBzdHJ1Y3QgdGhlcm1h bF9zb2NfZGF0YSAqc29jX2RhdGEgPSBkYXRhLT5zb2NkYXRhOwogCiAJaWYgKG1vZGUgPT0gVEhF Uk1BTF9ERVZJQ0VfRU5BQkxFRCkgewogCQl0ei0+cG9sbGluZ19kZWxheSA9IElNWF9QT0xMSU5H X0RFTEFZOwogCQl0ei0+cGFzc2l2ZV9kZWxheSA9IElNWF9QQVNTSVZFX0RFTEFZOwogCi0JCXJl Z21hcF93cml0ZShtYXAsIFRFTVBTRU5TRTAgKyBSRUdfQ0xSLCBURU1QU0VOU0UwX1BPV0VSX0RP V04pOwotCQlyZWdtYXBfd3JpdGUobWFwLCBURU1QU0VOU0UwICsgUkVHX1NFVCwgVEVNUFNFTlNF MF9NRUFTVVJFX1RFTVApOworCQlyZWdtYXBfd3JpdGUobWFwLCBzb2NfZGF0YS0+c2Vuc29yX2N0 cmwgKyBSRUdfQ0xSLAorCQkJICAgICBzb2NfZGF0YS0+cG93ZXJfZG93bl9tYXNrKTsKKwkJcmVn bWFwX3dyaXRlKG1hcCwgc29jX2RhdGEtPnNlbnNvcl9jdHJsICsgUkVHX1NFVCwKKwkJCSAgICAg c29jX2RhdGEtPm1lYXN1cmVfdGVtcF9tYXNrKTsKIAogCQlpZiAoIWRhdGEtPmlycV9lbmFibGVk KSB7CiAJCQlkYXRhLT5pcnFfZW5hYmxlZCA9IHRydWU7CiAJCQllbmFibGVfaXJxKGRhdGEtPmly cSk7CiAJCX0KIAl9IGVsc2UgewotCQlyZWdtYXBfd3JpdGUobWFwLCBURU1QU0VOU0UwICsgUkVH X0NMUiwgVEVNUFNFTlNFMF9NRUFTVVJFX1RFTVApOwotCQlyZWdtYXBfd3JpdGUobWFwLCBURU1Q U0VOU0UwICsgUkVHX1NFVCwgVEVNUFNFTlNFMF9QT1dFUl9ET1dOKTsKKwkJcmVnbWFwX3dyaXRl KG1hcCwgc29jX2RhdGEtPnNlbnNvcl9jdHJsICsgUkVHX0NMUiwKKwkJCSAgICAgc29jX2RhdGEt Pm1lYXN1cmVfdGVtcF9tYXNrKTsKKwkJcmVnbWFwX3dyaXRlKG1hcCwgc29jX2RhdGEtPnNlbnNv cl9jdHJsICsgUkVHX1NFVCwKKwkJCSAgICAgc29jX2RhdGEtPnBvd2VyX2Rvd25fbWFzayk7CiAK IAkJdHotPnBvbGxpbmdfZGVsYXkgPSAwOwogCQl0ei0+cGFzc2l2ZV9kZWxheSA9IDA7CkBAIC0z NTUsNiArNDk4LDE1IEBAIHN0YXRpYyBpbnQgaW14X2luaXRfY2FsaWIoc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldiwgdTMyIG9jb3RwX2FuYTEpCiAJfQogCiAJLyoKKwkgKiBPbiBpLk1YN0Qs IHdlIG9ubHkgdXNlIHRoZSBjYWxpYnJhdGlvbiBkYXRhIGF0IDI1QyB0byBnZXQgdGhlIHRlbXAs CisJICogVG1lYXMgPSAoIE5tZWFzIC0gbjEpICsgMjU7IG4xIGlzIHRoZSBmdXNlIHZhbHVlIGZv ciAyNUMuCisJICovCisJaWYgKGRhdGEtPnNvY2RhdGEtPnZlcnNpb24gPT0gVEVNUE1PTl9JTVg3 RCkgeworCQlkYXRhLT5jMSA9IChvY290cF9hbmExID4+IDkpICYgMHgxZmY7CisJCXJldHVybiAw OworCX0KKworCS8qCiAJICogVGhlIHNlbnNvciBpcyBjYWxpYnJhdGVkIGF0IDI1IMKwQyAoYWth IFQxKSBhbmQgdGhlIHZhbHVlIG1lYXN1cmVkCiAJICogKGFrYSBOMSkgYXQgdGhpcyB0ZW1wZXJh dHVyZSBpcyBwcm92aWRlZCBpbiBiaXRzIFszMToyMF0gaW4gdGhlCiAJICogaS5NWCdzIE9DT1RQ IHZhbHVlIEFOQTEuCkBAIC00OTIsNiArNjQ0LDcgQEAgc3RhdGljIGlycXJldHVybl90IGlteF90 aGVybWFsX2FsYXJtX2lycV90aHJlYWQoaW50IGlycSwgdm9pZCAqZGV2KQogc3RhdGljIGNvbnN0 IHN0cnVjdCBvZl9kZXZpY2VfaWQgb2ZfaW14X3RoZXJtYWxfbWF0Y2hbXSA9IHsKIAl7IC5jb21w YXRpYmxlID0gImZzbCxpbXg2cS10ZW1wbW9uIiwgLmRhdGEgPSAmdGhlcm1hbF9pbXg2cV9kYXRh LCB9LAogCXsgLmNvbXBhdGlibGUgPSAiZnNsLGlteDZzeC10ZW1wbW9uIiwgLmRhdGEgPSAmdGhl cm1hbF9pbXg2c3hfZGF0YSwgfSwKKwl7IC5jb21wYXRpYmxlID0gImZzbCxpbXg3ZC10ZW1wbW9u IiwgLmRhdGEgPSAmdGhlcm1hbF9pbXg3ZF9kYXRhLCB9LAogCXsgLyogZW5kICovIH0KIH07CiBN T0RVTEVfREVWSUNFX1RBQkxFKG9mLCBvZl9pbXhfdGhlcm1hbF9tYXRjaCk7CkBAIC01MjMsMTQg KzY3NiwxNSBAQCBzdGF0aWMgaW50IGlteF90aGVybWFsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9k ZXZpY2UgKnBkZXYpCiAKIAkvKiBtYWtlIHN1cmUgdGhlIElSUSBmbGFnIGlzIGNsZWFyIGJlZm9y ZSBlbmFibGluZyBpcnEgb24gaS5NWDZTWCAqLwogCWlmIChkYXRhLT5zb2NkYXRhLT52ZXJzaW9u ID09IFRFTVBNT05fSU1YNlNYKSB7Ci0JCXJlZ21hcF93cml0ZShtYXAsIE1JU0MxICsgUkVHX0NM UiwgTUlTQzFfSVJRX1RFTVBISUdIIHwKLQkJCU1JU0MxX0lSUV9URU1QTE9XIHwgTUlTQzFfSVJR X1RFTVBQQU5JQyk7CisJCXJlZ21hcF93cml0ZShtYXAsIElNWDZfTUlTQzEgKyBSRUdfQ0xSLAor CQkJSU1YNl9NSVNDMV9JUlFfVEVNUEhJR0ggfCBJTVg2X01JU0MxX0lSUV9URU1QTE9XCisJCQl8 IElNWDZfTUlTQzFfSVJRX1RFTVBQQU5JQyk7CiAJCS8qCiAJCSAqIHJlc2V0IHZhbHVlIG9mIExP VyBBTEFSTSBpcyBpbmNvcnJlY3QsIHNldCBpdCB0byBsb3dlc3QKIAkJICogdmFsdWUgdG8gYXZv aWQgZmFsc2UgdHJpZ2dlciBvZiBsb3cgYWxhcm0uCiAJCSAqLwotCQlyZWdtYXBfd3JpdGUobWFw LCBURU1QU0VOU0UyICsgUkVHX1NFVCwKLQkJCVRFTVBTRU5TRTJfTE9XX1ZBTFVFX01BU0spOwor CQlyZWdtYXBfd3JpdGUobWFwLCBkYXRhLT5zb2NkYXRhLT5sb3dfYWxhcm1fY3RybCArIFJFR19T RVQsCisJCQkgICAgIGRhdGEtPnNvY2RhdGEtPmxvd19hbGFybV9tYXNrKTsKIAl9CiAKIAlkYXRh LT5pcnEgPSBwbGF0Zm9ybV9nZXRfaXJxKHBkZXYsIDApOwpAQCAtNTU3LDExICs3MTEsMTcgQEAg c3RhdGljIGludCBpbXhfdGhlcm1hbF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQogCX0KIAogCS8qIE1ha2Ugc3VyZSBzZW5zb3IgaXMgaW4ga25vd24gZ29vZCBzdGF0ZSBmb3Ig bWVhc3VyZW1lbnRzICovCi0JcmVnbWFwX3dyaXRlKG1hcCwgVEVNUFNFTlNFMCArIFJFR19DTFIs IFRFTVBTRU5TRTBfUE9XRVJfRE9XTik7Ci0JcmVnbWFwX3dyaXRlKG1hcCwgVEVNUFNFTlNFMCAr IFJFR19DTFIsIFRFTVBTRU5TRTBfTUVBU1VSRV9URU1QKTsKLQlyZWdtYXBfd3JpdGUobWFwLCBU RU1QU0VOU0UxICsgUkVHX0NMUiwgVEVNUFNFTlNFMV9NRUFTVVJFX0ZSRVEpOwotCXJlZ21hcF93 cml0ZShtYXAsIE1JU0MwICsgUkVHX1NFVCwgTUlTQzBfUkVGVE9QX1NFTEJJQVNPRkYpOwotCXJl Z21hcF93cml0ZShtYXAsIFRFTVBTRU5TRTAgKyBSRUdfU0VULCBURU1QU0VOU0UwX1BPV0VSX0RP V04pOworCXJlZ21hcF93cml0ZShtYXAsIGRhdGEtPnNvY2RhdGEtPnNlbnNvcl9jdHJsICsgUkVH X0NMUiwKKwkJICAgICBkYXRhLT5zb2NkYXRhLT5wb3dlcl9kb3duX21hc2spOworCXJlZ21hcF93 cml0ZShtYXAsIGRhdGEtPnNvY2RhdGEtPnNlbnNvcl9jdHJsICsgUkVHX0NMUiwKKwkJICAgICBk YXRhLT5zb2NkYXRhLT5tZWFzdXJlX3RlbXBfbWFzayk7CisJcmVnbWFwX3dyaXRlKG1hcCwgZGF0 YS0+c29jZGF0YS0+bWVhc3VyZV9mcmVxX2N0cmwgKyBSRUdfQ0xSLAorCQkgICAgIGRhdGEtPnNv Y2RhdGEtPm1lYXN1cmVfZnJlcV9tYXNrKTsKKwlpZiAoZGF0YS0+c29jZGF0YS0+dmVyc2lvbiAh PSBURU1QTU9OX0lNWDdEKQorCQlyZWdtYXBfd3JpdGUobWFwLCBJTVg2X01JU0MwICsgUkVHX1NF VCwKKwkJCUlNWDZfTUlTQzBfUkVGVE9QX1NFTEJJQVNPRkYpOworCXJlZ21hcF93cml0ZShtYXAs IGRhdGEtPnNvY2RhdGEtPnNlbnNvcl9jdHJsICsgUkVHX1NFVCwKKwkJICAgICBkYXRhLT5zb2Nk YXRhLT5wb3dlcl9kb3duX21hc2spOwogCiAJZGF0YS0+cG9saWN5ID0gY3B1ZnJlcV9jcHVfZ2V0 KDApOwogCWlmICghZGF0YS0+cG9saWN5KSB7CkBAIC02MjYsMTYgKzc4NiwyMCBAQCBzdGF0aWMg aW50IGlteF90aGVybWFsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJCSBk YXRhLT50ZW1wX3Bhc3NpdmUgLyAxMDAwKTsKIAogCS8qIEVuYWJsZSBtZWFzdXJlbWVudHMgYXQg fiAxMCBIeiAqLwotCXJlZ21hcF93cml0ZShtYXAsIFRFTVBTRU5TRTEgKyBSRUdfQ0xSLCBURU1Q U0VOU0UxX01FQVNVUkVfRlJFUSk7CisJcmVnbWFwX3dyaXRlKG1hcCwgZGF0YS0+c29jZGF0YS0+ bWVhc3VyZV9mcmVxX2N0cmwgKyBSRUdfQ0xSLAorCQkgICAgIGRhdGEtPnNvY2RhdGEtPm1lYXN1 cmVfZnJlcV9tYXNrKTsKIAltZWFzdXJlX2ZyZXEgPSBESVZfUk9VTkRfVVAoMzI3NjgsIDEwKTsg LyogMTAgSHogKi8KLQlyZWdtYXBfd3JpdGUobWFwLCBURU1QU0VOU0UxICsgUkVHX1NFVCwgbWVh c3VyZV9mcmVxKTsKKwlyZWdtYXBfd3JpdGUobWFwLCBkYXRhLT5zb2NkYXRhLT5tZWFzdXJlX2Zy ZXFfY3RybCArIFJFR19TRVQsCisJCSAgICAgbWVhc3VyZV9mcmVxIDw8IGRhdGEtPnNvY2RhdGEt Pm1lYXN1cmVfZnJlcV9zaGlmdCk7CiAJaW14X3NldF9hbGFybV90ZW1wKGRhdGEsIGRhdGEtPnRl bXBfcGFzc2l2ZSk7CiAKIAlpZiAoZGF0YS0+c29jZGF0YS0+dmVyc2lvbiA9PSBURU1QTU9OX0lN WDZTWCkKIAkJaW14X3NldF9wYW5pY190ZW1wKGRhdGEsIGRhdGEtPnRlbXBfY3JpdGljYWwpOwog Ci0JcmVnbWFwX3dyaXRlKG1hcCwgVEVNUFNFTlNFMCArIFJFR19DTFIsIFRFTVBTRU5TRTBfUE9X RVJfRE9XTik7Ci0JcmVnbWFwX3dyaXRlKG1hcCwgVEVNUFNFTlNFMCArIFJFR19TRVQsIFRFTVBT RU5TRTBfTUVBU1VSRV9URU1QKTsKKwlyZWdtYXBfd3JpdGUobWFwLCBkYXRhLT5zb2NkYXRhLT5z ZW5zb3JfY3RybCArIFJFR19DTFIsCisJCSAgICAgZGF0YS0+c29jZGF0YS0+cG93ZXJfZG93bl9t YXNrKTsKKwlyZWdtYXBfd3JpdGUobWFwLCBkYXRhLT5zb2NkYXRhLT5zZW5zb3JfY3RybCArIFJF R19TRVQsCisJCSAgICAgZGF0YS0+c29jZGF0YS0+bWVhc3VyZV90ZW1wX21hc2spOwogCiAJcmV0 ID0gZGV2bV9yZXF1ZXN0X3RocmVhZGVkX2lycSgmcGRldi0+ZGV2LCBkYXRhLT5pcnEsCiAJCQlp bXhfdGhlcm1hbF9hbGFybV9pcnEsIGlteF90aGVybWFsX2FsYXJtX2lycV90aHJlYWQsCkBAIC02 NjEsNyArODI1LDggQEAgc3RhdGljIGludCBpbXhfdGhlcm1hbF9yZW1vdmUoc3RydWN0IHBsYXRm b3JtX2RldmljZSAqcGRldikKIAlzdHJ1Y3QgcmVnbWFwICptYXAgPSBkYXRhLT50ZW1wbW9uOwog CiAJLyogRGlzYWJsZSBtZWFzdXJlbWVudHMgKi8KLQlyZWdtYXBfd3JpdGUobWFwLCBURU1QU0VO U0UwICsgUkVHX1NFVCwgVEVNUFNFTlNFMF9QT1dFUl9ET1dOKTsKKwlyZWdtYXBfd3JpdGUobWFw LCBkYXRhLT5zb2NkYXRhLT5zZW5zb3JfY3RybCArIFJFR19TRVQsCisJCSAgICAgZGF0YS0+c29j ZGF0YS0+cG93ZXJfZG93bl9tYXNrKTsKIAlpZiAoIUlTX0VSUihkYXRhLT50aGVybWFsX2Nsaykp CiAJCWNsa19kaXNhYmxlX3VucHJlcGFyZShkYXRhLT50aGVybWFsX2Nsayk7CiAKQEAgLTY4NCw4 ICs4NDksMTAgQEAgc3RhdGljIGludCBpbXhfdGhlcm1hbF9zdXNwZW5kKHN0cnVjdCBkZXZpY2Ug KmRldikKIAkgKiB0ZW1wZXJhdHVyZSB3aWxsIGJlIHJlYWQgYXMgdGhlIHRoZXJtYWwgc2Vuc29y IGlzIHBvd2VyZWQKIAkgKiBkb3duLgogCSAqLwotCXJlZ21hcF93cml0ZShtYXAsIFRFTVBTRU5T RTAgKyBSRUdfQ0xSLCBURU1QU0VOU0UwX01FQVNVUkVfVEVNUCk7Ci0JcmVnbWFwX3dyaXRlKG1h cCwgVEVNUFNFTlNFMCArIFJFR19TRVQsIFRFTVBTRU5TRTBfUE9XRVJfRE9XTik7CisJcmVnbWFw X3dyaXRlKG1hcCwgZGF0YS0+c29jZGF0YS0+c2Vuc29yX2N0cmwgKyBSRUdfQ0xSLAorCQkgICAg IGRhdGEtPnNvY2RhdGEtPm1lYXN1cmVfdGVtcF9tYXNrKTsKKwlyZWdtYXBfd3JpdGUobWFwLCBk YXRhLT5zb2NkYXRhLT5zZW5zb3JfY3RybCArIFJFR19TRVQsCisJCSAgICAgZGF0YS0+c29jZGF0 YS0+cG93ZXJfZG93bl9tYXNrKTsKIAlkYXRhLT5tb2RlID0gVEhFUk1BTF9ERVZJQ0VfRElTQUJM RUQ7CiAJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGRhdGEtPnRoZXJtYWxfY2xrKTsKIApAQCAtNzAy LDggKzg2OSwxMCBAQCBzdGF0aWMgaW50IGlteF90aGVybWFsX3Jlc3VtZShzdHJ1Y3QgZGV2aWNl ICpkZXYpCiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAkvKiBFbmFibGVkIHRoZXJtYWwgc2Vu c29yIGFmdGVyIHJlc3VtZSAqLwotCXJlZ21hcF93cml0ZShtYXAsIFRFTVBTRU5TRTAgKyBSRUdf Q0xSLCBURU1QU0VOU0UwX1BPV0VSX0RPV04pOwotCXJlZ21hcF93cml0ZShtYXAsIFRFTVBTRU5T RTAgKyBSRUdfU0VULCBURU1QU0VOU0UwX01FQVNVUkVfVEVNUCk7CisJcmVnbWFwX3dyaXRlKG1h cCwgZGF0YS0+c29jZGF0YS0+c2Vuc29yX2N0cmwgKyBSRUdfQ0xSLAorCQkgICAgIGRhdGEtPnNv Y2RhdGEtPnBvd2VyX2Rvd25fbWFzayk7CisJcmVnbWFwX3dyaXRlKG1hcCwgZGF0YS0+c29jZGF0 YS0+c2Vuc29yX2N0cmwgKyBSRUdfU0VULAorCQkgICAgIGRhdGEtPnNvY2RhdGEtPm1lYXN1cmVf dGVtcF9tYXNrKTsKIAlkYXRhLT5tb2RlID0gVEhFUk1BTF9ERVZJQ0VfRU5BQkxFRDsKIAogCXJl dHVybiAwOwotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVs QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9s aXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==