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: thermal: samsung: Remove support for Exynos5440 From: Bartlomiej Zolnierkiewicz Message-Id: <2734003.UHSMxVLybj@amdc3058> Date: Thu, 26 Apr 2018 13:21:12 +0200 To: Krzysztof Kozlowski , Eduardo Valentin Cc: Kukjin Kim , Rob Herring , Mark Rutland , Tejun Heo , Sylwester Nawrocki , Tomasz Figa , Chanwoo Choi , Michael Turquette , Stephen Boyd , "Rafael J. Wysocki" , Viresh Kumar , Zhang Rui , Russell King , Hans de Goede , Linus Walleij , Andi Shyti , Mark Brown , Alan Stern , Greg Kroah-Hartman , linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org, linux-clk@vger.kernel.org, linux-pm@vger.kernel.org, linux-i2c@vger.kernel.org, linux-gpio@vger.kernel.org, linux-spi@vger.kernel.org, linux-usb@vger.kernel.org, Marek Szyprowski , Arnd Bergmann , Olof Johansson , Jaehoon Chung List-ID: RnJvbTogS3J6eXN6dG9mIEtvemxvd3NraSA8a3J6a0BrZXJuZWwub3JnPgpTdWJqZWN0OiBbUEFU Q0hdIHRoZXJtYWw6IHNhbXN1bmc6IFJlbW92ZSBzdXBwb3J0IGZvciBFeHlub3M1NDQwCgpUaGUg RXh5bm9zNTQ0MCBpcyBub3QgYWN0aXZlbHkgZGV2ZWxvcGVkLCB0aGVyZSBhcmUgbm8gZGV2ZWxv cG1lbnQKYm9hcmRzIGF2YWlsYWJsZSBhbmQgcHJvYmFibHkgdGhlcmUgYXJlIG5vIHJlYWwgcHJv ZHVjdHMgd2l0aCBpdC4KUmVtb3ZlIHdpZGUtdHJlZSBzdXBwb3J0IGZvciBFeHlub3M1NDQwLgoK U2lnbmVkLW9mZi1ieTogS3J6eXN6dG9mIEtvemxvd3NraSA8a3J6a0BrZXJuZWwub3JnPgpbYi56 b2xuaWVya2llOiBwb3J0ZWQgb3ZlciBkcml2ZXIgY2hhbmdlc10KU2lnbmVkLW9mZi1ieTogQmFy dGxvbWllaiBab2xuaWVya2lld2ljeiA8Yi56b2xuaWVya2llQHNhbXN1bmcuY29tPgotLS0KRWR1 YXJkbywgaGVyZSBpcyBhIHZlcnNpb24gd2hpY2ggYXBwbGllcyBvbiB0b3Agb2YgcGVuZGluZyBF eHlub3MKdGhlcm1hbCBjaGFuZ2VzIChodHRwczovL2xrbWwub3JnL2xrbWwvMjAxOC80LzE2LzI1 NikuCgogRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvZXh5bm9zLXRo ZXJtYWwudHh0IHwgICAxNCAKIGRyaXZlcnMvdGhlcm1hbC9zYW1zdW5nL2V4eW5vc190bXUuYyAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAxNjEgLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdl ZCwgNCBpbnNlcnRpb25zKCspLCAxNzEgZGVsZXRpb25zKC0pCgoKLS0KVG8gdW5zdWJzY3JpYmUg ZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVuc3Vic2NyaWJlIGxpbnV4LXVzYiIgaW4K dGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5vcmcKTW9yZSBt YWpvcmRvbW8gaW5mbyBhdCAgaHR0cDovL3ZnZXIua2VybmVsLm9yZy9tYWpvcmRvbW8taW5mby5o dG1sCgpJbmRleDogYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9l eHlub3MtdGhlcm1hbC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gYS9Eb2N1bWVudGF0aW9uL2RldmljZXRy ZWUvYmluZGluZ3MvdGhlcm1hbC9leHlub3MtdGhlcm1hbC50eHQJMjAxOC0wNC0yNiAxMjoyOTo0 Mi43MTYyOTQyMDQgKzAyMDAKKysrIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdz L3RoZXJtYWwvZXh5bm9zLXRoZXJtYWwudHh0CTIwMTgtMDQtMjYgMTI6Mjk6NDIuNzE2Mjk0MjA0 ICswMjAwCkBAIC0xMiw3ICsxMiw2IEBACiAJICAgICAgICJzYW1zdW5nLGV4eW5vczU0MjAtdG11 LWV4dC10cmltaW5mbyIgZm9yIFRNVSBjaGFubmVscyAyLCAzIGFuZCA0CiAJCQlFeHlub3M1NDIw IChNdXN0IHBhc3MgdHJpbWluZm8gYmFzZSBhbmQgdHJpbWluZm8gY2xvY2spCiAgICAgICAgICAg ICAgICAic2Ftc3VuZyxleHlub3M1NDMzLXRtdSIKLQkgICAgICAgInNhbXN1bmcsZXh5bm9zNTQ0 MC10bXUiCiAJICAgICAgICJzYW1zdW5nLGV4eW5vczctdG11IgogLSBpbnRlcnJ1cHQtcGFyZW50 IDogVGhlIHBoYW5kbGUgZm9yIHRoZSBpbnRlcnJ1cHQgY29udHJvbGxlcgogLSByZWcgOiBBZGRy ZXNzIHJhbmdlIG9mIHRoZSB0aGVybWFsIHJlZ2lzdGVycy4gRm9yIHNvYydzIHdoaWNoIGhhcyBt dWx0aXBsZQpAQCAtNjgsMTggKzY3LDcgQEAgRXhhbXBsZSAxKToKIAkJI3RoZXJtYWwtc2Vuc29y LWNlbGxzID0gPDA+OwogCX07CiAKLUV4YW1wbGUgMik6Ci0KLQl0bXVjdHJsXzA6IHRtdWN0cmxA MTYwMTE4IHsKLQkJY29tcGF0aWJsZSA9ICJzYW1zdW5nLGV4eW5vczU0NDAtdG11IjsKLQkJcmVn ID0gPDB4MTYwMTE4IDB4MjMwPiwgPDB4MTYwMzY4IDB4MTA+OwotCQlpbnRlcnJ1cHRzID0gPDAg NTggMD47Ci0JCWNsb2NrcyA9IDwmY2xvY2sgMjE+OwotCQljbG9jay1uYW1lcyA9ICJ0bXVfYXBi aWYiOwotCQkjdGhlcm1hbC1zZW5zb3ItY2VsbHMgPSA8MD47Ci0JfTsKLQotRXhhbXBsZSAzKTog KEluIGNhc2Ugb2YgRXh5bm9zNTQyMCAid2l0aCBtaXNwbGFjZWQgVFJJTUlORk8gcmVnaXN0ZXIi KQorRXhhbXBsZSAyKTogKEluIGNhc2Ugb2YgRXh5bm9zNTQyMCAid2l0aCBtaXNwbGFjZWQgVFJJ TUlORk8gcmVnaXN0ZXIiKQogCXRtdV9jcHUyOiB0bXVAMTAwNjgwMDAgewogCQljb21wYXRpYmxl ID0gInNhbXN1bmcsZXh5bm9zNTQyMC10bXUtZXh0LXRyaW1pbmZvIjsKIAkJcmVnID0gPDB4MTAw NjgwMDAgMHgxMDA+LCA8MHgxMDA2YzAwMCAweDQ+OwpJbmRleDogYi9kcml2ZXJzL3RoZXJtYWwv c2Ftc3VuZy9leHlub3NfdG11LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gYS9kcml2ZXJzL3RoZXJtYWwvc2Ft c3VuZy9leHlub3NfdG11LmMJMjAxOC0wNC0yNiAxMjoyOTo0Mi43MTYyOTQyMDQgKzAyMDAKKysr IGIvZHJpdmVycy90aGVybWFsL3NhbXN1bmcvZXh5bm9zX3RtdS5jCTIwMTgtMDQtMjYgMTI6MzA6 NTIuNjQ4Mjk1OTY1ICswMjAwCkBAIC0xMjYsMjggKzEyNiw2IEBACiAKICNkZWZpbmUgRVhZTk9T NTQzM19HM0RfQkFTRQkJCTB4MTAwNzAwMDAKIAotLypleHlub3M1NDQwIHNwZWNpZmljIHJlZ2lz dGVycyovCi0jZGVmaW5lIEVYWU5PUzU0NDBfVE1VX1MwXzdfVFJJTQkJMHgwMDAKLSNkZWZpbmUg RVhZTk9TNTQ0MF9UTVVfUzBfN19DVFJMCQkweDAyMAotI2RlZmluZSBFWFlOT1M1NDQwX1RNVV9T MF83X0RFQlVHCQkweDA0MAotI2RlZmluZSBFWFlOT1M1NDQwX1RNVV9TMF83X1RFTVAJCTB4MGYw Ci0jZGVmaW5lIEVYWU5PUzU0NDBfVE1VX1MwXzdfVEgwCQkJMHgxMTAKLSNkZWZpbmUgRVhZTk9T NTQ0MF9UTVVfUzBfN19USDEJCQkweDEzMAotI2RlZmluZSBFWFlOT1M1NDQwX1RNVV9TMF83X1RI MgkJCTB4MTUwCi0jZGVmaW5lIEVYWU5PUzU0NDBfVE1VX1MwXzdfSVJRRU4JCTB4MjEwCi0jZGVm aW5lIEVYWU5PUzU0NDBfVE1VX1MwXzdfSVJRCQkJMHgyMzAKLS8qIGV4eW5vczU0NDAgY29tbW9u IHJlZ2lzdGVycyAqLwotI2RlZmluZSBFWFlOT1M1NDQwX1RNVV9JUlFfU1RBVFVTCQkweDAwMAot I2RlZmluZSBFWFlOT1M1NDQwX1RNVV9QTUlOCQkJMHgwMDQKLQotI2RlZmluZSBFWFlOT1M1NDQw X1RNVV9JTlRFTl9SSVNFMF9TSElGVAkwCi0jZGVmaW5lIEVYWU5PUzU0NDBfVE1VX0lOVEVOX1JJ U0UxX1NISUZUCTEKLSNkZWZpbmUgRVhZTk9TNTQ0MF9UTVVfSU5URU5fUklTRTJfU0hJRlQJMgot I2RlZmluZSBFWFlOT1M1NDQwX1RNVV9JTlRFTl9SSVNFM19TSElGVAkzCi0jZGVmaW5lIEVYWU5P UzU0NDBfVE1VX0lOVEVOX0ZBTEwwX1NISUZUCTQKLSNkZWZpbmUgRVhZTk9TNTQ0MF9UTVVfVEhf UklTRTRfU0hJRlQJCTI0Ci0jZGVmaW5lIEVYWU5PUzU0NDBfRUZVU0VfU1dBUF9PRkZTRVQJCTgK LQogLyogRXh5bm9zNyBzcGVjaWZpYyByZWdpc3RlcnMgKi8KICNkZWZpbmUgRVhZTk9TN19USERf VEVNUF9SSVNFN182CQkweDUwCiAjZGVmaW5lIEVYWU5PUzdfVEhEX1RFTVBfRkFMTDdfNgkJMHg2 MApAQCAtMTg0LDcgKzE2Miw2IEBAIGVudW0gc29jX3R5cGUgewogCVNPQ19BUkNIX0VYWU5PUzU0 MjAsCiAJU09DX0FSQ0hfRVhZTk9TNTQyMF9UUklNSU5GTywKIAlTT0NfQVJDSF9FWFlOT1M1NDMz LAotCVNPQ19BUkNIX0VYWU5PUzU0NDAsCiAJU09DX0FSQ0hfRVhZTk9TNywKIH07CiAKQEAgLTYx OSw1NyArNTk2LDYgQEAgb3V0OgogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbnQgZXh5bm9z NTQ0MF90bXVfaW5pdGlhbGl6ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQotewotCXN0 cnVjdCBleHlub3NfdG11X2RhdGEgKmRhdGEgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsK LQl1bnNpZ25lZCBpbnQgdHJpbV9pbmZvID0gMCwgY29uLCByaXNpbmdfdGhyZXNob2xkOwotCWlu dCB0aHJlc2hvbGRfY29kZTsKLQlpbnQgY3JpdF90ZW1wID0gMDsKLQotCS8qCi0JICogRm9yIGV4 eW5vczU0NDAgc29jIHRyaW1pbmZvIHZhbHVlIGlzIHN3YXBwZWQgYmV0d2VlbiBUTVUwIGFuZAot CSAqIFRNVTIsIHNvIHRoZSBiZWxvdyBsb2dpYyBpcyBuZWVkZWQuCi0JICovCi0Jc3dpdGNoIChk YXRhLT5pZCkgewotCWNhc2UgMDoKLQkJdHJpbV9pbmZvID0gcmVhZGwoZGF0YS0+YmFzZSArIEVY WU5PUzU0NDBfRUZVU0VfU1dBUF9PRkZTRVQgKwotCQkJCSBFWFlOT1M1NDQwX1RNVV9TMF83X1RS SU0pOwotCQlicmVhazsKLQljYXNlIDE6Ci0JCXRyaW1faW5mbyA9IHJlYWRsKGRhdGEtPmJhc2Ug KyBFWFlOT1M1NDQwX1RNVV9TMF83X1RSSU0pOwotCQlicmVhazsKLQljYXNlIDI6Ci0JCXRyaW1f aW5mbyA9IHJlYWRsKGRhdGEtPmJhc2UgLSBFWFlOT1M1NDQwX0VGVVNFX1NXQVBfT0ZGU0VUICsK LQkJCQkgIEVYWU5PUzU0NDBfVE1VX1MwXzdfVFJJTSk7Ci0JfQotCXNhbml0aXplX3RlbXBfZXJy b3IoZGF0YSwgdHJpbV9pbmZvKTsKLQotCS8qIFdyaXRlIHRlbXBlcmF0dXJlIGNvZGUgZm9yIHJp c2luZyBhbmQgZmFsbGluZyB0aHJlc2hvbGQgKi8KLQlyaXNpbmdfdGhyZXNob2xkID0gcmVhZGwo ZGF0YS0+YmFzZSArIEVYWU5PUzU0NDBfVE1VX1MwXzdfVEgwKTsKLQlyaXNpbmdfdGhyZXNob2xk ID0gZ2V0X3RoX3JlZyhkYXRhLCByaXNpbmdfdGhyZXNob2xkLCBmYWxzZSk7Ci0Jd3JpdGVsKHJp c2luZ190aHJlc2hvbGQsIGRhdGEtPmJhc2UgKyBFWFlOT1M1NDQwX1RNVV9TMF83X1RIMCk7Ci0J d3JpdGVsKDAsIGRhdGEtPmJhc2UgKyBFWFlOT1M1NDQwX1RNVV9TMF83X1RIMSk7Ci0KLQlkYXRh LT50bXVfY2xlYXJfaXJxcyhkYXRhKTsKLQotCS8qIGlmIGxhc3QgdGhyZXNob2xkIGxpbWl0IGlz IGFsc28gcHJlc2VudCAqLwotCWlmICghZGF0YS0+dHpkLT5vcHMtPmdldF9jcml0X3RlbXAoZGF0 YS0+dHpkLCAmY3JpdF90ZW1wKSkgewotCQl0aHJlc2hvbGRfY29kZSA9IHRlbXBfdG9fY29kZShk YXRhLCBjcml0X3RlbXAgLyBNQ0VMU0lVUyk7Ci0JCS8qIDV0aCBsZXZlbCB0byBiZSBhc3NpZ25l ZCBpbiB0aDIgcmVnICovCi0JCXJpc2luZ190aHJlc2hvbGQgPQotCQkJdGhyZXNob2xkX2NvZGUg PDwgRVhZTk9TNTQ0MF9UTVVfVEhfUklTRTRfU0hJRlQ7Ci0JCXdyaXRlbChyaXNpbmdfdGhyZXNo b2xkLCBkYXRhLT5iYXNlICsgRVhZTk9TNTQ0MF9UTVVfUzBfN19USDIpOwotCQljb24gPSByZWFk bChkYXRhLT5iYXNlICsgRVhZTk9TNTQ0MF9UTVVfUzBfN19DVFJMKTsKLQkJY29uIHw9ICgxIDw8 IEVYWU5PU19UTVVfVEhFUk1fVFJJUF9FTl9TSElGVCk7Ci0JCXdyaXRlbChjb24sIGRhdGEtPmJh c2UgKyBFWFlOT1M1NDQwX1RNVV9TMF83X0NUUkwpOwotCX0KLQkvKiBDbGVhciB0aGUgUE1JTiBp biB0aGUgY29tbW9uIFRNVSByZWdpc3RlciAqLwotCWlmICghZGF0YS0+aWQpCi0JCXdyaXRlbCgw LCBkYXRhLT5iYXNlX3NlY29uZCArIEVYWU5PUzU0NDBfVE1VX1BNSU4pOwotCi0JcmV0dXJuIDA7 Ci19Ci0KIHN0YXRpYyBpbnQgZXh5bm9zN190bXVfaW5pdGlhbGl6ZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2KQogewogCXN0cnVjdCBleHlub3NfdG11X2RhdGEgKmRhdGEgPSBwbGF0Zm9y bV9nZXRfZHJ2ZGF0YShwZGV2KTsKQEAgLTgyMCwzNSArNzQ2LDYgQEAgc3RhdGljIHZvaWQgZXh5 bm9zNTQzM190bXVfY29udHJvbChzdHJ1YwogCXdyaXRlbChjb24sIGRhdGEtPmJhc2UgKyBFWFlO T1NfVE1VX1JFR19DT05UUk9MKTsKIH0KIAotc3RhdGljIHZvaWQgZXh5bm9zNTQ0MF90bXVfY29u dHJvbChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LCBib29sIG9uKQotewotCXN0cnVjdCBl eHlub3NfdG11X2RhdGEgKmRhdGEgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKLQlzdHJ1 Y3QgdGhlcm1hbF96b25lX2RldmljZSAqdHogPSBkYXRhLT50emQ7Ci0JdW5zaWduZWQgaW50IGNv biwgaW50ZXJydXB0X2VuOwotCi0JY29uID0gZ2V0X2Nvbl9yZWcoZGF0YSwgcmVhZGwoZGF0YS0+ YmFzZSArIEVYWU5PUzU0NDBfVE1VX1MwXzdfQ1RSTCkpOwotCi0JaWYgKG9uKSB7Ci0JCWNvbiB8 PSAoMSA8PCBFWFlOT1NfVE1VX0NPUkVfRU5fU0hJRlQpOwotCQlpbnRlcnJ1cHRfZW4gPQotCQkJ KG9mX3RoZXJtYWxfaXNfdHJpcF92YWxpZCh0eiwgMykKLQkJCSA8PCBFWFlOT1M1NDQwX1RNVV9J TlRFTl9SSVNFM19TSElGVCkgfAotCQkJKG9mX3RoZXJtYWxfaXNfdHJpcF92YWxpZCh0eiwgMikK LQkJCSA8PCBFWFlOT1M1NDQwX1RNVV9JTlRFTl9SSVNFMl9TSElGVCkgfAotCQkJKG9mX3RoZXJt YWxfaXNfdHJpcF92YWxpZCh0eiwgMSkKLQkJCSA8PCBFWFlOT1M1NDQwX1RNVV9JTlRFTl9SSVNF MV9TSElGVCkgfAotCQkJKG9mX3RoZXJtYWxfaXNfdHJpcF92YWxpZCh0eiwgMCkKLQkJCSA8PCBF WFlOT1M1NDQwX1RNVV9JTlRFTl9SSVNFMF9TSElGVCk7Ci0JCWludGVycnVwdF9lbiB8PQotCQkJ aW50ZXJydXB0X2VuIDw8IEVYWU5PUzU0NDBfVE1VX0lOVEVOX0ZBTEwwX1NISUZUOwotCX0gZWxz ZSB7Ci0JCWNvbiAmPSB+KDEgPDwgRVhZTk9TX1RNVV9DT1JFX0VOX1NISUZUKTsKLQkJaW50ZXJy dXB0X2VuID0gMDsgLyogRGlzYWJsZSBhbGwgaW50ZXJydXB0cyAqLwotCX0KLQl3cml0ZWwoaW50 ZXJydXB0X2VuLCBkYXRhLT5iYXNlICsgRVhZTk9TNTQ0MF9UTVVfUzBfN19JUlFFTik7Ci0Jd3Jp dGVsKGNvbiwgZGF0YS0+YmFzZSArIEVYWU5PUzU0NDBfVE1VX1MwXzdfQ1RSTCk7Ci19Ci0KIHN0 YXRpYyB2b2lkIGV4eW5vczdfdG11X2NvbnRyb2woc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRl diwgYm9vbCBvbikKIHsKIAlzdHJ1Y3QgZXh5bm9zX3RtdV9kYXRhICpkYXRhID0gcGxhdGZvcm1f Z2V0X2RydmRhdGEocGRldik7CkBAIC05MjAsMTAgKzgxNyw4IEBAIHN0YXRpYyB1MzIgZ2V0X2Vt dWxfY29uX3JlZyhzdHJ1Y3QgZXh5bm8KIAlpZiAodGVtcCkgewogCQl0ZW1wIC89IE1DRUxTSVVT OwogCi0JCWlmIChkYXRhLT5zb2MgIT0gU09DX0FSQ0hfRVhZTk9TNTQ0MCkgewotCQkJdmFsICY9 IH4oRVhZTk9TX0VNVUxfVElNRV9NQVNLIDw8IEVYWU5PU19FTVVMX1RJTUVfU0hJRlQpOwotCQkJ dmFsIHw9IChFWFlOT1NfRU1VTF9USU1FIDw8IEVYWU5PU19FTVVMX1RJTUVfU0hJRlQpOwotCQl9 CisJCXZhbCAmPSB+KEVYWU5PU19FTVVMX1RJTUVfTUFTSyA8PCBFWFlOT1NfRU1VTF9USU1FX1NI SUZUKTsKKwkJdmFsIHw9IChFWFlOT1NfRU1VTF9USU1FIDw8IEVYWU5PU19FTVVMX1RJTUVfU0hJ RlQpOwogCQlpZiAoZGF0YS0+c29jID09IFNPQ19BUkNIX0VYWU5PUzcpIHsKIAkJCXZhbCAmPSB+ KEVYWU5PUzdfRU1VTF9EQVRBX01BU0sgPDwKIAkJCQlFWFlOT1M3X0VNVUxfREFUQV9TSElGVCk7 CkBAIC05NjQsMTYgKzg1OSw2IEBAIHN0YXRpYyB2b2lkIGV4eW5vczQ0MTJfdG11X3NldF9lbXVs YXRpb24KIAl3cml0ZWwodmFsLCBkYXRhLT5iYXNlICsgZW11bF9jb24pOwogfQogCi1zdGF0aWMg dm9pZCBleHlub3M1NDQwX3RtdV9zZXRfZW11bGF0aW9uKHN0cnVjdCBleHlub3NfdG11X2RhdGEg KmRhdGEsCi0JCQkJCSBpbnQgdGVtcCkKLXsKLQl1bnNpZ25lZCBpbnQgdmFsOwotCi0JdmFsID0g cmVhZGwoZGF0YS0+YmFzZSArIEVYWU5PUzU0NDBfVE1VX1MwXzdfREVCVUcpOwotCXZhbCA9IGdl dF9lbXVsX2Nvbl9yZWcoZGF0YSwgdmFsLCB0ZW1wKTsKLQl3cml0ZWwodmFsLCBkYXRhLT5iYXNl ICsgRVhZTk9TNTQ0MF9UTVVfUzBfN19ERUJVRyk7Ci19Ci0KIHN0YXRpYyBpbnQgZXh5bm9zX3Rt dV9zZXRfZW11bGF0aW9uKHZvaWQgKmRydl9kYXRhLCBpbnQgdGVtcCkKIHsKIAlzdHJ1Y3QgZXh5 bm9zX3RtdV9kYXRhICpkYXRhID0gZHJ2X2RhdGE7CkBAIC05OTYsNyArODgxLDYgQEAgb3V0Ogog fQogI2Vsc2UKICNkZWZpbmUgZXh5bm9zNDQxMl90bXVfc2V0X2VtdWxhdGlvbiBOVUxMCi0jZGVm aW5lIGV4eW5vczU0NDBfdG11X3NldF9lbXVsYXRpb24gTlVMTAogc3RhdGljIGludCBleHlub3Nf dG11X3NldF9lbXVsYXRpb24odm9pZCAqZHJ2X2RhdGEsIGludCB0ZW1wKQogCXsgcmV0dXJuIC1F SU5WQUw7IH0KICNlbmRpZiAvKiBDT05GSUdfVEhFUk1BTF9FTVVMQVRJT04gKi8KQEAgLTEwMTQs MTEgKzg5OCw2IEBAIHN0YXRpYyBpbnQgZXh5bm9zNDQxMl90bXVfcmVhZChzdHJ1Y3QgZXgKIAly ZXR1cm4gcmVhZGIoZGF0YS0+YmFzZSArIEVYWU5PU19UTVVfUkVHX0NVUlJFTlRfVEVNUCk7CiB9 CiAKLXN0YXRpYyBpbnQgZXh5bm9zNTQ0MF90bXVfcmVhZChzdHJ1Y3QgZXh5bm9zX3RtdV9kYXRh ICpkYXRhKQotewotCXJldHVybiByZWFkYihkYXRhLT5iYXNlICsgRVhZTk9TNTQ0MF9UTVVfUzBf N19URU1QKTsKLX0KLQogc3RhdGljIGludCBleHlub3M3X3RtdV9yZWFkKHN0cnVjdCBleHlub3Nf dG11X2RhdGEgKmRhdGEpCiB7CiAJcmV0dXJuIHJlYWR3KGRhdGEtPmJhc2UgKyBFWFlOT1NfVE1V X1JFR19DVVJSRU5UX1RFTVApICYKQEAgLTEwMjksMTYgKzkwOCw5IEBAIHN0YXRpYyB2b2lkIGV4 eW5vc190bXVfd29yayhzdHJ1Y3Qgd29ya18KIHsKIAlzdHJ1Y3QgZXh5bm9zX3RtdV9kYXRhICpk YXRhID0gY29udGFpbmVyX29mKHdvcmssCiAJCQlzdHJ1Y3QgZXh5bm9zX3RtdV9kYXRhLCBpcnFf d29yayk7Ci0JdW5zaWduZWQgaW50IHZhbF90eXBlOwogCiAJaWYgKCFJU19FUlIoZGF0YS0+Y2xr X3NlYykpCiAJCWNsa19lbmFibGUoZGF0YS0+Y2xrX3NlYyk7Ci0JLyogRmluZCB3aGljaCBzZW5z b3IgZ2VuZXJhdGVkIHRoaXMgaW50ZXJydXB0ICovCi0JaWYgKGRhdGEtPnNvYyA9PSBTT0NfQVJD SF9FWFlOT1M1NDQwKSB7Ci0JCXZhbF90eXBlID0gcmVhZGwoZGF0YS0+YmFzZV9zZWNvbmQgKyBF WFlOT1M1NDQwX1RNVV9JUlFfU1RBVFVTKTsKLQkJaWYgKCEoKHZhbF90eXBlID4+IGRhdGEtPmlk KSAmIDB4MSkpCi0JCQlnb3RvIG91dDsKLQl9CiAJaWYgKCFJU19FUlIoZGF0YS0+Y2xrX3NlYykp CiAJCWNsa19kaXNhYmxlKGRhdGEtPmNsa19zZWMpOwogCkBAIC0xMDUxLDcgKzkyMyw2IEBAIHN0 YXRpYyB2b2lkIGV4eW5vc190bXVfd29yayhzdHJ1Y3Qgd29ya18KIAogCWNsa19kaXNhYmxlKGRh dGEtPmNsayk7CiAJbXV0ZXhfdW5sb2NrKCZkYXRhLT5sb2NrKTsKLW91dDoKIAllbmFibGVfaXJx KGRhdGEtPmlycSk7CiB9CiAKQEAgLTEwODYsMTUgKzk1Nyw2IEBAIHN0YXRpYyB2b2lkIGV4eW5v czQyMTBfdG11X2NsZWFyX2lycXMoc3QKIAl3cml0ZWwodmFsX2lycSwgZGF0YS0+YmFzZSArIHRt dV9pbnRjbGVhcik7CiB9CiAKLXN0YXRpYyB2b2lkIGV4eW5vczU0NDBfdG11X2NsZWFyX2lycXMo c3RydWN0IGV4eW5vc190bXVfZGF0YSAqZGF0YSkKLXsKLQl1bnNpZ25lZCBpbnQgdmFsX2lycTsK LQotCXZhbF9pcnEgPSByZWFkbChkYXRhLT5iYXNlICsgRVhZTk9TNTQ0MF9UTVVfUzBfN19JUlEp OwotCS8qIGNsZWFyIHRoZSBpbnRlcnJ1cHRzICovCi0Jd3JpdGVsKHZhbF9pcnEsIGRhdGEtPmJh c2UgKyBFWFlOT1M1NDQwX1RNVV9TMF83X0lSUSk7Ci19Ci0KIHN0YXRpYyBpcnFyZXR1cm5fdCBl eHlub3NfdG11X2lycShpbnQgaXJxLCB2b2lkICppZCkKIHsKIAlzdHJ1Y3QgZXh5bm9zX3RtdV9k YXRhICpkYXRhID0gaWQ7CkBAIC0xMTMxLDkgKzk5Myw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg b2ZfZGV2aWNlX2lkIGV4eW5vc18KIAkJLmNvbXBhdGlibGUgPSAic2Ftc3VuZyxleHlub3M1NDMz LXRtdSIsCiAJCS5kYXRhID0gKGNvbnN0IHZvaWQgKilTT0NfQVJDSF9FWFlOT1M1NDMzLAogCX0s IHsKLQkJLmNvbXBhdGlibGUgPSAic2Ftc3VuZyxleHlub3M1NDQwLXRtdSIsCi0JCS5kYXRhID0g KGNvbnN0IHZvaWQgKilTT0NfQVJDSF9FWFlOT1M1NDQwLAotCX0sIHsKIAkJLmNvbXBhdGlibGUg PSAic2Ftc3VuZyxleHlub3M3LXRtdSIsCiAJCS5kYXRhID0gKGNvbnN0IHZvaWQgKilTT0NfQVJD SF9FWFlOT1M3LAogCX0sCkBAIC0xMjIzLDE5ICsxMDgyLDYgQEAgc3RhdGljIGludCBleHlub3Nf bWFwX2R0X2RhdGEoc3RydWN0IHBsYQogCQlkYXRhLT5taW5fZWZ1c2VfdmFsdWUgPSA0MDsKIAkJ ZGF0YS0+bWF4X2VmdXNlX3ZhbHVlID0gMTUwOwogCQlicmVhazsKLQljYXNlIFNPQ19BUkNIX0VY WU5PUzU0NDA6Ci0JCWRhdGEtPnRtdV9pbml0aWFsaXplID0gZXh5bm9zNTQ0MF90bXVfaW5pdGlh bGl6ZTsKLQkJZGF0YS0+dG11X2NvbnRyb2wgPSBleHlub3M1NDQwX3RtdV9jb250cm9sOwotCQlk YXRhLT50bXVfcmVhZCA9IGV4eW5vczU0NDBfdG11X3JlYWQ7Ci0JCWRhdGEtPnRtdV9zZXRfZW11 bGF0aW9uID0gZXh5bm9zNTQ0MF90bXVfc2V0X2VtdWxhdGlvbjsKLQkJZGF0YS0+dG11X2NsZWFy X2lycXMgPSBleHlub3M1NDQwX3RtdV9jbGVhcl9pcnFzOwotCQlkYXRhLT5udHJpcCA9IDQ7Ci0J CWRhdGEtPmdhaW4gPSA1OwotCQlkYXRhLT5yZWZlcmVuY2Vfdm9sdGFnZSA9IDE2OwotCQlkYXRh LT5lZnVzZV92YWx1ZSA9IDB4NWQyZDsKLQkJZGF0YS0+bWluX2VmdXNlX3ZhbHVlID0gMTY7Ci0J CWRhdGEtPm1heF9lZnVzZV92YWx1ZSA9IDc2OwotCQlicmVhazsKIAljYXNlIFNPQ19BUkNIX0VY WU5PUzc6CiAJCWRhdGEtPnRtdV9pbml0aWFsaXplID0gZXh5bm9zN190bXVfaW5pdGlhbGl6ZTsK IAkJZGF0YS0+dG11X2NvbnRyb2wgPSBleHlub3M3X3RtdV9jb250cm9sOwpAQCAtMTI2MCw4ICsx MTA2LDcgQEAgc3RhdGljIGludCBleHlub3NfbWFwX2R0X2RhdGEoc3RydWN0IHBsYQogCSAqIENo ZWNrIGlmIHRoZSBUTVUgc2hhcmVzIHNvbWUgcmVnaXN0ZXJzIGFuZCB0aGVuIHRyeSB0byBtYXAg dGhlCiAJICogbWVtb3J5IG9mIGNvbW1vbiByZWdpc3RlcnMuCiAJICovCi0JaWYgKGRhdGEtPnNv YyAhPSBTT0NfQVJDSF9FWFlOT1M1NDIwX1RSSU1JTkZPICYmCi0JICAgIGRhdGEtPnNvYyAhPSBT T0NfQVJDSF9FWFlOT1M1NDQwKQorCWlmIChkYXRhLT5zb2MgIT0gU09DX0FSQ0hfRVhZTk9TNTQy MF9UUklNSU5GTykKIAkJcmV0dXJuIDA7CiAKIAlpZiAob2ZfYWRkcmVzc190b19yZXNvdXJjZShw ZGV2LT5kZXYub2Zfbm9kZSwgMSwgJnJlcykpIHsK