From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.8 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D0F0CC433E2 for ; Sun, 19 Jul 2020 08:08:40 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A511D207DF for ; Sun, 19 Jul 2020 08:08:40 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="IrCanXmj" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A511D207DF Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ravnborg.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 44C486E4FF; Sun, 19 Jul 2020 08:08:36 +0000 (UTC) Received: from mail-lj1-x242.google.com (mail-lj1-x242.google.com [IPv6:2a00:1450:4864:20::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id A6B4F6E4F1 for ; Sun, 19 Jul 2020 08:08:29 +0000 (UTC) Received: by mail-lj1-x242.google.com with SMTP id x9so17029164ljc.5 for ; Sun, 19 Jul 2020 01:08:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=2oUk5dB7J7+COnpUvZ6kNj04E6Mochd4jfjhtwnfEbs=; b=IrCanXmjvoAqf+Hjruy/ZoKWAwOC8nr6PLoyNOFxOEwEDiIoPRhIzunBJxpNqgozKA uV296DkD7i0r2jSOJE8ECAjP3EVMpEedTs6Gl9ippAoRI9fnLloY8TX9HRhKCHM31FIz K7nDiaJRJgnytwuVa4Kdy5ci/1JJN6sWlHnUrmIkIq3ME8v0mCeQmgZ8Dqd/iJWeBUoi 97X51oxz3dqvNTIznJhz4O/cJHfRSL2S6WAdFb32t0C/fBFA3KrMpAp+Byno/ac7eQ+N rL8cnyEHJcTfLvSP0JHfWiYTa+pO77dhRETiCbZdx+LJul/6/8bb+lol2KOeuRLnEl1r iHzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=2oUk5dB7J7+COnpUvZ6kNj04E6Mochd4jfjhtwnfEbs=; b=pGsd2ohPhbRCEFXD/BHZ4avUrwjA61JCzLcHJXcNW4ijxIkm1KYNpaW9kqQafxRGMj KdipcOvCur5y/Hk9QvCv/0fUAM5R21wbVV8MjBeXxM2WWInadAi+2LbL7ZQDhVwN+gOe mvutWTzbl8n4F8sRF83pUMYXTDSaygALyK2F12aNnOGxDOVkm17bvKfJ/4BZr4RwBIN+ q+GoCgRBOoE7KM1jsKkn+6vZ3Pm9+VXhI08Eqe65CV1ru8DfP1TPrclkIhokvGwWLVjv VhpCQ7NhqjEFw+FN5tMiv9P5q+UEG0ukyYic2E1xMaPwaacbF9gSxZRM65jqNJSPMEgC +W2A== X-Gm-Message-State: AOAM53299/WDJBaVfvbycfqxSLZ4jEXphgsgyibWAL5p35yKr1sp/wAJ guMadVFb6HFo7uwIuDz/nlwoDrdHv20= X-Google-Smtp-Source: ABdhPJyQ7nsT10VYZhe/wlq1ENWZalb+MnBCDjVSFHoBIts/7BNTfXz41N1RXjR53Z4U4LsneSd8Tw== X-Received: by 2002:a2e:971a:: with SMTP id r26mr8563208lji.464.1595146107719; Sun, 19 Jul 2020 01:08:27 -0700 (PDT) Received: from saturn.lan ([2a00:fd00:805f:db00:d5fe:fe9c:fc06:b74c]) by smtp.gmail.com with ESMTPSA id 72sm732407lfh.97.2020.07.19.01.08.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 19 Jul 2020 01:08:27 -0700 (PDT) From: Sam Ravnborg To: dri-devel@lists.freedesktop.org, Jingoo Han , Lee Jones , Daniel Thompson Subject: [PATCH v5 17/19] backlight: use backlight_get_brightness() Date: Sun, 19 Jul 2020 10:07:41 +0200 Message-Id: <20200719080743.8560-18-sam@ravnborg.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200719080743.8560-1-sam@ravnborg.org> References: <20200719080743.8560-1-sam@ravnborg.org> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-pwm@vger.kernel.org, Support Opensource , Michael Hennerich , Bartlomiej Zolnierkiewicz , David Airlie , Daniel Vetter , Tomi Valkeinen , Jonathan Corbet , Emil Velikov , Bjorn Andersson , Peter Ujfalusi , Andy Gross , Thierry Reding , Thomas Zimmermann , linux-arm-msm@vger.kernel.org, Uwe Kleine-Konig , Sam Ravnborg , patches@opensource.cirrus.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" SW50cm9kdWNlIHRoZSBiYWNrbGlnaHRfZ2V0X2JyaWdodG5lc3MoKSBoZWxwZXIgaW4gYWxsCnZp ZGVvL2JhY2tsaWdodC8qIGRyaXZlcnMuClRoaXMgc2ltcGxpZmllcyB0aGUgY29kZSBhbmQgYWxp Z24gdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZQp1cGRhdGVfc3RhdHVzKCkgb3BlcmF0aW9uIGFj cm9zcyB0aGUgZGlmZmVyZW50IGJhY2tsaWdodCBkcml2ZXJzLgoKU29tZSBvZiB0aGUgZHJpdmVy cyBnYWlucyBhIGxpdHRsZSBleHRyYSBmdW5jdGlvbmFsaXR5IGJ5IHRoZSBjaGFuZ2UKYXMgdGhl eSBub3cgcmVzcGVjdCB0aGUgZmJfYmxhbmsoKSBpb2N0bC4KCnYyOgogIC0gRml4IHNwZWxsaW5n IGluIHN1YmplY3QgKFV3ZSkKClNpZ25lZC1vZmYtYnk6IFNhbSBSYXZuYm9yZyA8c2FtQHJhdm5i b3JnLm9yZz4KQ2M6IFV3ZSBLbGVpbmUtS8O2bmlnIDx1LmtsZWluZS1rb2VuaWdAcGVuZ3V0cm9u aXguZGU+ClJldmlld2VkLWJ5OiBEYW5pZWwgVGhvbXBzb24gPGRhbmllbC50aG9tcHNvbkBsaW5h cm8ub3JnPgotLS0KIGRyaXZlcnMvdmlkZW8vYmFja2xpZ2h0Lzg4cG04NjB4X2JsLmMgfCAxMyAr LS0tLS0tLS0tLS0tCiBkcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9hZHA1NTIwX2JsLmMgIHwgMTAg Ky0tLS0tLS0tLQogZHJpdmVycy92aWRlby9iYWNrbGlnaHQvYWRwODg2MF9ibC5jICB8IDEwICst LS0tLS0tLS0KIGRyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2FkcDg4NzBfYmwuYyAgfCAxMCArLS0t LS0tLS0tCiBkcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9iZDYxMDcuYyAgICAgIHwgIDcgKy0tLS0t LQogZHJpdmVycy92aWRlby9iYWNrbGlnaHQvY29yZ2lfbGNkLmMgICB8ICA4ICstLS0tLS0tCiBk cml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9kYTkwM3hfYmwuYyAgIHwgMTMgKy0tLS0tLS0tLS0tLQog ZHJpdmVycy92aWRlby9iYWNrbGlnaHQvZXA5M3h4X2JsLmMgICB8ICA4ICstLS0tLS0tCiBkcml2 ZXJzL3ZpZGVvL2JhY2tsaWdodC9ocDY4MF9ibC5jICAgIHwgIDYgKy0tLS0tCiBkcml2ZXJzL3Zp ZGVvL2JhY2tsaWdodC9rYjM4ODZfYmwuYyAgIHwgIDYgKy0tLS0tCiBkcml2ZXJzL3ZpZGVvL2Jh Y2tsaWdodC9sZWRfYmwuYyAgICAgIHwgIDcgKy0tLS0tLQogZHJpdmVycy92aWRlby9iYWNrbGln aHQvbG0zNTMzX2JsLmMgICB8ICA4ICstLS0tLS0tCiBkcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9s b2NvbW9sY2QuYyAgIHwgIDYgKy0tLS0tCiBkcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9sdjUyMDds cC5jICAgIHwgIDcgKy0tLS0tLQogZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbWF4ODkyNV9ibC5j ICB8IDEzICstLS0tLS0tLS0tLS0KIGRyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3B3bV9ibC5jICAg ICAgfCAgNyArLS0tLS0tCiBkcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9xY29tLXdsZWQuYyAgIHwg IDcgKy0tLS0tLQogZHJpdmVycy92aWRlby9iYWNrbGlnaHQvdHBzNjUyMTdfYmwuYyB8IDEwICst LS0tLS0tLS0KIGRyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3dtODMxeF9ibC5jICAgfCAxMyArLS0t LS0tLS0tLS0tCiAxOSBmaWxlcyBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAxNTAgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvODhwbTg2MHhfYmwu YyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0Lzg4cG04NjB4X2JsLmMKaW5kZXggMjBkOTZhNWFj Mzg0Li4yNWU0MDliYmIxYTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0Lzg4 cG04NjB4X2JsLmMKKysrIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvODhwbTg2MHhfYmwuYwpA QCAtMTIxLDE4ICsxMjEsNyBAQCBzdGF0aWMgaW50IHBtODYweF9iYWNrbGlnaHRfc2V0KHN0cnVj dCBiYWNrbGlnaHRfZGV2aWNlICpibCwgaW50IGJyaWdodG5lc3MpCiAKIHN0YXRpYyBpbnQgcG04 NjB4X2JhY2tsaWdodF91cGRhdGVfc3RhdHVzKHN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpibCkK IHsKLQlpbnQgYnJpZ2h0bmVzcyA9IGJsLT5wcm9wcy5icmlnaHRuZXNzOwotCi0JaWYgKGJsLT5w cm9wcy5wb3dlciAhPSBGQl9CTEFOS19VTkJMQU5LKQotCQlicmlnaHRuZXNzID0gMDsKLQotCWlm IChibC0+cHJvcHMuZmJfYmxhbmsgIT0gRkJfQkxBTktfVU5CTEFOSykKLQkJYnJpZ2h0bmVzcyA9 IDA7Ci0KLQlpZiAoYmwtPnByb3BzLnN0YXRlICYgQkxfQ09SRV9TVVNQRU5ERUQpCi0JCWJyaWdo dG5lc3MgPSAwOwotCi0JcmV0dXJuIHBtODYweF9iYWNrbGlnaHRfc2V0KGJsLCBicmlnaHRuZXNz KTsKKwlyZXR1cm4gcG04NjB4X2JhY2tsaWdodF9zZXQoYmwsIGJhY2tsaWdodF9nZXRfYnJpZ2h0 bmVzcyhibCkpOwogfQogCiBzdGF0aWMgaW50IHBtODYweF9iYWNrbGlnaHRfZ2V0X2JyaWdodG5l c3Moc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJsKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRl by9iYWNrbGlnaHQvYWRwNTUyMF9ibC5jIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvYWRwNTUy MF9ibC5jCmluZGV4IDBmNjNmNzY3MjNhNS4uNjg2OTg4YzNkZjNhIDEwMDY0NAotLS0gYS9kcml2 ZXJzL3ZpZGVvL2JhY2tsaWdodC9hZHA1NTIwX2JsLmMKKysrIGIvZHJpdmVycy92aWRlby9iYWNr bGlnaHQvYWRwNTUyMF9ibC5jCkBAIC02NSwxNSArNjUsNyBAQCBzdGF0aWMgaW50IGFkcDU1MjBf Ymxfc2V0KHN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpibCwgaW50IGJyaWdodG5lc3MpCiAKIHN0 YXRpYyBpbnQgYWRwNTUyMF9ibF91cGRhdGVfc3RhdHVzKHN0cnVjdCBiYWNrbGlnaHRfZGV2aWNl ICpibCkKIHsKLQlpbnQgYnJpZ2h0bmVzcyA9IGJsLT5wcm9wcy5icmlnaHRuZXNzOwotCi0JaWYg KGJsLT5wcm9wcy5wb3dlciAhPSBGQl9CTEFOS19VTkJMQU5LKQotCQlicmlnaHRuZXNzID0gMDsK LQotCWlmIChibC0+cHJvcHMuZmJfYmxhbmsgIT0gRkJfQkxBTktfVU5CTEFOSykKLQkJYnJpZ2h0 bmVzcyA9IDA7Ci0KLQlyZXR1cm4gYWRwNTUyMF9ibF9zZXQoYmwsIGJyaWdodG5lc3MpOworCXJl dHVybiBhZHA1NTIwX2JsX3NldChibCwgYmFja2xpZ2h0X2dldF9icmlnaHRuZXNzKGJsKSk7CiB9 CiAKIHN0YXRpYyBpbnQgYWRwNTUyMF9ibF9nZXRfYnJpZ2h0bmVzcyhzdHJ1Y3QgYmFja2xpZ2h0 X2RldmljZSAqYmwpCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9hZHA4ODYw X2JsLmMgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9hZHA4ODYwX2JsLmMKaW5kZXggMTk5Njgx MDRmYzQ3Li5kZGM3ZjVmMDQwMWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0 L2FkcDg4NjBfYmwuYworKysgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9hZHA4ODYwX2JsLmMK QEAgLTM2MSwxNSArMzYxLDcgQEAgc3RhdGljIGludCBhZHA4ODYwX2JsX3NldChzdHJ1Y3QgYmFj a2xpZ2h0X2RldmljZSAqYmwsIGludCBicmlnaHRuZXNzKQogCiBzdGF0aWMgaW50IGFkcDg4NjBf YmxfdXBkYXRlX3N0YXR1cyhzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqYmwpCiB7Ci0JaW50IGJy aWdodG5lc3MgPSBibC0+cHJvcHMuYnJpZ2h0bmVzczsKLQotCWlmIChibC0+cHJvcHMucG93ZXIg IT0gRkJfQkxBTktfVU5CTEFOSykKLQkJYnJpZ2h0bmVzcyA9IDA7Ci0KLQlpZiAoYmwtPnByb3Bz LmZiX2JsYW5rICE9IEZCX0JMQU5LX1VOQkxBTkspCi0JCWJyaWdodG5lc3MgPSAwOwotCi0JcmV0 dXJuIGFkcDg4NjBfYmxfc2V0KGJsLCBicmlnaHRuZXNzKTsKKwlyZXR1cm4gYWRwODg2MF9ibF9z ZXQoYmwsIGJhY2tsaWdodF9nZXRfYnJpZ2h0bmVzcyhibCkpOwogfQogCiBzdGF0aWMgaW50IGFk cDg4NjBfYmxfZ2V0X2JyaWdodG5lc3Moc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJsKQpkaWZm IC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvYWRwODg3MF9ibC5jIGIvZHJpdmVycy92 aWRlby9iYWNrbGlnaHQvYWRwODg3MF9ibC5jCmluZGV4IDRjMDAzMjAxMGNmZS4uOGI1MjEzYTM5 NTI3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9hZHA4ODcwX2JsLmMKKysr IGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvYWRwODg3MF9ibC5jCkBAIC0zOTksMTUgKzM5OSw3 IEBAIHN0YXRpYyBpbnQgYWRwODg3MF9ibF9zZXQoc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJs LCBpbnQgYnJpZ2h0bmVzcykKIAogc3RhdGljIGludCBhZHA4ODcwX2JsX3VwZGF0ZV9zdGF0dXMo c3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJsKQogewotCWludCBicmlnaHRuZXNzID0gYmwtPnBy b3BzLmJyaWdodG5lc3M7Ci0KLQlpZiAoYmwtPnByb3BzLnBvd2VyICE9IEZCX0JMQU5LX1VOQkxB TkspCi0JCWJyaWdodG5lc3MgPSAwOwotCi0JaWYgKGJsLT5wcm9wcy5mYl9ibGFuayAhPSBGQl9C TEFOS19VTkJMQU5LKQotCQlicmlnaHRuZXNzID0gMDsKLQotCXJldHVybiBhZHA4ODcwX2JsX3Nl dChibCwgYnJpZ2h0bmVzcyk7CisJcmV0dXJuIGFkcDg4NzBfYmxfc2V0KGJsLCBiYWNrbGlnaHRf Z2V0X2JyaWdodG5lc3MoYmwpKTsKIH0KIAogc3RhdGljIGludCBhZHA4ODcwX2JsX2dldF9icmln aHRuZXNzKHN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpibCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMv dmlkZW8vYmFja2xpZ2h0L2JkNjEwNy5jIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvYmQ2MTA3 LmMKaW5kZXggZDVkNWZiNDU3ZTc4Li41MTUxODRmYmUzM2EgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv dmlkZW8vYmFja2xpZ2h0L2JkNjEwNy5jCisrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2Jk NjEwNy5jCkBAIC04MiwxMiArODIsNyBAQCBzdGF0aWMgaW50IGJkNjEwN193cml0ZShzdHJ1Y3Qg YmQ2MTA3ICpiZCwgdTggcmVnLCB1OCBkYXRhKQogc3RhdGljIGludCBiZDYxMDdfYmFja2xpZ2h0 X3VwZGF0ZV9zdGF0dXMoc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJhY2tsaWdodCkKIHsKIAlz dHJ1Y3QgYmQ2MTA3ICpiZCA9IGJsX2dldF9kYXRhKGJhY2tsaWdodCk7Ci0JaW50IGJyaWdodG5l c3MgPSBiYWNrbGlnaHQtPnByb3BzLmJyaWdodG5lc3M7Ci0KLQlpZiAoYmFja2xpZ2h0LT5wcm9w cy5wb3dlciAhPSBGQl9CTEFOS19VTkJMQU5LIHx8Ci0JICAgIGJhY2tsaWdodC0+cHJvcHMuZmJf YmxhbmsgIT0gRkJfQkxBTktfVU5CTEFOSyB8fAotCSAgICBiYWNrbGlnaHQtPnByb3BzLnN0YXRl ICYgKEJMX0NPUkVfU1VTUEVOREVEIHwgQkxfQ09SRV9GQkJMQU5LKSkKLQkJYnJpZ2h0bmVzcyA9 IDA7CisJaW50IGJyaWdodG5lc3MgPSBiYWNrbGlnaHRfZ2V0X2JyaWdodG5lc3MoYmFja2xpZ2h0 KTsKIAogCWlmIChicmlnaHRuZXNzKSB7CiAJCWJkNjEwN193cml0ZShiZCwgQkQ2MTA3X1BPUlRT RUwsIEJENjEwN19QT1JUU0VMX0xFRE0oMikgfApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9i YWNrbGlnaHQvY29yZ2lfbGNkLmMgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9jb3JnaV9sY2Qu YwppbmRleCAyNWVmMGNiZDc1ODMuLjMzZjVkODA0OTVlNiAxMDA2NDQKLS0tIGEvZHJpdmVycy92 aWRlby9iYWNrbGlnaHQvY29yZ2lfbGNkLmMKKysrIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQv Y29yZ2lfbGNkLmMKQEAgLTQyMCwxMyArNDIwLDcgQEAgc3RhdGljIGludCBjb3JnaV9ibF9zZXRf aW50ZW5zaXR5KHN0cnVjdCBjb3JnaV9sY2QgKmxjZCwgaW50IGludGVuc2l0eSkKIHN0YXRpYyBp bnQgY29yZ2lfYmxfdXBkYXRlX3N0YXR1cyhzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqYmQpCiB7 CiAJc3RydWN0IGNvcmdpX2xjZCAqbGNkID0gYmxfZ2V0X2RhdGEoYmQpOwotCWludCBpbnRlbnNp dHkgPSBiZC0+cHJvcHMuYnJpZ2h0bmVzczsKLQotCWlmIChiZC0+cHJvcHMucG93ZXIgIT0gRkJf QkxBTktfVU5CTEFOSykKLQkJaW50ZW5zaXR5ID0gMDsKLQotCWlmIChiZC0+cHJvcHMuZmJfYmxh bmsgIT0gRkJfQkxBTktfVU5CTEFOSykKLQkJaW50ZW5zaXR5ID0gMDsKKwlpbnQgaW50ZW5zaXR5 ID0gYmFja2xpZ2h0X2dldF9icmlnaHRuZXNzKGJkKTsKIAogCWlmIChjb3JnaWJsX2ZsYWdzICYg Q09SR0lCTF9TVVNQRU5ERUQpCiAJCWludGVuc2l0eSA9IDA7CmRpZmYgLS1naXQgYS9kcml2ZXJz L3ZpZGVvL2JhY2tsaWdodC9kYTkwM3hfYmwuYyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2Rh OTAzeF9ibC5jCmluZGV4IDYyNTQwZTRiZGVkYi4uNzFmMjFiYmM3YTlmIDEwMDY0NAotLS0gYS9k cml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9kYTkwM3hfYmwuYworKysgYi9kcml2ZXJzL3ZpZGVvL2Jh Y2tsaWdodC9kYTkwM3hfYmwuYwpAQCAtNzcsMTggKzc3LDcgQEAgc3RhdGljIGludCBkYTkwM3hf YmFja2xpZ2h0X3NldChzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqYmwsIGludCBicmlnaHRuZXNz KQogCiBzdGF0aWMgaW50IGRhOTAzeF9iYWNrbGlnaHRfdXBkYXRlX3N0YXR1cyhzdHJ1Y3QgYmFj a2xpZ2h0X2RldmljZSAqYmwpCiB7Ci0JaW50IGJyaWdodG5lc3MgPSBibC0+cHJvcHMuYnJpZ2h0 bmVzczsKLQotCWlmIChibC0+cHJvcHMucG93ZXIgIT0gRkJfQkxBTktfVU5CTEFOSykKLQkJYnJp Z2h0bmVzcyA9IDA7Ci0KLQlpZiAoYmwtPnByb3BzLmZiX2JsYW5rICE9IEZCX0JMQU5LX1VOQkxB TkspCi0JCWJyaWdodG5lc3MgPSAwOwotCi0JaWYgKGJsLT5wcm9wcy5zdGF0ZSAmIEJMX0NPUkVf U1VTUEVOREVEKQotCQlicmlnaHRuZXNzID0gMDsKLQotCXJldHVybiBkYTkwM3hfYmFja2xpZ2h0 X3NldChibCwgYnJpZ2h0bmVzcyk7CisJcmV0dXJuIGRhOTAzeF9iYWNrbGlnaHRfc2V0KGJsLCBi YWNrbGlnaHRfZ2V0X2JyaWdodG5lc3MoYmwpKTsKIH0KIAogc3RhdGljIGludCBkYTkwM3hfYmFj a2xpZ2h0X2dldF9icmlnaHRuZXNzKHN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpibCkKZGlmZiAt LWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2VwOTN4eF9ibC5jIGIvZHJpdmVycy92aWRl by9iYWNrbGlnaHQvZXA5M3h4X2JsLmMKaW5kZXggNDE0OWUwYjJmODNjLi4yMzg3MDA5ZDQ1MmQg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2VwOTN4eF9ibC5jCisrKyBiL2Ry aXZlcnMvdmlkZW8vYmFja2xpZ2h0L2VwOTN4eF9ibC5jCkBAIC0zNiwxMyArMzYsNyBAQCBzdGF0 aWMgaW50IGVwOTN4eGJsX3NldChzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqYmwsIGludCBicmln aHRuZXNzKQogCiBzdGF0aWMgaW50IGVwOTN4eGJsX3VwZGF0ZV9zdGF0dXMoc3RydWN0IGJhY2ts aWdodF9kZXZpY2UgKmJsKQogewotCWludCBicmlnaHRuZXNzID0gYmwtPnByb3BzLmJyaWdodG5l c3M7Ci0KLQlpZiAoYmwtPnByb3BzLnBvd2VyICE9IEZCX0JMQU5LX1VOQkxBTksgfHwKLQkgICAg YmwtPnByb3BzLmZiX2JsYW5rICE9IEZCX0JMQU5LX1VOQkxBTkspCi0JCWJyaWdodG5lc3MgPSAw OwotCi0JcmV0dXJuIGVwOTN4eGJsX3NldChibCwgYnJpZ2h0bmVzcyk7CisJcmV0dXJuIGVwOTN4 eGJsX3NldChibCwgYmFja2xpZ2h0X2dldF9icmlnaHRuZXNzKGJsKSk7CiB9CiAKIHN0YXRpYyBp bnQgZXA5M3h4YmxfZ2V0X2JyaWdodG5lc3Moc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJsKQpk aWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvaHA2ODBfYmwuYyBiL2RyaXZlcnMv dmlkZW8vYmFja2xpZ2h0L2hwNjgwX2JsLmMKaW5kZXggOGVhNDJiOGQ5YmM4Li45MTIzYzMzZGVm MDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2hwNjgwX2JsLmMKKysrIGIv ZHJpdmVycy92aWRlby9iYWNrbGlnaHQvaHA2ODBfYmwuYwpAQCAtMzMsMTIgKzMzLDggQEAgc3Rh dGljIHZvaWQgaHA2ODBibF9zZW5kX2ludGVuc2l0eShzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAq YmQpCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAl1MTYgdjsKLQlpbnQgaW50ZW5zaXR5ID0g YmQtPnByb3BzLmJyaWdodG5lc3M7CisJaW50IGludGVuc2l0eSA9IGJhY2tsaWdodF9nZXRfYnJp Z2h0bmVzcyhiZCk7CiAKLQlpZiAoYmQtPnByb3BzLnBvd2VyICE9IEZCX0JMQU5LX1VOQkxBTksp Ci0JCWludGVuc2l0eSA9IDA7Ci0JaWYgKGJkLT5wcm9wcy5mYl9ibGFuayAhPSBGQl9CTEFOS19V TkJMQU5LKQotCQlpbnRlbnNpdHkgPSAwOwogCWlmIChocDY4MGJsX3N1c3BlbmRlZCkKIAkJaW50 ZW5zaXR5ID0gMDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQva2IzODg2 X2JsLmMgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9rYjM4ODZfYmwuYwppbmRleCAxZGZlMTNj MTg5MjUuLjU1Nzk0YjIzOWNmZiAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQv a2IzODg2X2JsLmMKKysrIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQva2IzODg2X2JsLmMKQEAg LTg3LDEyICs4Nyw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCBrYjM4ODZi bF9kZXZpY2VfdGFibGVbXSBfX2luaXRjb25zdCA9IHsKIAogc3RhdGljIGludCBrYjM4ODZibF9z ZW5kX2ludGVuc2l0eShzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqYmQpCiB7Ci0JaW50IGludGVu c2l0eSA9IGJkLT5wcm9wcy5icmlnaHRuZXNzOworCWludCBpbnRlbnNpdHkgPSBiYWNrbGlnaHRf Z2V0X2JyaWdodG5lc3MoYmQpOwogCi0JaWYgKGJkLT5wcm9wcy5wb3dlciAhPSBGQl9CTEFOS19V TkJMQU5LKQotCQlpbnRlbnNpdHkgPSAwOwotCWlmIChiZC0+cHJvcHMuZmJfYmxhbmsgIT0gRkJf QkxBTktfVU5CTEFOSykKLQkJaW50ZW5zaXR5ID0gMDsKIAlpZiAoa2IzODg2YmxfZmxhZ3MgJiBL QjM4ODZCTF9TVVNQRU5ERUQpCiAJCWludGVuc2l0eSA9IDA7CiAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvdmlkZW8vYmFja2xpZ2h0L2xlZF9ibC5jIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbGVk X2JsLmMKaW5kZXggM2Y2NjU0OTk5N2M4Li5mNTRkMjU2ZTJkNTQgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvdmlkZW8vYmFja2xpZ2h0L2xlZF9ibC5jCisrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0 L2xlZF9ibC5jCkBAIC01NCwxMiArNTQsNyBAQCBzdGF0aWMgdm9pZCBsZWRfYmxfcG93ZXJfb2Zm KHN0cnVjdCBsZWRfYmxfZGF0YSAqcHJpdikKIHN0YXRpYyBpbnQgbGVkX2JsX3VwZGF0ZV9zdGF0 dXMoc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJsKQogewogCXN0cnVjdCBsZWRfYmxfZGF0YSAq cHJpdiA9IGJsX2dldF9kYXRhKGJsKTsKLQlpbnQgYnJpZ2h0bmVzcyA9IGJsLT5wcm9wcy5icmln aHRuZXNzOwotCi0JaWYgKGJsLT5wcm9wcy5wb3dlciAhPSBGQl9CTEFOS19VTkJMQU5LIHx8Ci0J ICAgIGJsLT5wcm9wcy5mYl9ibGFuayAhPSBGQl9CTEFOS19VTkJMQU5LIHx8Ci0JICAgIGJsLT5w cm9wcy5zdGF0ZSAmIEJMX0NPUkVfRkJCTEFOSykKLQkJYnJpZ2h0bmVzcyA9IDA7CisJaW50IGJy aWdodG5lc3MgPSBiYWNrbGlnaHRfZ2V0X2JyaWdodG5lc3MoYmwpOwogCiAJaWYgKGJyaWdodG5l c3MgPiAwKQogCQlsZWRfYmxfc2V0X2JyaWdodG5lc3MocHJpdiwgYnJpZ2h0bmVzcyk7CmRpZmYg LS1naXQgYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9sbTM1MzNfYmwuYyBiL2RyaXZlcnMvdmlk ZW8vYmFja2xpZ2h0L2xtMzUzM19ibC5jCmluZGV4IDBjNzgzMGY3OTNkZS4uMWRmMWI2NjQzYzBi IDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9sbTM1MzNfYmwuYworKysgYi9k cml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9sbTM1MzNfYmwuYwpAQCAtMzksMTQgKzM5LDggQEAgc3Rh dGljIGlubGluZSBpbnQgbG0zNTMzX2JsX2dldF9jdHJsYmFua19pZChzdHJ1Y3QgbG0zNTMzX2Js ICpibCkKIHN0YXRpYyBpbnQgbG0zNTMzX2JsX3VwZGF0ZV9zdGF0dXMoc3RydWN0IGJhY2tsaWdo dF9kZXZpY2UgKmJkKQogewogCXN0cnVjdCBsbTM1MzNfYmwgKmJsID0gYmxfZ2V0X2RhdGEoYmQp OwotCWludCBicmlnaHRuZXNzID0gYmQtPnByb3BzLmJyaWdodG5lc3M7CiAKLQlpZiAoYmQtPnBy b3BzLnBvd2VyICE9IEZCX0JMQU5LX1VOQkxBTkspCi0JCWJyaWdodG5lc3MgPSAwOwotCWlmIChi ZC0+cHJvcHMuZmJfYmxhbmsgIT0gRkJfQkxBTktfVU5CTEFOSykKLQkJYnJpZ2h0bmVzcyA9IDA7 Ci0KLQlyZXR1cm4gbG0zNTMzX2N0cmxiYW5rX3NldF9icmlnaHRuZXNzKCZibC0+Y2IsICh1OCli cmlnaHRuZXNzKTsKKwlyZXR1cm4gbG0zNTMzX2N0cmxiYW5rX3NldF9icmlnaHRuZXNzKCZibC0+ Y2IsIGJhY2tsaWdodF9nZXRfYnJpZ2h0bmVzcyhiZCkpOwogfQogCiBzdGF0aWMgaW50IGxtMzUz M19ibF9nZXRfYnJpZ2h0bmVzcyhzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqYmQpCmRpZmYgLS1n aXQgYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9sb2NvbW9sY2QuYyBiL2RyaXZlcnMvdmlkZW8v YmFja2xpZ2h0L2xvY29tb2xjZC5jCmluZGV4IGNkYzAyZTA0Zjg5ZC4uMjk3ZWUyZTFhYjBiIDEw MDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9sb2NvbW9sY2QuYworKysgYi9kcml2 ZXJzL3ZpZGVvL2JhY2tsaWdodC9sb2NvbW9sY2QuYwpAQCAtMTExLDEyICsxMTEsOCBAQCBzdGF0 aWMgaW50IGN1cnJlbnRfaW50ZW5zaXR5OwogCiBzdGF0aWMgaW50IGxvY29tb2xjZF9zZXRfaW50 ZW5zaXR5KHN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpiZCkKIHsKLQlpbnQgaW50ZW5zaXR5ID0g YmQtPnByb3BzLmJyaWdodG5lc3M7CisJaW50IGludGVuc2l0eSA9IGJhY2tsaWdodF9nZXRfYnJp Z2h0bmVzcyhiZCk7CiAKLQlpZiAoYmQtPnByb3BzLnBvd2VyICE9IEZCX0JMQU5LX1VOQkxBTksp Ci0JCWludGVuc2l0eSA9IDA7Ci0JaWYgKGJkLT5wcm9wcy5mYl9ibGFuayAhPSBGQl9CTEFOS19V TkJMQU5LKQotCQlpbnRlbnNpdHkgPSAwOwogCWlmIChsb2NvbW9sY2RfZmxhZ3MgJiBMT0NPTU9M Q0RfU1VTUEVOREVEKQogCQlpbnRlbnNpdHkgPSAwOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Zp ZGVvL2JhY2tsaWdodC9sdjUyMDdscC5jIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbHY1MjA3 bHAuYwppbmRleCBjNmFkNzNhNzg0ZTIuLjE4NDJhZTlhNTVmOCAxMDA2NDQKLS0tIGEvZHJpdmVy cy92aWRlby9iYWNrbGlnaHQvbHY1MjA3bHAuYworKysgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdo dC9sdjUyMDdscC5jCkBAIC00NiwxMiArNDYsNyBAQCBzdGF0aWMgaW50IGx2NTIwN2xwX3dyaXRl KHN0cnVjdCBsdjUyMDdscCAqbHYsIHU4IHJlZywgdTggZGF0YSkKIHN0YXRpYyBpbnQgbHY1MjA3 bHBfYmFja2xpZ2h0X3VwZGF0ZV9zdGF0dXMoc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJhY2ts aWdodCkKIHsKIAlzdHJ1Y3QgbHY1MjA3bHAgKmx2ID0gYmxfZ2V0X2RhdGEoYmFja2xpZ2h0KTsK LQlpbnQgYnJpZ2h0bmVzcyA9IGJhY2tsaWdodC0+cHJvcHMuYnJpZ2h0bmVzczsKLQotCWlmIChi YWNrbGlnaHQtPnByb3BzLnBvd2VyICE9IEZCX0JMQU5LX1VOQkxBTksgfHwKLQkgICAgYmFja2xp Z2h0LT5wcm9wcy5mYl9ibGFuayAhPSBGQl9CTEFOS19VTkJMQU5LIHx8Ci0JICAgIGJhY2tsaWdo dC0+cHJvcHMuc3RhdGUgJiAoQkxfQ09SRV9TVVNQRU5ERUQgfCBCTF9DT1JFX0ZCQkxBTkspKQot CQlicmlnaHRuZXNzID0gMDsKKwlpbnQgYnJpZ2h0bmVzcyA9IGJhY2tsaWdodF9nZXRfYnJpZ2h0 bmVzcyhiYWNrbGlnaHQpOwogCiAJaWYgKGJyaWdodG5lc3MpIHsKIAkJbHY1MjA3bHBfd3JpdGUo bHYsIExWNTIwN0xQX0NUUkwxLApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQv bWF4ODkyNV9ibC5jIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbWF4ODkyNV9ibC5jCmluZGV4 IDk3Y2MyNjBmZjlkMS4uZTYwN2VjNmZkNGJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2Jh Y2tsaWdodC9tYXg4OTI1X2JsLmMKKysrIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbWF4ODky NV9ibC5jCkBAIC02NCwxOCArNjQsNyBAQCBzdGF0aWMgaW50IG1heDg5MjVfYmFja2xpZ2h0X3Nl dChzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqYmwsIGludCBicmlnaHRuZXNzKQogCiBzdGF0aWMg aW50IG1heDg5MjVfYmFja2xpZ2h0X3VwZGF0ZV9zdGF0dXMoc3RydWN0IGJhY2tsaWdodF9kZXZp Y2UgKmJsKQogewotCWludCBicmlnaHRuZXNzID0gYmwtPnByb3BzLmJyaWdodG5lc3M7Ci0KLQlp ZiAoYmwtPnByb3BzLnBvd2VyICE9IEZCX0JMQU5LX1VOQkxBTkspCi0JCWJyaWdodG5lc3MgPSAw OwotCi0JaWYgKGJsLT5wcm9wcy5mYl9ibGFuayAhPSBGQl9CTEFOS19VTkJMQU5LKQotCQlicmln aHRuZXNzID0gMDsKLQotCWlmIChibC0+cHJvcHMuc3RhdGUgJiBCTF9DT1JFX1NVU1BFTkRFRCkK LQkJYnJpZ2h0bmVzcyA9IDA7Ci0KLQlyZXR1cm4gbWF4ODkyNV9iYWNrbGlnaHRfc2V0KGJsLCBi cmlnaHRuZXNzKTsKKwlyZXR1cm4gbWF4ODkyNV9iYWNrbGlnaHRfc2V0KGJsLCBiYWNrbGlnaHRf Z2V0X2JyaWdodG5lc3MoYmwpKTsKIH0KIAogc3RhdGljIGludCBtYXg4OTI1X2JhY2tsaWdodF9n ZXRfYnJpZ2h0bmVzcyhzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqYmwpCmRpZmYgLS1naXQgYS9k cml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9wd21fYmwuYyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0 L3B3bV9ibC5jCmluZGV4IDgyYjhkNzU5NDcwMS4uZWZmNjRkYjJlMDJlIDEwMDY0NAotLS0gYS9k cml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9wd21fYmwuYworKysgYi9kcml2ZXJzL3ZpZGVvL2JhY2ts aWdodC9wd21fYmwuYwpAQCAtMTA4LDE0ICsxMDgsOSBAQCBzdGF0aWMgaW50IGNvbXB1dGVfZHV0 eV9jeWNsZShzdHJ1Y3QgcHdtX2JsX2RhdGEgKnBiLCBpbnQgYnJpZ2h0bmVzcykKIHN0YXRpYyBp bnQgcHdtX2JhY2tsaWdodF91cGRhdGVfc3RhdHVzKHN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpi bCkKIHsKIAlzdHJ1Y3QgcHdtX2JsX2RhdGEgKnBiID0gYmxfZ2V0X2RhdGEoYmwpOwotCWludCBi cmlnaHRuZXNzID0gYmwtPnByb3BzLmJyaWdodG5lc3M7CisJaW50IGJyaWdodG5lc3MgPSBiYWNr bGlnaHRfZ2V0X2JyaWdodG5lc3MoYmwpOwogCXN0cnVjdCBwd21fc3RhdGUgc3RhdGU7CiAKLQlp ZiAoYmwtPnByb3BzLnBvd2VyICE9IEZCX0JMQU5LX1VOQkxBTksgfHwKLQkgICAgYmwtPnByb3Bz LmZiX2JsYW5rICE9IEZCX0JMQU5LX1VOQkxBTksgfHwKLQkgICAgYmwtPnByb3BzLnN0YXRlICYg QkxfQ09SRV9GQkJMQU5LKQotCQlicmlnaHRuZXNzID0gMDsKLQogCWlmIChwYi0+bm90aWZ5KQog CQlicmlnaHRuZXNzID0gcGItPm5vdGlmeShwYi0+ZGV2LCBicmlnaHRuZXNzKTsKIApkaWZmIC0t Z2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvcWNvbS13bGVkLmMgYi9kcml2ZXJzL3ZpZGVv L2JhY2tsaWdodC9xY29tLXdsZWQuYwppbmRleCBjMjVjMzExOTk5NTIuLjNiYzc4MDBlYjBhOSAx MDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvcWNvbS13bGVkLmMKKysrIGIvZHJp dmVycy92aWRlby9iYWNrbGlnaHQvcWNvbS13bGVkLmMKQEAgLTQzMywxNCArNDMzLDkgQEAgc3Rh dGljIGludCB3bGVkNV9vdnBfZGVsYXkoc3RydWN0IHdsZWQgKndsZWQpCiBzdGF0aWMgaW50IHds ZWRfdXBkYXRlX3N0YXR1cyhzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqYmwpCiB7CiAJc3RydWN0 IHdsZWQgKndsZWQgPSBibF9nZXRfZGF0YShibCk7Ci0JdTE2IGJyaWdodG5lc3MgPSBibC0+cHJv cHMuYnJpZ2h0bmVzczsKKwl1MTYgYnJpZ2h0bmVzcyA9IGJhY2tsaWdodF9nZXRfYnJpZ2h0bmVz cyhibCk7CiAJaW50IHJjID0gMDsKIAotCWlmIChibC0+cHJvcHMucG93ZXIgIT0gRkJfQkxBTktf VU5CTEFOSyB8fAotCSAgICBibC0+cHJvcHMuZmJfYmxhbmsgIT0gRkJfQkxBTktfVU5CTEFOSyB8 fAotCSAgICBibC0+cHJvcHMuc3RhdGUgJiBCTF9DT1JFX0ZCQkxBTkspCi0JCWJyaWdodG5lc3Mg PSAwOwotCiAJbXV0ZXhfbG9jaygmd2xlZC0+bG9jayk7CiAJaWYgKGJyaWdodG5lc3MpIHsKIAkJ cmMgPSB3bGVkLT53bGVkX3NldF9icmlnaHRuZXNzKHdsZWQsIGJyaWdodG5lc3MpOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvdHBzNjUyMTdfYmwuYyBiL2RyaXZlcnMvdmlk ZW8vYmFja2xpZ2h0L3RwczY1MjE3X2JsLmMKaW5kZXggNzYyZTNmZWVkMDk3Li44NDU3MTY2ZjM1 N2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3RwczY1MjE3X2JsLmMKKysr IGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvdHBzNjUyMTdfYmwuYwpAQCAtNzcsMTUgKzc3LDcg QEAgc3RhdGljIGludCB0cHM2NTIxN19ibF91cGRhdGVfc3RhdHVzKHN0cnVjdCBiYWNrbGlnaHRf ZGV2aWNlICpibCkKIHsKIAlzdHJ1Y3QgdHBzNjUyMTdfYmwgKnRwczY1MjE3X2JsID0gYmxfZ2V0 X2RhdGEoYmwpOwogCWludCByYzsKLQlpbnQgYnJpZ2h0bmVzcyA9IGJsLT5wcm9wcy5icmlnaHRu ZXNzOwotCi0JaWYgKGJsLT5wcm9wcy5zdGF0ZSAmIEJMX0NPUkVfU1VTUEVOREVEKQotCQlicmln aHRuZXNzID0gMDsKLQotCWlmICgoYmwtPnByb3BzLnBvd2VyICE9IEZCX0JMQU5LX1VOQkxBTksp IHx8Ci0JCShibC0+cHJvcHMuZmJfYmxhbmsgIT0gRkJfQkxBTktfVU5CTEFOSykpCi0JCS8qIGZy YW1lYnVmZmVyIGluIGxvdyBwb3dlciBtb2RlIG9yIGJsYW5raW5nIGFjdGl2ZSAqLwotCQlicmln aHRuZXNzID0gMDsKKwlpbnQgYnJpZ2h0bmVzcyA9IGJhY2tsaWdodF9nZXRfYnJpZ2h0bmVzcyhi bCk7CiAKIAlpZiAoYnJpZ2h0bmVzcyA+IDApIHsKIAkJcmMgPSB0cHM2NTIxN19yZWdfd3JpdGUo dHBzNjUyMTdfYmwtPnRwcywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3dt ODMxeF9ibC5jIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvd204MzF4X2JsLmMKaW5kZXggZTU1 OTc3ZDU0YzE1Li5jNWFhZWUyMDViZGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xp Z2h0L3dtODMxeF9ibC5jCisrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3dtODMxeF9ibC5j CkBAIC05MSwxOCArOTEsNyBAQCBzdGF0aWMgaW50IHdtODMxeF9iYWNrbGlnaHRfc2V0KHN0cnVj dCBiYWNrbGlnaHRfZGV2aWNlICpibCwgaW50IGJyaWdodG5lc3MpCiAKIHN0YXRpYyBpbnQgd204 MzF4X2JhY2tsaWdodF91cGRhdGVfc3RhdHVzKHN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpibCkK IHsKLQlpbnQgYnJpZ2h0bmVzcyA9IGJsLT5wcm9wcy5icmlnaHRuZXNzOwotCi0JaWYgKGJsLT5w cm9wcy5wb3dlciAhPSBGQl9CTEFOS19VTkJMQU5LKQotCQlicmlnaHRuZXNzID0gMDsKLQotCWlm IChibC0+cHJvcHMuZmJfYmxhbmsgIT0gRkJfQkxBTktfVU5CTEFOSykKLQkJYnJpZ2h0bmVzcyA9 IDA7Ci0KLQlpZiAoYmwtPnByb3BzLnN0YXRlICYgQkxfQ09SRV9TVVNQRU5ERUQpCi0JCWJyaWdo dG5lc3MgPSAwOwotCi0JcmV0dXJuIHdtODMxeF9iYWNrbGlnaHRfc2V0KGJsLCBicmlnaHRuZXNz KTsKKwlyZXR1cm4gd204MzF4X2JhY2tsaWdodF9zZXQoYmwsIGJhY2tsaWdodF9nZXRfYnJpZ2h0 bmVzcyhibCkpOwogfQogCiBzdGF0aWMgaW50IHdtODMxeF9iYWNrbGlnaHRfZ2V0X2JyaWdodG5l c3Moc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJsKQotLSAKMi4yNS4xCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0 CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK