From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shawn Guo Subject: [PATCH v3 12/23] drm: imx: remove struct imx_drm_crtc and imx_drm_crtc_helper_funcs Date: Tue, 7 Feb 2017 17:16:24 +0800 Message-ID: <1486458995-31018-13-git-send-email-shawnguo@kernel.org> References: <1486458995-31018-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 708076E629 for ; Tue, 7 Feb 2017 09:19:45 +0000 (UTC) In-Reply-To: <1486458995-31018-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: Daniel Vetter Cc: Neil Armstrong , Liviu Dudau , Laurent Pinchart , Daniel Vetter , Marek Vasut , Alexey Brodkin , Russell King , Xinliang Liu , Tomi Valkeinen , Mali DP Maintainers , Ben Skeggs , Jyri Sarha , dri-devel@lists.freedesktop.org, Maxime Ripard 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 b3JlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaW14L2lteC1kcm0tY29yZS5jCmluZGV4IDRiYWRiYjY2 ZDY5ZS4uNjViZDhiOGEyNDk0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaW14L2lteC1k 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 ZW5jb2Rlciwgc3RydWN0IGRldmljZV9ub2RlICpucCkKQEAgLTI4OCw4ICsxODksNiBAQCBpbnQg aW14X2RybV9lbmNvZGVyX3BhcnNlX29mKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCiAJLmdlbV9w cmltZV92bWFwCQk9IGRybV9nZW1fY21hX3ByaW1lX3ZtYXAsCiAJLmdlbV9wcmltZV92dW5tYXAJ PSBkcm1fZ2VtX2NtYV9wcmltZV92dW5tYXAsCiAJLmdlbV9wcmltZV9tbWFwCQk9IGRybV9nZW1f Y21hX3ByaW1lX21tYXAsCi0JLmVuYWJsZV92YmxhbmsJCT0gaW14X2RybV9lbmFibGVfdmJsYW5r LAotCS5kaXNhYmxlX3ZibGFuawkJPSBpbXhfZHJtX2Rpc2FibGVfdmJsYW5rLAogCS5pb2N0bHMJ CQk9IGlteF9kcm1faW9jdGxzLAogCS5udW1faW9jdGxzCQk9IEFSUkFZX1NJWkUoaW14X2RybV9p b2N0bHMpLAogCS5mb3BzCQkJPSAmaW14X2RybV9kcml2ZXJfZm9wcywKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pbXgvaW14LWRybS5oIGIvZHJpdmVycy9ncHUvZHJtL2lteC9pbXgtZHJt LmgKaW5kZXggNWE5MWNiMTZjOGZhLi5jYzAwMzMzNDUwNWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pbXgvaW14LWRybS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pbXgvaW14LWRybS5o CkBAIC0yNSwxOSArMjUsNiBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBpbXhfY3J0Y19zdGF0ZSAq dG9faW14X2NydGNfc3RhdGUoc3RydWN0IGRybV9jcnRjX3N0YXRlICpzKQogewogCXJldHVybiBj b250YWluZXJfb2Yocywgc3RydWN0IGlteF9jcnRjX3N0YXRlLCBiYXNlKTsKIH0KLQotc3RydWN0 IGlteF9kcm1fY3J0Y19oZWxwZXJfZnVuY3MgewotCWludCAoKmVuYWJsZV92YmxhbmspKHN0cnVj dCBkcm1fY3J0YyAqY3J0Yyk7Ci0Jdm9pZCAoKmRpc2FibGVfdmJsYW5rKShzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMpOwotCWNvbnN0IHN0cnVjdCBkcm1fY3J0Y19oZWxwZXJfZnVuY3MgKmNydGNfaGVs cGVyX2Z1bmNzOwotCWNvbnN0IHN0cnVjdCBkcm1fY3J0Y19mdW5jcyAqY3J0Y19mdW5jczsKLX07 Ci0KLWludCBpbXhfZHJtX2FkZF9jcnRjKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sIHN0cnVjdCBk cm1fY3J0YyAqY3J0YywKLQkJc3RydWN0IGlteF9kcm1fY3J0YyAqKm5ld19jcnRjLCBzdHJ1Y3Qg ZHJtX3BsYW5lICpwcmltYXJ5X3BsYW5lLAotCQljb25zdCBzdHJ1Y3QgaW14X2RybV9jcnRjX2hl bHBlcl9mdW5jcyAqaW14X2hlbHBlcl9mdW5jcywKLQkJc3RydWN0IGRldmljZV9ub2RlICpwb3J0 KTsKLWludCBpbXhfZHJtX3JlbW92ZV9jcnRjKHN0cnVjdCBpbXhfZHJtX2NydGMgKik7CiBpbnQg aW14X2RybV9pbml0X2RybShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAogCQlpbnQgcHJl ZmVycmVkX2JwcCk7CiBpbnQgaW14X2RybV9leGl0X2RybSh2b2lkKTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pbXgvaXB1djMtY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2 My1jcnRjLmMKaW5kZXggNmJlNTE1YTlmYjY5Li5hM2YyODQzYjc4Y2QgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pbXgvaXB1djMtY3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pbXgv aXB1djMtY3J0Yy5jCkBAIC0xMjksMTggKzEyOSwzMSBAQCBzdGF0aWMgdm9pZCBpbXhfZHJtX2Ny dGNfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJa2ZyZWUodG9faW14X2Ny dGNfc3RhdGUoc3RhdGUpKTsKIH0KIAotc3RhdGljIHZvaWQgaW14X2RybV9jcnRjX2Rlc3Ryb3ko c3RydWN0IGRybV9jcnRjICpjcnRjKQorc3RhdGljIGludCBpcHVfZW5hYmxlX3ZibGFuayhzdHJ1 Y3QgZHJtX2NydGMgKmNydGMpCit7CisJc3RydWN0IGlwdV9jcnRjICppcHVfY3J0YyA9IHRvX2lw dV9jcnRjKGNydGMpOworCisJZW5hYmxlX2lycShpcHVfY3J0Yy0+aXJxKTsKKworCXJldHVybiAw OworfQorCitzdGF0aWMgdm9pZCBpcHVfZGlzYWJsZV92Ymxhbmsoc3RydWN0IGRybV9jcnRjICpj cnRjKQogewotCWlteF9kcm1fcmVtb3ZlX2NydGModG9faXB1X2NydGMoY3J0YyktPmlteF9jcnRj KTsKKwlzdHJ1Y3QgaXB1X2NydGMgKmlwdV9jcnRjID0gdG9faXB1X2NydGMoY3J0Yyk7CisKKwlk aXNhYmxlX2lycV9ub3N5bmMoaXB1X2NydGMtPmlycSk7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgZHJtX2NydGNfZnVuY3MgaXB1X2NydGNfZnVuY3MgPSB7CiAJLnNldF9jb25maWcgPSBkcm1f YXRvbWljX2hlbHBlcl9zZXRfY29uZmlnLAotCS5kZXN0cm95ID0gaW14X2RybV9jcnRjX2Rlc3Ry b3ksCisJLmRlc3Ryb3kgPSBkcm1fY3J0Y19jbGVhbnVwLAogCS5wYWdlX2ZsaXAgPSBkcm1fYXRv bWljX2hlbHBlcl9wYWdlX2ZsaXAsCiAJLnJlc2V0ID0gaW14X2RybV9jcnRjX3Jlc2V0LAogCS5h dG9taWNfZHVwbGljYXRlX3N0YXRlID0gaW14X2RybV9jcnRjX2R1cGxpY2F0ZV9zdGF0ZSwKIAku YXRvbWljX2Rlc3Ryb3lfc3RhdGUgPSBpbXhfZHJtX2NydGNfZGVzdHJveV9zdGF0ZSwKKwkuZW5h YmxlX3ZibGFuayA9IGlwdV9lbmFibGVfdmJsYW5rLAorCS5kaXNhYmxlX3ZibGFuayA9IGlwdV9k aXNhYmxlX3ZibGFuaywKIH07CiAKIHN0YXRpYyBpcnFyZXR1cm5fdCBpcHVfaXJxX2hhbmRsZXIo aW50IGlycSwgdm9pZCAqZGV2X2lkKQpAQCAtMjYxLDI5ICsyNzQsNiBAQCBzdGF0aWMgdm9pZCBp cHVfY3J0Y19tb2RlX3NldF9ub2ZiKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAkuZW5hYmxlID0g aXB1X2NydGNfZW5hYmxlLAogfTsKIAotc3RhdGljIGludCBpcHVfZW5hYmxlX3ZibGFuayhzdHJ1 Y3QgZHJtX2NydGMgKmNydGMpCi17Ci0Jc3RydWN0IGlwdV9jcnRjICppcHVfY3J0YyA9IHRvX2lw dV9jcnRjKGNydGMpOwotCi0JZW5hYmxlX2lycShpcHVfY3J0Yy0+aXJxKTsKLQotCXJldHVybiAw OwotfQotCi1zdGF0aWMgdm9pZCBpcHVfZGlzYWJsZV92Ymxhbmsoc3RydWN0IGRybV9jcnRjICpj cnRjKQotewotCXN0cnVjdCBpcHVfY3J0YyAqaXB1X2NydGMgPSB0b19pcHVfY3J0YyhjcnRjKTsK LQotCWRpc2FibGVfaXJxX25vc3luYyhpcHVfY3J0Yy0+aXJxKTsKLX0KLQotc3RhdGljIGNvbnN0 IHN0cnVjdCBpbXhfZHJtX2NydGNfaGVscGVyX2Z1bmNzIGlwdV9jcnRjX2hlbHBlcl9mdW5jcyA9 IHsKLQkuZW5hYmxlX3ZibGFuayA9IGlwdV9lbmFibGVfdmJsYW5rLAotCS5kaXNhYmxlX3ZibGFu ayA9IGlwdV9kaXNhYmxlX3ZibGFuaywKLQkuY3J0Y19mdW5jcyA9ICZpcHVfY3J0Y19mdW5jcywK LQkuY3J0Y19oZWxwZXJfZnVuY3MgPSAmaXB1X2hlbHBlcl9mdW5jcywKLX07Ci0KIHN0YXRpYyB2 b2lkIGlwdV9wdXRfcmVzb3VyY2VzKHN0cnVjdCBpcHVfY3J0YyAqaXB1X2NydGMpCiB7CiAJaWYg KCFJU19FUlJfT1JfTlVMTChpcHVfY3J0Yy0+ZGMpKQpAQCAtMzIxLDYgKzMxMSw3IEBAIHN0YXRp YyBpbnQgaXB1X2NydGNfaW5pdChzdHJ1Y3QgaXB1X2NydGMgKmlwdV9jcnRjLAogCXN0cnVjdCBp cHVfY2xpZW50X3BsYXRmb3JtZGF0YSAqcGRhdGEsIHN0cnVjdCBkcm1fZGV2aWNlICpkcm0pCiB7 CiAJc3RydWN0IGlwdV9zb2MgKmlwdSA9IGRldl9nZXRfZHJ2ZGF0YShpcHVfY3J0Yy0+ZGV2LT5w YXJlbnQpOworCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9ICZpcHVfY3J0Yy0+YmFzZTsKIAlpbnQg ZHAgPSAtRUlOVkFMOwogCWludCByZXQ7CiAKQEAgLTM0MCwxOSArMzMxLDE2IEBAIHN0YXRpYyBp bnQgaXB1X2NydGNfaW5pdChzdHJ1Y3QgaXB1X2NydGMgKmlwdV9jcnRjLAogCQlnb3RvIGVycl9w dXRfcmVzb3VyY2VzOwogCX0KIAotCXJldCA9IGlteF9kcm1fYWRkX2NydGMoZHJtLCAmaXB1X2Ny dGMtPmJhc2UsICZpcHVfY3J0Yy0+aW14X2NydGMsCi0JCQkmaXB1X2NydGMtPnBsYW5lWzBdLT5i YXNlLCAmaXB1X2NydGNfaGVscGVyX2Z1bmNzLAotCQkJcGRhdGEtPm9mX25vZGUpOwotCWlmIChy ZXQpIHsKLQkJZGV2X2VycihpcHVfY3J0Yy0+ZGV2LCAiYWRkaW5nIGNydGMgZmFpbGVkIHdpdGgg JWQuXG4iLCByZXQpOwotCQlnb3RvIGVycl9wdXRfcmVzb3VyY2VzOwotCX0KKwljcnRjLT5wb3J0 ID0gcGRhdGEtPm9mX25vZGU7CisJZHJtX2NydGNfaGVscGVyX2FkZChjcnRjLCAmaXB1X2hlbHBl cl9mdW5jcyk7CisJZHJtX2NydGNfaW5pdF93aXRoX3BsYW5lcyhkcm0sIGNydGMsICZpcHVfY3J0 Yy0+cGxhbmVbMF0tPmJhc2UsIE5VTEwsCisJCQkJICAmaXB1X2NydGNfZnVuY3MsIE5VTEwpOwog CiAJcmV0ID0gaXB1X3BsYW5lX2dldF9yZXNvdXJjZXMoaXB1X2NydGMtPnBsYW5lWzBdKTsKIAlp ZiAocmV0KSB7CiAJCWRldl9lcnIoaXB1X2NydGMtPmRldiwgImdldHRpbmcgcGxhbmUgMCByZXNv dXJjZXMgZmFpbGVkIHdpdGggJWQuXG4iLAogCQkJcmV0KTsKLQkJZ290byBlcnJfcmVtb3ZlX2Ny dGM7CisJCWdvdG8gZXJyX3B1dF9yZXNvdXJjZXM7CiAJfQogCiAJLyogSWYgdGhpcyBjcnRjIGlz IHVzaW5nIHRoZSBEUCwgYWRkIGFuIG92ZXJsYXkgcGxhbmUgKi8KQEAgLTM5MCw4ICszNzgsNiBA QCBzdGF0aWMgaW50IGlwdV9jcnRjX2luaXQoc3RydWN0IGlwdV9jcnRjICppcHVfY3J0YywKIAkJ aXB1X3BsYW5lX3B1dF9yZXNvdXJjZXMoaXB1X2NydGMtPnBsYW5lWzFdKTsKIGVycl9wdXRfcGxh bmUwX3JlczoKIAlpcHVfcGxhbmVfcHV0X3Jlc291cmNlcyhpcHVfY3J0Yy0+cGxhbmVbMF0pOwot ZXJyX3JlbW92ZV9jcnRjOgotCWlteF9kcm1fcmVtb3ZlX2NydGMoaXB1X2NydGMtPmlteF9jcnRj KTsKIGVycl9wdXRfcmVzb3VyY2VzOgogCWlwdV9wdXRfcmVzb3VyY2VzKGlwdV9jcnRjKTsKIAot LSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=