From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shawn Guo Subject: [RFC PATCH v2 5/5] drm: imx: remove struct imx_drm_crtc and imx_drm_crtc_helper_funcs Date: Sun, 22 Jan 2017 14:09:06 +0800 Message-ID: <1485065346-11578-6-git-send-email-shawnguo@kernel.org> References: <1485065346-11578-1-git-send-email-shawnguo@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 114C66E317 for ; Sun, 22 Jan 2017 06:09:57 +0000 (UTC) In-Reply-To: <1485065346-11578-1-git-send-email-shawnguo@kernel.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Daniel Vetter , Liviu Dudau , Laurent Pinchart List-Id: dri-devel@lists.freedesktop.org RnJvbTogU2hhd24gR3VvIDxzaGF3bi5ndW9AbGluYXJvLm9yZz4KCldpdGggdGhlIHZibGFuayBo b29rcyBpbiBzdHJ1Y3QgZHJtX2NydGNfZnVuY3MsIHdlIGRvIG5vdCBuZWVkIHRvCm1haW50YWlu IHRoZSBDUlRDIHNwZWNpZmljIHZibGFuayBjYWxsYmFja3Mgd2l0aCBzdHJ1Y3QKaW14X2RybV9j cnRjX2hlbHBlcl9mdW5jcyBhbnkgbW9yZS4gIEJ5IG1vdmluZyB0aGUgc3R1ZmYgdGhhdCB3ZQpj dXJyZW50bHkgZG8gaW4gaW14X2RybV9hZGRfY3J0YygpLCBsaWtlIG9mX25vZGUgc2V0dGluZyBh bmQKZHJtX2NydGNfaGVscGVyX2FkZCgpL2RybV9jcnRjX2luaXRfd2l0aF9wbGFuZXMoKSBpbnZv a2luZywgd2UgY2FuIGtpbGwKdGhpbmdzIGxpa2Ugc3RydWN0IGlteF9kcm1fY3J0YywgaW14X2Ry bV9jcnRjX2hlbHBlcl9mdW5jcyBhbmQgcmVsYXRlZApmdW5jdGlvbnMgY29tcGxldGVseS4KCkZ1 bmN0aW9ucyBpcHVfZW5hYmxlX3ZibGFuaygpIGFuZCBpcHVfZGlzYWJsZV92YmxhbmsoKSBhcmUg bW92ZWQgYXJvdW5kCndpdGhvdXQgY2hhbmdlcywgb25seSBmb3Igc2F2aW5nIHRoZSBmb3J3YXJk IGRlY2xhcmF0aW9ucy4KClNpZ25lZC1vZmYtYnk6IFNoYXduIEd1byA8c2hhd24uZ3VvQGxpbmFy by5vcmc+CkNjOiBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgotLS0KIGRy aXZlcnMvZ3B1L2RybS9pbXgvaW14LWRybS1jb3JlLmMgfCAxMDEgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2lteC9pbXgtZHJtLmggICAgICB8 ICAxMyAtLS0tLQogZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2My1jcnRjLmMgICB8ICA1OCArKysr KysrKy0tLS0tLS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgMTUw IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pbXgvaW14LWRybS1j b3JlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaW14L2lteC1kcm0tY29yZS5jCmluZGV4IDMzNDA0Mjk1 YjQ0Ny4uMzY0MGMwMThhZWU0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaW14L2lteC1k cm0tY29yZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pbXgvaW14LWRybS1jb3JlLmMKQEAgLTQw LDE3ICs0MCwxMSBAQCBzdHJ1Y3QgaW14X2RybV9jb21wb25lbnQgewogCiBzdHJ1Y3QgaW14X2Ry bV9kZXZpY2UgewogCXN0cnVjdCBkcm1fZGV2aWNlCQkJKmRybTsKLQlzdHJ1Y3QgaW14X2RybV9j cnRjCQkJKmNydGNbTUFYX0NSVENdOwogCXVuc2lnbmVkIGludAkJCQlwaXBlczsKIAlzdHJ1Y3Qg ZHJtX2ZiZGV2X2NtYQkJCSpmYmhlbHBlcjsKIAlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZQkJCSpz dGF0ZTsKIH07CiAKLXN0cnVjdCBpbXhfZHJtX2NydGMgewotCXN0cnVjdCBkcm1fY3J0YwkJCQkq Y3J0YzsKLQlzdHJ1Y3QgaW14X2RybV9jcnRjX2hlbHBlcl9mdW5jcwlpbXhfZHJtX2hlbHBlcl9m dW5jczsKLX07Ci0KICNpZiBJU19FTkFCTEVEKENPTkZJR19EUk1fRkJERVZfRU1VTEFUSU9OKQog c3RhdGljIGludCBsZWdhY3lmYl9kZXB0aCA9IDE2OwogbW9kdWxlX3BhcmFtKGxlZ2FjeWZiX2Rl cHRoLCBpbnQsIDA0NDQpOwpAQCAtNjMsMzggKzU3LDYgQEAgc3RhdGljIHZvaWQgaW14X2RybV9k cml2ZXJfbGFzdGNsb3NlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0pCiAJZHJtX2ZiZGV2X2NtYV9y ZXN0b3JlX21vZGUoaW14ZHJtLT5mYmhlbHBlcik7CiB9CiAKLXN0YXRpYyBpbnQgaW14X2RybV9l bmFibGVfdmJsYW5rKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sIHVuc2lnbmVkIGludCBwaXBlKQot ewotCXN0cnVjdCBpbXhfZHJtX2RldmljZSAqaW14ZHJtID0gZHJtLT5kZXZfcHJpdmF0ZTsKLQlz dHJ1Y3QgaW14X2RybV9jcnRjICppbXhfZHJtX2NydGMgPSBpbXhkcm0tPmNydGNbcGlwZV07Ci0J aW50IHJldDsKLQotCWlmICghaW14X2RybV9jcnRjKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWlm ICghaW14X2RybV9jcnRjLT5pbXhfZHJtX2hlbHBlcl9mdW5jcy5lbmFibGVfdmJsYW5rKQotCQly ZXR1cm4gLUVOT1NZUzsKLQotCXJldCA9IGlteF9kcm1fY3J0Yy0+aW14X2RybV9oZWxwZXJfZnVu Y3MuZW5hYmxlX3ZibGFuaygKLQkJCWlteF9kcm1fY3J0Yy0+Y3J0Yyk7Ci0KLQlyZXR1cm4gcmV0 OwotfQotCi1zdGF0aWMgdm9pZCBpbXhfZHJtX2Rpc2FibGVfdmJsYW5rKHN0cnVjdCBkcm1fZGV2 aWNlICpkcm0sIHVuc2lnbmVkIGludCBwaXBlKQotewotCXN0cnVjdCBpbXhfZHJtX2RldmljZSAq aW14ZHJtID0gZHJtLT5kZXZfcHJpdmF0ZTsKLQlzdHJ1Y3QgaW14X2RybV9jcnRjICppbXhfZHJt X2NydGMgPSBpbXhkcm0tPmNydGNbcGlwZV07Ci0KLQlpZiAoIWlteF9kcm1fY3J0YykKLQkJcmV0 dXJuOwotCi0JaWYgKCFpbXhfZHJtX2NydGMtPmlteF9kcm1faGVscGVyX2Z1bmNzLmRpc2FibGVf dmJsYW5rKQotCQlyZXR1cm47Ci0KLQlpbXhfZHJtX2NydGMtPmlteF9kcm1faGVscGVyX2Z1bmNz LmRpc2FibGVfdmJsYW5rKGlteF9kcm1fY3J0Yy0+Y3J0Yyk7Ci19Ci0KIHN0YXRpYyBjb25zdCBz dHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGlteF9kcm1fZHJpdmVyX2ZvcHMgPSB7CiAJLm93bmVyID0g VEhJU19NT0RVTEUsCiAJLm9wZW4gPSBkcm1fb3BlbiwKQEAgLTE4MCw2NyArMTQyLDYgQEAgc3Rh dGljIHZvaWQgaW14X2RybV9hdG9taWNfY29tbWl0X3RhaWwoc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKnN0YXRlKQogCS5hdG9taWNfY29tbWl0X3RhaWwgPSBpbXhfZHJtX2F0b21pY19jb21taXRf dGFpbCwKIH07CiAKLS8qCi0gKiBpbXhfZHJtX2FkZF9jcnRjIC0gYWRkIGEgbmV3IGNydGMKLSAq LwotaW50IGlteF9kcm1fYWRkX2NydGMoc3RydWN0IGRybV9kZXZpY2UgKmRybSwgc3RydWN0IGRy bV9jcnRjICpjcnRjLAotCQlzdHJ1Y3QgaW14X2RybV9jcnRjICoqbmV3X2NydGMsIHN0cnVjdCBk cm1fcGxhbmUgKnByaW1hcnlfcGxhbmUsCi0JCWNvbnN0IHN0cnVjdCBpbXhfZHJtX2NydGNfaGVs cGVyX2Z1bmNzICppbXhfZHJtX2hlbHBlcl9mdW5jcywKLQkJc3RydWN0IGRldmljZV9ub2RlICpw b3J0KQotewotCXN0cnVjdCBpbXhfZHJtX2RldmljZSAqaW14ZHJtID0gZHJtLT5kZXZfcHJpdmF0 ZTsKLQlzdHJ1Y3QgaW14X2RybV9jcnRjICppbXhfZHJtX2NydGM7Ci0KLQkvKgotCSAqIFRoZSB2 YmxhbmsgYXJyYXlzIGFyZSBkaW1lbnNpb25lZCBieSBNQVhfQ1JUQyAtIHdlIGNhbid0Ci0JICog cGFzcyBJRHMgZ3JlYXRlciB0aGFuIHRoaXMgdG8gdGhvc2UgZnVuY3Rpb25zLgotCSAqLwotCWlm IChpbXhkcm0tPnBpcGVzID49IE1BWF9DUlRDKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWlmIChp bXhkcm0tPmRybS0+b3Blbl9jb3VudCkKLQkJcmV0dXJuIC1FQlVTWTsKLQotCWlteF9kcm1fY3J0 YyA9IGt6YWxsb2Moc2l6ZW9mKCppbXhfZHJtX2NydGMpLCBHRlBfS0VSTkVMKTsKLQlpZiAoIWlt eF9kcm1fY3J0YykKLQkJcmV0dXJuIC1FTk9NRU07Ci0KLQlpbXhfZHJtX2NydGMtPmlteF9kcm1f aGVscGVyX2Z1bmNzID0gKmlteF9kcm1faGVscGVyX2Z1bmNzOwotCWlteF9kcm1fY3J0Yy0+Y3J0 YyA9IGNydGM7Ci0KLQljcnRjLT5wb3J0ID0gcG9ydDsKLQotCWlteGRybS0+Y3J0Y1tpbXhkcm0t PnBpcGVzKytdID0gaW14X2RybV9jcnRjOwotCi0JKm5ld19jcnRjID0gaW14X2RybV9jcnRjOwot Ci0JZHJtX2NydGNfaGVscGVyX2FkZChjcnRjLAotCQkJaW14X2RybV9jcnRjLT5pbXhfZHJtX2hl bHBlcl9mdW5jcy5jcnRjX2hlbHBlcl9mdW5jcyk7Ci0KLQlkcm1fY3J0Y19pbml0X3dpdGhfcGxh bmVzKGRybSwgY3J0YywgcHJpbWFyeV9wbGFuZSwgTlVMTCwKLQkJCWlteF9kcm1fY3J0Yy0+aW14 X2RybV9oZWxwZXJfZnVuY3MuY3J0Y19mdW5jcywgTlVMTCk7Ci0KLQlyZXR1cm4gMDsKLX0KLUVY UE9SVF9TWU1CT0xfR1BMKGlteF9kcm1fYWRkX2NydGMpOwotCi0vKgotICogaW14X2RybV9yZW1v dmVfY3J0YyAtIHJlbW92ZSBhIGNydGMKLSAqLwotaW50IGlteF9kcm1fcmVtb3ZlX2NydGMoc3Ry dWN0IGlteF9kcm1fY3J0YyAqaW14X2RybV9jcnRjKQotewotCXN0cnVjdCBpbXhfZHJtX2Rldmlj ZSAqaW14ZHJtID0gaW14X2RybV9jcnRjLT5jcnRjLT5kZXYtPmRldl9wcml2YXRlOwotCXVuc2ln bmVkIGludCBwaXBlID0gZHJtX2NydGNfaW5kZXgoaW14X2RybV9jcnRjLT5jcnRjKTsKLQotCWRy bV9jcnRjX2NsZWFudXAoaW14X2RybV9jcnRjLT5jcnRjKTsKLQotCWlteGRybS0+Y3J0Y1twaXBl XSA9IE5VTEw7Ci0KLQlrZnJlZShpbXhfZHJtX2NydGMpOwotCi0JcmV0dXJuIDA7Ci19Ci1FWFBP UlRfU1lNQk9MX0dQTChpbXhfZHJtX3JlbW92ZV9jcnRjKTsKIAogaW50IGlteF9kcm1fZW5jb2Rl cl9wYXJzZV9vZihzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLAogCXN0cnVjdCBkcm1fZW5jb2RlciAq ZW5jb2Rlciwgc3RydWN0IGRldmljZV9ub2RlICpucCkKQEAgLTI4OSw4ICsxOTAsNiBAQCBpbnQg aW14X2RybV9lbmNvZGVyX3BhcnNlX29mKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCiAJLmdlbV9w cmltZV92dW5tYXAJPSBkcm1fZ2VtX2NtYV9wcmltZV92dW5tYXAsCiAJLmdlbV9wcmltZV9tbWFw CQk9IGRybV9nZW1fY21hX3ByaW1lX21tYXAsCiAJLmdldF92YmxhbmtfY291bnRlcgk9IGRybV92 Ymxhbmtfbm9faHdfY291bnRlciwKLQkuZW5hYmxlX3ZibGFuawkJPSBpbXhfZHJtX2VuYWJsZV92 YmxhbmssCi0JLmRpc2FibGVfdmJsYW5rCQk9IGlteF9kcm1fZGlzYWJsZV92YmxhbmssCiAJLmlv Y3RscwkJCT0gaW14X2RybV9pb2N0bHMsCiAJLm51bV9pb2N0bHMJCT0gQVJSQVlfU0laRShpbXhf ZHJtX2lvY3RscyksCiAJLmZvcHMJCQk9ICZpbXhfZHJtX2RyaXZlcl9mb3BzLApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2lteC9pbXgtZHJtLmggYi9kcml2ZXJzL2dwdS9kcm0vaW14L2lt eC1kcm0uaAppbmRleCA1YTkxY2IxNmM4ZmEuLmNjMDAzMzM0NTA1ZCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2lteC9pbXgtZHJtLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2lteC9pbXgt ZHJtLmgKQEAgLTI1LDE5ICsyNSw2IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IGlteF9jcnRjX3N0 YXRlICp0b19pbXhfY3J0Y19zdGF0ZShzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnMpCiB7CiAJcmV0 dXJuIGNvbnRhaW5lcl9vZihzLCBzdHJ1Y3QgaW14X2NydGNfc3RhdGUsIGJhc2UpOwogfQotCi1z dHJ1Y3QgaW14X2RybV9jcnRjX2hlbHBlcl9mdW5jcyB7Ci0JaW50ICgqZW5hYmxlX3ZibGFuayko c3RydWN0IGRybV9jcnRjICpjcnRjKTsKLQl2b2lkICgqZGlzYWJsZV92YmxhbmspKHN0cnVjdCBk cm1fY3J0YyAqY3J0Yyk7Ci0JY29uc3Qgc3RydWN0IGRybV9jcnRjX2hlbHBlcl9mdW5jcyAqY3J0 Y19oZWxwZXJfZnVuY3M7Ci0JY29uc3Qgc3RydWN0IGRybV9jcnRjX2Z1bmNzICpjcnRjX2Z1bmNz OwotfTsKLQotaW50IGlteF9kcm1fYWRkX2NydGMoc3RydWN0IGRybV9kZXZpY2UgKmRybSwgc3Ry dWN0IGRybV9jcnRjICpjcnRjLAotCQlzdHJ1Y3QgaW14X2RybV9jcnRjICoqbmV3X2NydGMsIHN0 cnVjdCBkcm1fcGxhbmUgKnByaW1hcnlfcGxhbmUsCi0JCWNvbnN0IHN0cnVjdCBpbXhfZHJtX2Ny dGNfaGVscGVyX2Z1bmNzICppbXhfaGVscGVyX2Z1bmNzLAotCQlzdHJ1Y3QgZGV2aWNlX25vZGUg KnBvcnQpOwotaW50IGlteF9kcm1fcmVtb3ZlX2NydGMoc3RydWN0IGlteF9kcm1fY3J0YyAqKTsK IGludCBpbXhfZHJtX2luaXRfZHJtKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCiAJCWlu dCBwcmVmZXJyZWRfYnBwKTsKIGludCBpbXhfZHJtX2V4aXRfZHJtKHZvaWQpOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2My1jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaW14 L2lwdXYzLWNydGMuYwppbmRleCA2YmU1MTVhOWZiNjkuLmEzZjI4NDNiNzhjZCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2My1jcnRjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2lteC9pcHV2My1jcnRjLmMKQEAgLTEyOSwxOCArMTI5LDMxIEBAIHN0YXRpYyB2b2lkIGlteF9k cm1fY3J0Y19kZXN0cm95X3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAlrZnJlZSh0b19p bXhfY3J0Y19zdGF0ZShzdGF0ZSkpOwogfQogCi1zdGF0aWMgdm9pZCBpbXhfZHJtX2NydGNfZGVz dHJveShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCitzdGF0aWMgaW50IGlwdV9lbmFibGVfdmJsYW5r KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKK3sKKwlzdHJ1Y3QgaXB1X2NydGMgKmlwdV9jcnRjID0g dG9faXB1X2NydGMoY3J0Yyk7CisKKwllbmFibGVfaXJxKGlwdV9jcnRjLT5pcnEpOworCisJcmV0 dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGlwdV9kaXNhYmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMpCiB7Ci0JaW14X2RybV9yZW1vdmVfY3J0Yyh0b19pcHVfY3J0YyhjcnRjKS0+aW14 X2NydGMpOworCXN0cnVjdCBpcHVfY3J0YyAqaXB1X2NydGMgPSB0b19pcHVfY3J0YyhjcnRjKTsK KworCWRpc2FibGVfaXJxX25vc3luYyhpcHVfY3J0Yy0+aXJxKTsKIH0KIAogc3RhdGljIGNvbnN0 IHN0cnVjdCBkcm1fY3J0Y19mdW5jcyBpcHVfY3J0Y19mdW5jcyA9IHsKIAkuc2V0X2NvbmZpZyA9 IGRybV9hdG9taWNfaGVscGVyX3NldF9jb25maWcsCi0JLmRlc3Ryb3kgPSBpbXhfZHJtX2NydGNf ZGVzdHJveSwKKwkuZGVzdHJveSA9IGRybV9jcnRjX2NsZWFudXAsCiAJLnBhZ2VfZmxpcCA9IGRy bV9hdG9taWNfaGVscGVyX3BhZ2VfZmxpcCwKIAkucmVzZXQgPSBpbXhfZHJtX2NydGNfcmVzZXQs CiAJLmF0b21pY19kdXBsaWNhdGVfc3RhdGUgPSBpbXhfZHJtX2NydGNfZHVwbGljYXRlX3N0YXRl LAogCS5hdG9taWNfZGVzdHJveV9zdGF0ZSA9IGlteF9kcm1fY3J0Y19kZXN0cm95X3N0YXRlLAor CS5lbmFibGVfdmJsYW5rID0gaXB1X2VuYWJsZV92YmxhbmssCisJLmRpc2FibGVfdmJsYW5rID0g aXB1X2Rpc2FibGVfdmJsYW5rLAogfTsKIAogc3RhdGljIGlycXJldHVybl90IGlwdV9pcnFfaGFu ZGxlcihpbnQgaXJxLCB2b2lkICpkZXZfaWQpCkBAIC0yNjEsMjkgKzI3NCw2IEBAIHN0YXRpYyB2 b2lkIGlwdV9jcnRjX21vZGVfc2V0X25vZmIoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCS5lbmFi bGUgPSBpcHVfY3J0Y19lbmFibGUsCiB9OwogCi1zdGF0aWMgaW50IGlwdV9lbmFibGVfdmJsYW5r KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKLXsKLQlzdHJ1Y3QgaXB1X2NydGMgKmlwdV9jcnRjID0g dG9faXB1X2NydGMoY3J0Yyk7Ci0KLQllbmFibGVfaXJxKGlwdV9jcnRjLT5pcnEpOwotCi0JcmV0 dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGlwdV9kaXNhYmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMpCi17Ci0Jc3RydWN0IGlwdV9jcnRjICppcHVfY3J0YyA9IHRvX2lwdV9jcnRjKGNy dGMpOwotCi0JZGlzYWJsZV9pcnFfbm9zeW5jKGlwdV9jcnRjLT5pcnEpOwotfQotCi1zdGF0aWMg Y29uc3Qgc3RydWN0IGlteF9kcm1fY3J0Y19oZWxwZXJfZnVuY3MgaXB1X2NydGNfaGVscGVyX2Z1 bmNzID0gewotCS5lbmFibGVfdmJsYW5rID0gaXB1X2VuYWJsZV92YmxhbmssCi0JLmRpc2FibGVf dmJsYW5rID0gaXB1X2Rpc2FibGVfdmJsYW5rLAotCS5jcnRjX2Z1bmNzID0gJmlwdV9jcnRjX2Z1 bmNzLAotCS5jcnRjX2hlbHBlcl9mdW5jcyA9ICZpcHVfaGVscGVyX2Z1bmNzLAotfTsKLQogc3Rh dGljIHZvaWQgaXB1X3B1dF9yZXNvdXJjZXMoc3RydWN0IGlwdV9jcnRjICppcHVfY3J0YykKIHsK IAlpZiAoIUlTX0VSUl9PUl9OVUxMKGlwdV9jcnRjLT5kYykpCkBAIC0zMjEsNiArMzExLDcgQEAg c3RhdGljIGludCBpcHVfY3J0Y19pbml0KHN0cnVjdCBpcHVfY3J0YyAqaXB1X2NydGMsCiAJc3Ry dWN0IGlwdV9jbGllbnRfcGxhdGZvcm1kYXRhICpwZGF0YSwgc3RydWN0IGRybV9kZXZpY2UgKmRy bSkKIHsKIAlzdHJ1Y3QgaXB1X3NvYyAqaXB1ID0gZGV2X2dldF9kcnZkYXRhKGlwdV9jcnRjLT5k ZXYtPnBhcmVudCk7CisJc3RydWN0IGRybV9jcnRjICpjcnRjID0gJmlwdV9jcnRjLT5iYXNlOwog CWludCBkcCA9IC1FSU5WQUw7CiAJaW50IHJldDsKIApAQCAtMzQwLDE5ICszMzEsMTYgQEAgc3Rh dGljIGludCBpcHVfY3J0Y19pbml0KHN0cnVjdCBpcHVfY3J0YyAqaXB1X2NydGMsCiAJCWdvdG8g ZXJyX3B1dF9yZXNvdXJjZXM7CiAJfQogCi0JcmV0ID0gaW14X2RybV9hZGRfY3J0Yyhkcm0sICZp cHVfY3J0Yy0+YmFzZSwgJmlwdV9jcnRjLT5pbXhfY3J0YywKLQkJCSZpcHVfY3J0Yy0+cGxhbmVb MF0tPmJhc2UsICZpcHVfY3J0Y19oZWxwZXJfZnVuY3MsCi0JCQlwZGF0YS0+b2Zfbm9kZSk7Ci0J aWYgKHJldCkgewotCQlkZXZfZXJyKGlwdV9jcnRjLT5kZXYsICJhZGRpbmcgY3J0YyBmYWlsZWQg d2l0aCAlZC5cbiIsIHJldCk7Ci0JCWdvdG8gZXJyX3B1dF9yZXNvdXJjZXM7Ci0JfQorCWNydGMt PnBvcnQgPSBwZGF0YS0+b2Zfbm9kZTsKKwlkcm1fY3J0Y19oZWxwZXJfYWRkKGNydGMsICZpcHVf aGVscGVyX2Z1bmNzKTsKKwlkcm1fY3J0Y19pbml0X3dpdGhfcGxhbmVzKGRybSwgY3J0YywgJmlw dV9jcnRjLT5wbGFuZVswXS0+YmFzZSwgTlVMTCwKKwkJCQkgICZpcHVfY3J0Y19mdW5jcywgTlVM TCk7CiAKIAlyZXQgPSBpcHVfcGxhbmVfZ2V0X3Jlc291cmNlcyhpcHVfY3J0Yy0+cGxhbmVbMF0p OwogCWlmIChyZXQpIHsKIAkJZGV2X2VycihpcHVfY3J0Yy0+ZGV2LCAiZ2V0dGluZyBwbGFuZSAw IHJlc291cmNlcyBmYWlsZWQgd2l0aCAlZC5cbiIsCiAJCQlyZXQpOwotCQlnb3RvIGVycl9yZW1v dmVfY3J0YzsKKwkJZ290byBlcnJfcHV0X3Jlc291cmNlczsKIAl9CiAKIAkvKiBJZiB0aGlzIGNy dGMgaXMgdXNpbmcgdGhlIERQLCBhZGQgYW4gb3ZlcmxheSBwbGFuZSAqLwpAQCAtMzkwLDggKzM3 OCw2IEBAIHN0YXRpYyBpbnQgaXB1X2NydGNfaW5pdChzdHJ1Y3QgaXB1X2NydGMgKmlwdV9jcnRj LAogCQlpcHVfcGxhbmVfcHV0X3Jlc291cmNlcyhpcHVfY3J0Yy0+cGxhbmVbMV0pOwogZXJyX3B1 dF9wbGFuZTBfcmVzOgogCWlwdV9wbGFuZV9wdXRfcmVzb3VyY2VzKGlwdV9jcnRjLT5wbGFuZVsw XSk7Ci1lcnJfcmVtb3ZlX2NydGM6Ci0JaW14X2RybV9yZW1vdmVfY3J0YyhpcHVfY3J0Yy0+aW14 X2NydGMpOwogZXJyX3B1dF9yZXNvdXJjZXM6CiAJaXB1X3B1dF9yZXNvdXJjZXMoaXB1X2NydGMp OwogCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRl dmVsCg==