From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefan Agner Subject: [PATCH 2/7] drm/fsl-dcu: remove regmap return value checks Date: Wed, 18 Nov 2015 18:42:45 -0800 Message-ID: <1447900970-15936-3-git-send-email-stefan@agner.ch> References: <1447900970-15936-1-git-send-email-stefan@agner.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.kmu-office.ch (mail.kmu-office.ch [178.209.48.109]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8E9326E88C for ; Wed, 18 Nov 2015 18:42:18 -0800 (PST) In-Reply-To: <1447900970-15936-1-git-send-email-stefan@agner.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: airlied@linux.ie, daniel.vetter@ffwll.ch, jianwei.wang.chn@gmail.com Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, alison.wang@freescale.com List-Id: dri-devel@lists.freedesktop.org SXQgaXMgbm90IGNvbW1vbiB0byBkbyByZWdtYXAgcmV0dXJuIHZhbHVlIGNoZWNrcywgZXNwZWNp YWxseSBub3QKZm9yIG1lbW9yeSBtYXBwZWQgZGV2aWNlLiBXZSBjYW4gcnVsZSBvdXQgbW9zdCBl cnJvciByZXR1cm5zIHNpbmNlCnRoZSBjb25kaXRpb25zIGFyZSBzdGF0aWMgYW5kIHdlIGtub3cg dGhleSBhcmUgb2sgKGUuZy4gb2Zmc2V0CmFsaWduZWQgdG8gcmVnaXN0ZXIgc3RyaWRlKS4gQWxz byB3aXRob3V0IHByb3BlciBlcnJvciBoYW5kbGluZwp0aGV5IGFyZSBub3QgcmVhbGx5IHZhbHVh YmxlIGZvciB0aGUgdXNlci4gSGVuY2UgcmVtb3ZlIG1vc3Qgb2YKdGhlbS4KClRoZSBjaGVjayBp biB0aGUgaW50ZXJydXB0IGhhbmRsZXIgaXMgd29ydGgga2VlcGluZyBzaW5jZSBhCnZvbGF0aWxl IHJlZ2lzdGVyIHdvbid0IGJlIHJlYWRhYmxlIGluIGNhc2UgcmVnaXN0ZXIgY2FjaGluZyBpcwpz dGlsbCBlbmFibGVkLgoKU2lnbmVkLW9mZi1ieTogU3RlZmFuIEFnbmVyIDxzdGVmYW5AYWduZXIu Y2g+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fY3J0Yy5jICB8IDEy NCArKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9m c2xfZGN1X2RybV9kcnYuYyAgIHwgIDU0ICsrKystLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2Zz bC1kY3UvZnNsX2RjdV9kcm1fcGxhbmUuYyB8IDEwOSArKysrKysrKystLS0tLS0tLS0tLS0tLS0K IDMgZmlsZXMgY2hhbmdlZCwgOTkgaW5zZXJ0aW9ucygrKSwgMTg4IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX2NydGMuYyBiL2Ry aXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX2NydGMuYwppbmRleCA4MmEzZDMxLi5h ZGY5MjEyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9j cnRjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fY3J0Yy5jCkBA IC00MiwzNCArNDIsMjQgQEAgc3RhdGljIHZvaWQgZnNsX2RjdV9kcm1fZGlzYWJsZV9jcnRjKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YykKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ ZGV2OwogCXN0cnVjdCBmc2xfZGN1X2RybV9kZXZpY2UgKmZzbF9kZXYgPSBkZXYtPmRldl9wcml2 YXRlOwotCWludCByZXQ7CiAKLQlyZXQgPSByZWdtYXBfdXBkYXRlX2JpdHMoZnNsX2Rldi0+cmVn bWFwLCBEQ1VfRENVX01PREUsCi0JCQkJIERDVV9NT0RFX0RDVV9NT0RFX01BU0ssCi0JCQkJIERD VV9NT0RFX0RDVV9NT0RFKERDVV9NT0RFX09GRikpOwotCWlmIChyZXQpCi0JCWRldl9lcnIoZnNs X2Rldi0+ZGV2LCAiRGlzYWJsZSBDUlRDIGZhaWxlZFxuIik7Ci0JcmV0ID0gcmVnbWFwX3dyaXRl KGZzbF9kZXYtPnJlZ21hcCwgRENVX1VQREFURV9NT0RFLAotCQkJICAgRENVX1VQREFURV9NT0RF X1JFQURSRUcpOwotCWlmIChyZXQpCi0JCWRldl9lcnIoZnNsX2Rldi0+ZGV2LCAiRW5hYmxlIENS VEMgZmFpbGVkXG4iKTsKKwlyZWdtYXBfdXBkYXRlX2JpdHMoZnNsX2Rldi0+cmVnbWFwLCBEQ1Vf RENVX01PREUsCisJCQkgICBEQ1VfTU9ERV9EQ1VfTU9ERV9NQVNLLAorCQkJICAgRENVX01PREVf RENVX01PREUoRENVX01PREVfT0ZGKSk7CisJcmVnbWFwX3dyaXRlKGZzbF9kZXYtPnJlZ21hcCwg RENVX1VQREFURV9NT0RFLAorCQkgICAgIERDVV9VUERBVEVfTU9ERV9SRUFEUkVHKTsKIH0KIAog c3RhdGljIHZvaWQgZnNsX2RjdV9kcm1fY3J0Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRj KQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7CiAJc3RydWN0IGZzbF9k Y3VfZHJtX2RldmljZSAqZnNsX2RldiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0JaW50IHJldDsKIAot CXJldCA9IHJlZ21hcF91cGRhdGVfYml0cyhmc2xfZGV2LT5yZWdtYXAsIERDVV9EQ1VfTU9ERSwK LQkJCQkgRENVX01PREVfRENVX01PREVfTUFTSywKLQkJCQkgRENVX01PREVfRENVX01PREUoRENV X01PREVfTk9STUFMKSk7Ci0JaWYgKHJldCkKLQkJZGV2X2Vycihmc2xfZGV2LT5kZXYsICJFbmFi bGUgQ1JUQyBmYWlsZWRcbiIpOwotCXJldCA9IHJlZ21hcF93cml0ZShmc2xfZGV2LT5yZWdtYXAs IERDVV9VUERBVEVfTU9ERSwKLQkJCSAgIERDVV9VUERBVEVfTU9ERV9SRUFEUkVHKTsKLQlpZiAo cmV0KQotCQlkZXZfZXJyKGZzbF9kZXYtPmRldiwgIkVuYWJsZSBDUlRDIGZhaWxlZFxuIik7CisJ cmVnbWFwX3VwZGF0ZV9iaXRzKGZzbF9kZXYtPnJlZ21hcCwgRENVX0RDVV9NT0RFLAorCQkJICAg RENVX01PREVfRENVX01PREVfTUFTSywKKwkJCSAgIERDVV9NT0RFX0RDVV9NT0RFKERDVV9NT0RF X05PUk1BTCkpOworCXJlZ21hcF93cml0ZShmc2xfZGV2LT5yZWdtYXAsIERDVV9VUERBVEVfTU9E RSwKKwkJICAgICBEQ1VfVVBEQVRFX01PREVfUkVBRFJFRyk7CiB9CiAKIHN0YXRpYyBib29sIGZz bF9kY3VfZHJtX2NydGNfbW9kZV9maXh1cChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCkBAIC04Niw3 ICs3Niw2IEBAIHN0YXRpYyB2b2lkIGZzbF9kY3VfZHJtX2NydGNfbW9kZV9zZXRfbm9mYihzdHJ1 Y3QgZHJtX2NydGMgKmNydGMpCiAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUgPSAmY3J0 Yy0+c3RhdGUtPm1vZGU7CiAJdW5zaWduZWQgaW50IGhicCwgaGZwLCBoc3csIHZicCwgdmZwLCB2 c3csIGRpdiwgaW5kZXg7CiAJdW5zaWduZWQgbG9uZyBkY3VjbGs7Ci0JaW50IHJldDsKIAogCWlu ZGV4ID0gZHJtX2NydGNfaW5kZXgoY3J0Yyk7CiAJZGN1Y2xrID0gY2xrX2dldF9yYXRlKGZzbF9k ZXYtPmNsayk7CkBAIC0xMDAsNTEgKzg5LDMxIEBAIHN0YXRpYyB2b2lkIGZzbF9kY3VfZHJtX2Ny dGNfbW9kZV9zZXRfbm9mYihzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJdmZwID0gbW9kZS0+dnN5 bmNfc3RhcnQgLSBtb2RlLT52ZGlzcGxheTsKIAl2c3cgPSBtb2RlLT52c3luY19lbmQgLSBtb2Rl LT52c3luY19zdGFydDsKIAotCXJldCA9IHJlZ21hcF93cml0ZShmc2xfZGV2LT5yZWdtYXAsIERD VV9IU1lOX1BBUkEsCi0JCQkgICBEQ1VfSFNZTl9QQVJBX0JQKGhicCkgfAotCQkJICAgRENVX0hT WU5fUEFSQV9QVyhoc3cpIHwKLQkJCSAgIERDVV9IU1lOX1BBUkFfRlAoaGZwKSk7Ci0JaWYgKHJl dCkKLQkJZ290byBzZXRfZmFpbGVkOwotCXJldCA9IHJlZ21hcF93cml0ZShmc2xfZGV2LT5yZWdt YXAsIERDVV9WU1lOX1BBUkEsCi0JCQkgICBEQ1VfVlNZTl9QQVJBX0JQKHZicCkgfAotCQkJICAg RENVX1ZTWU5fUEFSQV9QVyh2c3cpIHwKLQkJCSAgIERDVV9WU1lOX1BBUkFfRlAodmZwKSk7Ci0J aWYgKHJldCkKLQkJZ290byBzZXRfZmFpbGVkOwotCXJldCA9IHJlZ21hcF93cml0ZShmc2xfZGV2 LT5yZWdtYXAsIERDVV9ESVNQX1NJWkUsCi0JCQkgICBEQ1VfRElTUF9TSVpFX0RFTFRBX1kobW9k ZS0+dmRpc3BsYXkpIHwKLQkJCSAgIERDVV9ESVNQX1NJWkVfREVMVEFfWChtb2RlLT5oZGlzcGxh eSkpOwotCWlmIChyZXQpCi0JCWdvdG8gc2V0X2ZhaWxlZDsKLQlyZXQgPSByZWdtYXBfd3JpdGUo ZnNsX2Rldi0+cmVnbWFwLCBEQ1VfRElWX1JBVElPLCBkaXYpOwotCWlmIChyZXQpCi0JCWdvdG8g c2V0X2ZhaWxlZDsKLQlyZXQgPSByZWdtYXBfd3JpdGUoZnNsX2Rldi0+cmVnbWFwLCBEQ1VfU1lO X1BPTCwKLQkJCSAgIERDVV9TWU5fUE9MX0lOVl9WU19MT1cgfCBEQ1VfU1lOX1BPTF9JTlZfSFNf TE9XKTsKLQlpZiAocmV0KQotCQlnb3RvIHNldF9mYWlsZWQ7Ci0JcmV0ID0gcmVnbWFwX3dyaXRl KGZzbF9kZXYtPnJlZ21hcCwgRENVX0JHTkQsIERDVV9CR05EX1IoMCkgfAotCQkJICAgRENVX0JH TkRfRygwKSB8IERDVV9CR05EX0IoMCkpOwotCWlmIChyZXQpCi0JCWdvdG8gc2V0X2ZhaWxlZDsK LQlyZXQgPSByZWdtYXBfd3JpdGUoZnNsX2Rldi0+cmVnbWFwLCBEQ1VfRENVX01PREUsCi0JCQkg ICBEQ1VfTU9ERV9CTEVORF9JVEVSKDEpIHwgRENVX01PREVfUkFTVEVSX0VOKTsKLQlpZiAocmV0 KQotCQlnb3RvIHNldF9mYWlsZWQ7Ci0JcmV0ID0gcmVnbWFwX3dyaXRlKGZzbF9kZXYtPnJlZ21h cCwgRENVX1RIUkVTSE9MRCwKLQkJCSAgIERDVV9USFJFU0hPTERfTFNfQkZfVlMoQkZfVlNfVkFM KSB8Ci0JCQkgICBEQ1VfVEhSRVNIT0xEX09VVF9CVUZfSElHSChCVUZfTUFYX1ZBTCkgfAotCQkJ ICAgRENVX1RIUkVTSE9MRF9PVVRfQlVGX0xPVyhCVUZfTUlOX1ZBTCkpOwotCWlmIChyZXQpCi0J CWdvdG8gc2V0X2ZhaWxlZDsKLQlyZXQgPSByZWdtYXBfd3JpdGUoZnNsX2Rldi0+cmVnbWFwLCBE Q1VfVVBEQVRFX01PREUsCi0JCQkgICBEQ1VfVVBEQVRFX01PREVfUkVBRFJFRyk7Ci0JaWYgKHJl dCkKLQkJZ290byBzZXRfZmFpbGVkOworCXJlZ21hcF93cml0ZShmc2xfZGV2LT5yZWdtYXAsIERD VV9IU1lOX1BBUkEsCisJCSAgICAgRENVX0hTWU5fUEFSQV9CUChoYnApIHwKKwkJICAgICBEQ1Vf SFNZTl9QQVJBX1BXKGhzdykgfAorCQkgICAgIERDVV9IU1lOX1BBUkFfRlAoaGZwKSk7CisJcmVn bWFwX3dyaXRlKGZzbF9kZXYtPnJlZ21hcCwgRENVX1ZTWU5fUEFSQSwKKwkJICAgICBEQ1VfVlNZ Tl9QQVJBX0JQKHZicCkgfAorCQkgICAgIERDVV9WU1lOX1BBUkFfUFcodnN3KSB8CisJCSAgICAg RENVX1ZTWU5fUEFSQV9GUCh2ZnApKTsKKwlyZWdtYXBfd3JpdGUoZnNsX2Rldi0+cmVnbWFwLCBE Q1VfRElTUF9TSVpFLAorCQkgICAgIERDVV9ESVNQX1NJWkVfREVMVEFfWShtb2RlLT52ZGlzcGxh eSkgfAorCQkgICAgIERDVV9ESVNQX1NJWkVfREVMVEFfWChtb2RlLT5oZGlzcGxheSkpOworCXJl Z21hcF93cml0ZShmc2xfZGV2LT5yZWdtYXAsIERDVV9ESVZfUkFUSU8sIGRpdik7CisJcmVnbWFw X3dyaXRlKGZzbF9kZXYtPnJlZ21hcCwgRENVX1NZTl9QT0wsCisJCSAgICAgRENVX1NZTl9QT0xf SU5WX1ZTX0xPVyB8IERDVV9TWU5fUE9MX0lOVl9IU19MT1cpOworCXJlZ21hcF93cml0ZShmc2xf ZGV2LT5yZWdtYXAsIERDVV9CR05ELCBEQ1VfQkdORF9SKDApIHwKKwkJICAgICBEQ1VfQkdORF9H KDApIHwgRENVX0JHTkRfQigwKSk7CisJcmVnbWFwX3dyaXRlKGZzbF9kZXYtPnJlZ21hcCwgRENV X0RDVV9NT0RFLAorCQkgICAgIERDVV9NT0RFX0JMRU5EX0lURVIoMSkgfCBEQ1VfTU9ERV9SQVNU RVJfRU4pOworCXJlZ21hcF93cml0ZShmc2xfZGV2LT5yZWdtYXAsIERDVV9USFJFU0hPTEQsCisJ CSAgICAgRENVX1RIUkVTSE9MRF9MU19CRl9WUyhCRl9WU19WQUwpIHwKKwkJICAgICBEQ1VfVEhS RVNIT0xEX09VVF9CVUZfSElHSChCVUZfTUFYX1ZBTCkgfAorCQkgICAgIERDVV9USFJFU0hPTERf T1VUX0JVRl9MT1coQlVGX01JTl9WQUwpKTsKKwlyZWdtYXBfd3JpdGUoZnNsX2Rldi0+cmVnbWFw LCBEQ1VfVVBEQVRFX01PREUsCisJCSAgICAgRENVX1VQREFURV9NT0RFX1JFQURSRUcpOwogCXJl dHVybjsKLXNldF9mYWlsZWQ6Ci0JZGV2X2VycihkZXYtPmRldiwgInNldCBEQ1UgcmVnaXN0ZXIg ZmFpbGVkXG4iKTsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19oZWxwZXJfZnVu Y3MgZnNsX2RjdV9kcm1fY3J0Y19oZWxwZXJfZnVuY3MgPSB7CkBAIC0xODYsMjUgKzE1NSwxNCBA QCBpbnQgZnNsX2RjdV9kcm1fY3J0Y19jcmVhdGUoc3RydWN0IGZzbF9kY3VfZHJtX2RldmljZSAq ZnNsX2RldikKIAllbHNlCiAJCXJlZ19udW0gPSBWRjYxMF9MQVlFUl9SRUdfTlVNOwogCWZvciAo aSA9IDA7IGkgPD0gZnNsX2Rldi0+c29jLT50b3RhbF9sYXllcjsgaSsrKSB7Ci0JCWZvciAoaiA9 IDA7IGogPCByZWdfbnVtOyBqKyspIHsKLQkJCXJldCA9IHJlZ21hcF93cml0ZShmc2xfZGV2LT5y ZWdtYXAsCi0JCQkJCSAgIERDVV9DVFJMREVTQ0xOKGksIGopLCAwKTsKLQkJCWlmIChyZXQpCi0J CQkJZ290byBpbml0X2ZhaWxlZDsKLQkJfQorCQlmb3IgKGogPSAwOyBqIDwgcmVnX251bTsgaisr KQorCQkJcmVnbWFwX3dyaXRlKGZzbF9kZXYtPnJlZ21hcCwgRENVX0NUUkxERVNDTE4oaSwgaiks IDApOwogCX0KLQlyZXQgPSByZWdtYXBfdXBkYXRlX2JpdHMoZnNsX2Rldi0+cmVnbWFwLCBEQ1Vf RENVX01PREUsCi0JCQkJIERDVV9NT0RFX0RDVV9NT0RFX01BU0ssCi0JCQkJIERDVV9NT0RFX0RD VV9NT0RFKERDVV9NT0RFX09GRikpOwotCWlmIChyZXQpCi0JCWdvdG8gaW5pdF9mYWlsZWQ7Ci0J cmV0ID0gcmVnbWFwX3dyaXRlKGZzbF9kZXYtPnJlZ21hcCwgRENVX1VQREFURV9NT0RFLAotCQkJ ICAgRENVX1VQREFURV9NT0RFX1JFQURSRUcpOwotCWlmIChyZXQpCi0JCWdvdG8gaW5pdF9mYWls ZWQ7CisJcmVnbWFwX3VwZGF0ZV9iaXRzKGZzbF9kZXYtPnJlZ21hcCwgRENVX0RDVV9NT0RFLAor CQkJICAgRENVX01PREVfRENVX01PREVfTUFTSywKKwkJCSAgIERDVV9NT0RFX0RDVV9NT0RFKERD VV9NT0RFX09GRikpOworCXJlZ21hcF93cml0ZShmc2xfZGV2LT5yZWdtYXAsIERDVV9VUERBVEVf TU9ERSwKKwkJICAgICBEQ1VfVVBEQVRFX01PREVfUkVBRFJFRyk7CiAKIAlyZXR1cm4gMDsKLWlu aXRfZmFpbGVkOgotCWRldl9lcnIoZnNsX2Rldi0+ZGV2LCAiaW5pdCBEQ1UgcmVnaXN0ZXIgZmFp bGVkXG4iKTsKLQlyZXR1cm4gcmV0OwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Zz bC1kY3UvZnNsX2RjdV9kcm1fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1 X2RybV9kcnYuYwppbmRleCBkNmUyN2FmLi5kMzdmZjBlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZnNs LWRjdS9mc2xfZGN1X2RybV9kcnYuYwpAQCAtNTUsMjAgKzU1LDEyIEBAIHN0YXRpYyBpbnQgZnNs X2RjdV9kcm1faXJxX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlpZiAocmV0IDwgMCkK IAkJZGV2X2VycihkZXYtPmRldiwgImZhaWxlZCB0byBpbnN0YWxsIElSUSBoYW5kbGVyXG4iKTsK IAotCXJldCA9IHJlZ21hcF93cml0ZShmc2xfZGV2LT5yZWdtYXAsIERDVV9JTlRfU1RBVFVTLCAw KTsKLQlpZiAocmV0KQotCQlkZXZfZXJyKGRldi0+ZGV2LCAic2V0IERDVV9JTlRfU1RBVFVTIGZh aWxlZFxuIik7Ci0JcmV0ID0gcmVnbWFwX3JlYWQoZnNsX2Rldi0+cmVnbWFwLCBEQ1VfSU5UX01B U0ssICZ2YWx1ZSk7Ci0JaWYgKHJldCkKLQkJZGV2X2VycihkZXYtPmRldiwgInJlYWQgRENVX0lO VF9NQVNLIGZhaWxlZFxuIik7CisJcmVnbWFwX3dyaXRlKGZzbF9kZXYtPnJlZ21hcCwgRENVX0lO VF9TVEFUVVMsIDApOworCXJlZ21hcF9yZWFkKGZzbF9kZXYtPnJlZ21hcCwgRENVX0lOVF9NQVNL LCAmdmFsdWUpOwogCXZhbHVlICY9IERDVV9JTlRfTUFTS19WQkxBTks7Ci0JcmV0ID0gcmVnbWFw X3dyaXRlKGZzbF9kZXYtPnJlZ21hcCwgRENVX0lOVF9NQVNLLCB2YWx1ZSk7Ci0JaWYgKHJldCkK LQkJZGV2X2VycihkZXYtPmRldiwgInNldCBEQ1VfSU5UX01BU0sgZmFpbGVkXG4iKTsKLQlyZXQg PSByZWdtYXBfd3JpdGUoZnNsX2Rldi0+cmVnbWFwLCBEQ1VfVVBEQVRFX01PREUsCi0JCQkgICBE Q1VfVVBEQVRFX01PREVfUkVBRFJFRyk7Ci0JaWYgKHJldCkKLQkJZGV2X2VycihkZXYtPmRldiwg InNldCBEQ1VfVVBEQVRFX01PREUgZmFpbGVkXG4iKTsKKwlyZWdtYXBfd3JpdGUoZnNsX2Rldi0+ cmVnbWFwLCBEQ1VfSU5UX01BU0ssIHZhbHVlKTsKKwlyZWdtYXBfd3JpdGUoZnNsX2Rldi0+cmVn bWFwLCBEQ1VfVVBEQVRFX01PREUsCisJCSAgICAgRENVX1VQREFURV9NT0RFX1JFQURSRUcpOwog CiAJcmV0dXJuIHJldDsKIH0KQEAgLTEzNCwxOCArMTI2LDE3IEBAIHN0YXRpYyBpcnFyZXR1cm5f dCBmc2xfZGN1X2RybV9pcnEoaW50IGlycSwgdm9pZCAqYXJnKQogCWludCByZXQ7CiAKIAlyZXQg PSByZWdtYXBfcmVhZChmc2xfZGV2LT5yZWdtYXAsIERDVV9JTlRfU1RBVFVTLCAmaW50X3N0YXR1 cyk7Ci0JaWYgKHJldCkKLQkJZGV2X2VycihkZXYtPmRldiwgInNldCBEQ1VfSU5UX1NUQVRVUyBm YWlsZWRcbiIpOworCWlmIChyZXQpIHsKKwkJZGV2X2VycihkZXYtPmRldiwgInJlYWQgRENVX0lO VF9TVEFUVVMgZmFpbGVkXG4iKTsKKwkJcmV0dXJuIElSUV9OT05FOworCX0KKwogCWlmIChpbnRf c3RhdHVzICYgRENVX0lOVF9TVEFUVVNfVkJMQU5LKQogCQlkcm1faGFuZGxlX3ZibGFuayhkZXYs IDApOwogCi0JcmV0ID0gcmVnbWFwX3dyaXRlKGZzbF9kZXYtPnJlZ21hcCwgRENVX0lOVF9TVEFU VVMsIGludF9zdGF0dXMpOwotCWlmIChyZXQpCi0JCWRldl9lcnIoZGV2LT5kZXYsICJzZXQgRENV X0lOVF9TVEFUVVMgZmFpbGVkXG4iKTsKLQlyZXQgPSByZWdtYXBfd3JpdGUoZnNsX2Rldi0+cmVn bWFwLCBEQ1VfVVBEQVRFX01PREUsCi0JCQkgICBEQ1VfVVBEQVRFX01PREVfUkVBRFJFRyk7Ci0J aWYgKHJldCkKLQkJZGV2X2VycihkZXYtPmRldiwgInNldCBEQ1VfVVBEQVRFX01PREUgZmFpbGVk XG4iKTsKKwlyZWdtYXBfd3JpdGUoZnNsX2Rldi0+cmVnbWFwLCBEQ1VfSU5UX1NUQVRVUywgaW50 X3N0YXR1cyk7CisJcmVnbWFwX3dyaXRlKGZzbF9kZXYtPnJlZ21hcCwgRENVX1VQREFURV9NT0RF LAorCQkgICAgIERDVV9VUERBVEVfTU9ERV9SRUFEUkVHKTsKIAogCXJldHVybiBJUlFfSEFORExF RDsKIH0KQEAgLTE1NCwxNSArMTQ1LDExIEBAIHN0YXRpYyBpbnQgZnNsX2RjdV9kcm1fZW5hYmxl X3ZibGFuayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSkKIHsKIAlz dHJ1Y3QgZnNsX2RjdV9kcm1fZGV2aWNlICpmc2xfZGV2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAl1 bnNpZ25lZCBpbnQgdmFsdWU7Ci0JaW50IHJldDsKIAotCXJldCA9IHJlZ21hcF9yZWFkKGZzbF9k ZXYtPnJlZ21hcCwgRENVX0lOVF9NQVNLLCAmdmFsdWUpOwotCWlmIChyZXQpCi0JCWRldl9lcnIo ZGV2LT5kZXYsICJyZWFkIERDVV9JTlRfTUFTSyBmYWlsZWRcbiIpOworCXJlZ21hcF9yZWFkKGZz bF9kZXYtPnJlZ21hcCwgRENVX0lOVF9NQVNLLCAmdmFsdWUpOwogCXZhbHVlICY9IH5EQ1VfSU5U X01BU0tfVkJMQU5LOwotCXJldCA9IHJlZ21hcF93cml0ZShmc2xfZGV2LT5yZWdtYXAsIERDVV9J TlRfTUFTSywgdmFsdWUpOwotCWlmIChyZXQpCi0JCWRldl9lcnIoZGV2LT5kZXYsICJzZXQgRENV X0lOVF9NQVNLIGZhaWxlZFxuIik7CisJcmVnbWFwX3dyaXRlKGZzbF9kZXYtPnJlZ21hcCwgRENV X0lOVF9NQVNLLCB2YWx1ZSk7CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtMTcxLDE1ICsxNTgsMTAg QEAgc3RhdGljIHZvaWQgZnNsX2RjdV9kcm1fZGlzYWJsZV92Ymxhbmsoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKIHsKIAlzdHJ1Y3QgZnNsX2RjdV9kcm1fZGV2aWNlICpmc2xfZGV2ID0gZGV2LT5k ZXZfcHJpdmF0ZTsKIAl1bnNpZ25lZCBpbnQgdmFsdWU7Ci0JaW50IHJldDsKIAotCXJldCA9IHJl Z21hcF9yZWFkKGZzbF9kZXYtPnJlZ21hcCwgRENVX0lOVF9NQVNLLCAmdmFsdWUpOwotCWlmIChy ZXQpCi0JCWRldl9lcnIoZGV2LT5kZXYsICJyZWFkIERDVV9JTlRfTUFTSyBmYWlsZWRcbiIpOwor CXJlZ21hcF9yZWFkKGZzbF9kZXYtPnJlZ21hcCwgRENVX0lOVF9NQVNLLCAmdmFsdWUpOwogCXZh bHVlIHw9IERDVV9JTlRfTUFTS19WQkxBTks7Ci0JcmV0ID0gcmVnbWFwX3dyaXRlKGZzbF9kZXYt PnJlZ21hcCwgRENVX0lOVF9NQVNLLCB2YWx1ZSk7Ci0JaWYgKHJldCkKLQkJZGV2X2VycihkZXYt PmRldiwgInNldCBEQ1VfSU5UX01BU0sgZmFpbGVkXG4iKTsKKwlyZWdtYXBfd3JpdGUoZnNsX2Rl di0+cmVnbWFwLCBEQ1VfSU5UX01BU0ssIHZhbHVlKTsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVj dCBmaWxlX29wZXJhdGlvbnMgZnNsX2RjdV9kcm1fZm9wcyA9IHsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0v ZnNsLWRjdS9mc2xfZGN1X2RybV9wbGFuZS5jCmluZGV4IGE4OTMyYTguLjkyZTYwNmEgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX3BsYW5lLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fcGxhbmUuYwpAQCAtNjIsMTkgKzYy LDE1IEBAIHN0YXRpYyB2b2lkIGZzbF9kY3VfZHJtX3BsYW5lX2F0b21pY19kaXNhYmxlKHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lLAogewogCXN0cnVjdCBmc2xfZGN1X2RybV9kZXZpY2UgKmZzbF9k ZXYgPSBwbGFuZS0+ZGV2LT5kZXZfcHJpdmF0ZTsKIAl1bnNpZ25lZCBpbnQgdmFsdWU7Ci0JaW50 IGluZGV4LCByZXQ7CisJaW50IGluZGV4OwogCiAJaW5kZXggPSBmc2xfZGN1X2RybV9wbGFuZV9p bmRleChwbGFuZSk7CiAJaWYgKGluZGV4IDwgMCkKIAkJcmV0dXJuOwogCi0JcmV0ID0gcmVnbWFw X3JlYWQoZnNsX2Rldi0+cmVnbWFwLCBEQ1VfQ1RSTERFU0NMTihpbmRleCwgNCksICZ2YWx1ZSk7 Ci0JaWYgKHJldCkKLQkJZGV2X2Vycihmc2xfZGV2LT5kZXYsICJyZWFkIERDVV9JTlRfTUFTSyBm YWlsZWRcbiIpOworCXJlZ21hcF9yZWFkKGZzbF9kZXYtPnJlZ21hcCwgRENVX0NUUkxERVNDTE4o aW5kZXgsIDQpLCAmdmFsdWUpOwogCXZhbHVlICY9IH5EQ1VfTEFZRVJfRU47Ci0JcmV0ID0gcmVn bWFwX3dyaXRlKGZzbF9kZXYtPnJlZ21hcCwgRENVX0NUUkxERVNDTE4oaW5kZXgsIDQpLCB2YWx1 ZSk7Ci0JaWYgKHJldCkKLQkJZGV2X2Vycihmc2xfZGV2LT5kZXYsICJzZXQgRENVIHJlZ2lzdGVy IGZhaWxlZFxuIik7CisJcmVnbWFwX3dyaXRlKGZzbF9kZXYtPnJlZ21hcCwgRENVX0NUUkxERVND TE4oaW5kZXgsIDQpLCB2YWx1ZSk7CiB9CiAKIHN0YXRpYyB2b2lkIGZzbF9kY3VfZHJtX3BsYW5l X2F0b21pY191cGRhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCkBAIC04Niw3ICs4Miw3IEBA IHN0YXRpYyB2b2lkIGZzbF9kY3VfZHJtX3BsYW5lX2F0b21pY191cGRhdGUoc3RydWN0IGRybV9w bGFuZSAqcGxhbmUsCiAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBwbGFuZS0+c3RhdGUt PmZiOwogCXN0cnVjdCBkcm1fZ2VtX2NtYV9vYmplY3QgKmdlbTsKIAl1bnNpZ25lZCBpbnQgYWxw aGEsIGJwcDsKLQlpbnQgaW5kZXgsIHJldDsKKwlpbnQgaW5kZXg7CiAKIAlpbmRleCA9IGZzbF9k Y3VfZHJtX3BsYW5lX2luZGV4KHBsYW5lKTsKIAlpZiAoaW5kZXggPCAwKQpAQCAtMTIzLDcwICsx MTksNDUgQEAgc3RhdGljIHZvaWQgZnNsX2RjdV9kcm1fcGxhbmVfYXRvbWljX3VwZGF0ZShzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJcmV0dXJuOwogCX0KIAotCXJldCA9IHJlZ21hcF93cml0 ZShmc2xfZGV2LT5yZWdtYXAsIERDVV9DVFJMREVTQ0xOKGluZGV4LCAxKSwKLQkJCSAgIERDVV9M QVlFUl9IRUlHSFQoc3RhdGUtPmNydGNfaCkgfAotCQkJICAgRENVX0xBWUVSX1dJRFRIKHN0YXRl LT5jcnRjX3cpKTsKLQlpZiAocmV0KQotCQlnb3RvIHNldF9mYWlsZWQ7Ci0JcmV0ID0gcmVnbWFw X3dyaXRlKGZzbF9kZXYtPnJlZ21hcCwgRENVX0NUUkxERVNDTE4oaW5kZXgsIDIpLAotCQkJICAg RENVX0xBWUVSX1BPU1koc3RhdGUtPmNydGNfeSkgfAotCQkJICAgRENVX0xBWUVSX1BPU1goc3Rh dGUtPmNydGNfeCkpOwotCWlmIChyZXQpCi0JCWdvdG8gc2V0X2ZhaWxlZDsKLQlyZXQgPSByZWdt YXBfd3JpdGUoZnNsX2Rldi0+cmVnbWFwLAotCQkJICAgRENVX0NUUkxERVNDTE4oaW5kZXgsIDMp LCBnZW0tPnBhZGRyKTsKLQlpZiAocmV0KQotCQlnb3RvIHNldF9mYWlsZWQ7Ci0JcmV0ID0gcmVn bWFwX3dyaXRlKGZzbF9kZXYtPnJlZ21hcCwgRENVX0NUUkxERVNDTE4oaW5kZXgsIDQpLAotCQkJ ICAgRENVX0xBWUVSX0VOIHwKLQkJCSAgIERDVV9MQVlFUl9UUkFOUyhhbHBoYSkgfAotCQkJICAg RENVX0xBWUVSX0JQUChicHApIHwKLQkJCSAgIERDVV9MQVlFUl9BQigwKSk7Ci0JaWYgKHJldCkK LQkJZ290byBzZXRfZmFpbGVkOwotCXJldCA9IHJlZ21hcF93cml0ZShmc2xfZGV2LT5yZWdtYXAs IERDVV9DVFJMREVTQ0xOKGluZGV4LCA1KSwKLQkJCSAgIERDVV9MQVlFUl9DS01BWF9SKDB4RkYp IHwKLQkJCSAgIERDVV9MQVlFUl9DS01BWF9HKDB4RkYpIHwKLQkJCSAgIERDVV9MQVlFUl9DS01B WF9CKDB4RkYpKTsKLQlpZiAocmV0KQotCQlnb3RvIHNldF9mYWlsZWQ7Ci0JcmV0ID0gcmVnbWFw X3dyaXRlKGZzbF9kZXYtPnJlZ21hcCwgRENVX0NUUkxERVNDTE4oaW5kZXgsIDYpLAotCQkJICAg RENVX0xBWUVSX0NLTUlOX1IoMCkgfAotCQkJICAgRENVX0xBWUVSX0NLTUlOX0coMCkgfAotCQkJ ICAgRENVX0xBWUVSX0NLTUlOX0IoMCkpOwotCWlmIChyZXQpCi0JCWdvdG8gc2V0X2ZhaWxlZDsK LQlyZXQgPSByZWdtYXBfd3JpdGUoZnNsX2Rldi0+cmVnbWFwLCBEQ1VfQ1RSTERFU0NMTihpbmRl eCwgNyksIDApOwotCWlmIChyZXQpCi0JCWdvdG8gc2V0X2ZhaWxlZDsKLQlyZXQgPSByZWdtYXBf d3JpdGUoZnNsX2Rldi0+cmVnbWFwLCBEQ1VfQ1RSTERFU0NMTihpbmRleCwgOCksCi0JCQkgICBE Q1VfTEFZRVJfRkdfRkNPTE9SKDApKTsKLQlpZiAocmV0KQotCQlnb3RvIHNldF9mYWlsZWQ7Ci0J cmV0ID0gcmVnbWFwX3dyaXRlKGZzbF9kZXYtPnJlZ21hcCwgRENVX0NUUkxERVNDTE4oaW5kZXgs IDkpLAotCQkJICAgRENVX0xBWUVSX0JHX0JDT0xPUigwKSk7Ci0JaWYgKHJldCkKLQkJZ290byBz ZXRfZmFpbGVkOworCXJlZ21hcF93cml0ZShmc2xfZGV2LT5yZWdtYXAsIERDVV9DVFJMREVTQ0xO KGluZGV4LCAxKSwKKwkJICAgICBEQ1VfTEFZRVJfSEVJR0hUKHN0YXRlLT5jcnRjX2gpIHwKKwkJ ICAgICBEQ1VfTEFZRVJfV0lEVEgoc3RhdGUtPmNydGNfdykpOworCXJlZ21hcF93cml0ZShmc2xf ZGV2LT5yZWdtYXAsIERDVV9DVFJMREVTQ0xOKGluZGV4LCAyKSwKKwkJICAgICBEQ1VfTEFZRVJf UE9TWShzdGF0ZS0+Y3J0Y195KSB8CisJCSAgICAgRENVX0xBWUVSX1BPU1goc3RhdGUtPmNydGNf eCkpOworCXJlZ21hcF93cml0ZShmc2xfZGV2LT5yZWdtYXAsCisJCSAgICAgRENVX0NUUkxERVND TE4oaW5kZXgsIDMpLCBnZW0tPnBhZGRyKTsKKwlyZWdtYXBfd3JpdGUoZnNsX2Rldi0+cmVnbWFw LCBEQ1VfQ1RSTERFU0NMTihpbmRleCwgNCksCisJCSAgICAgRENVX0xBWUVSX0VOIHwKKwkJICAg ICBEQ1VfTEFZRVJfVFJBTlMoYWxwaGEpIHwKKwkJICAgICBEQ1VfTEFZRVJfQlBQKGJwcCkgfAor CQkgICAgIERDVV9MQVlFUl9BQigwKSk7CisJcmVnbWFwX3dyaXRlKGZzbF9kZXYtPnJlZ21hcCwg RENVX0NUUkxERVNDTE4oaW5kZXgsIDUpLAorCQkgICAgIERDVV9MQVlFUl9DS01BWF9SKDB4RkYp IHwKKwkJICAgICBEQ1VfTEFZRVJfQ0tNQVhfRygweEZGKSB8CisJCSAgICAgRENVX0xBWUVSX0NL TUFYX0IoMHhGRikpOworCXJlZ21hcF93cml0ZShmc2xfZGV2LT5yZWdtYXAsIERDVV9DVFJMREVT Q0xOKGluZGV4LCA2KSwKKwkJICAgICBEQ1VfTEFZRVJfQ0tNSU5fUigwKSB8CisJCSAgICAgRENV X0xBWUVSX0NLTUlOX0coMCkgfAorCQkgICAgIERDVV9MQVlFUl9DS01JTl9CKDApKTsKKwlyZWdt YXBfd3JpdGUoZnNsX2Rldi0+cmVnbWFwLCBEQ1VfQ1RSTERFU0NMTihpbmRleCwgNyksIDApOwor CXJlZ21hcF93cml0ZShmc2xfZGV2LT5yZWdtYXAsIERDVV9DVFJMREVTQ0xOKGluZGV4LCA4KSwK KwkJICAgICBEQ1VfTEFZRVJfRkdfRkNPTE9SKDApKTsKKwlyZWdtYXBfd3JpdGUoZnNsX2Rldi0+ cmVnbWFwLCBEQ1VfQ1RSTERFU0NMTihpbmRleCwgOSksCisJCSAgICAgRENVX0xBWUVSX0JHX0JD T0xPUigwKSk7CisKIAlpZiAoIXN0cmNtcChmc2xfZGV2LT5zb2MtPm5hbWUsICJsczEwMjFhIikp IHsKLQkJcmV0ID0gcmVnbWFwX3dyaXRlKGZzbF9kZXYtPnJlZ21hcCwgRENVX0NUUkxERVNDTE4o aW5kZXgsIDEwKSwKLQkJCQkgICBEQ1VfTEFZRVJfUE9TVF9TS0lQKDApIHwKLQkJCQkgICBEQ1Vf TEFZRVJfUFJFX1NLSVAoMCkpOwotCQlpZiAocmV0KQotCQkJZ290byBzZXRfZmFpbGVkOworCQly ZWdtYXBfd3JpdGUoZnNsX2Rldi0+cmVnbWFwLCBEQ1VfQ1RSTERFU0NMTihpbmRleCwgMTApLAor CQkJICAgICBEQ1VfTEFZRVJfUE9TVF9TS0lQKDApIHwKKwkJCSAgICAgRENVX0xBWUVSX1BSRV9T S0lQKDApKTsKIAl9Ci0JcmV0ID0gcmVnbWFwX3VwZGF0ZV9iaXRzKGZzbF9kZXYtPnJlZ21hcCwg RENVX0RDVV9NT0RFLAotCQkJCSBEQ1VfTU9ERV9EQ1VfTU9ERV9NQVNLLAotCQkJCSBEQ1VfTU9E RV9EQ1VfTU9ERShEQ1VfTU9ERV9OT1JNQUwpKTsKLQlpZiAocmV0KQotCQlnb3RvIHNldF9mYWls ZWQ7Ci0JcmV0ID0gcmVnbWFwX3dyaXRlKGZzbF9kZXYtPnJlZ21hcCwKLQkJCSAgIERDVV9VUERB VEVfTU9ERSwgRENVX1VQREFURV9NT0RFX1JFQURSRUcpOwotCWlmIChyZXQpCi0JCWdvdG8gc2V0 X2ZhaWxlZDsKLQlyZXR1cm47CisJcmVnbWFwX3VwZGF0ZV9iaXRzKGZzbF9kZXYtPnJlZ21hcCwg RENVX0RDVV9NT0RFLAorCQkJICAgRENVX01PREVfRENVX01PREVfTUFTSywKKwkJCSAgIERDVV9N T0RFX0RDVV9NT0RFKERDVV9NT0RFX05PUk1BTCkpOworCXJlZ21hcF93cml0ZShmc2xfZGV2LT5y ZWdtYXAsCisJCSAgICAgRENVX1VQREFURV9NT0RFLCBEQ1VfVVBEQVRFX01PREVfUkVBRFJFRyk7 CiAKLXNldF9mYWlsZWQ6Ci0JZGV2X2Vycihmc2xfZGV2LT5kZXYsICJzZXQgRENVIHJlZ2lzdGVy IGZhaWxlZFxuIik7CisJcmV0dXJuOwogfQogCiBzdGF0aWMgdm9pZAotLSAKMi42LjIKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWls aW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==