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.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham 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 577E7C433E2 for ; Sat, 5 Sep 2020 14:54:24 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 A16972078E for ; Sat, 5 Sep 2020 14:54:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="G/MuiK3S"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=gmx.net header.i=@gmx.net header.b="fGPuaB7R" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A16972078E Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=gmx.net Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=seCV5YD3mLhFIp5bYcHt0h+VsKqEBGVcIPs0L8WYxAw=; b=G/MuiK3STgp/qtn2DjelFOGhs tbEtXn18t4xO7NbvWxAMbK7lB2J49F1ldUlpSM6acWGTrOFl/MpEysinAozeDF4uILx+BJlxCPd65 IWkG/vjkrxLXe/zL4ELzleZloBhvn95v42kYpnebyJnRbM1XRuOxYbXQaP7Kz17GwUhjOs9yLGEcb cnp1j9PXrCZ0MAbzJZxiXjY+0VpmnUuXhusX6Mgnp+V+vo+u/HAwDmScVpZ3zLgroPCOySchsgEhr osbQv5BQthN7kBfIVKESh7JCe5MP40Q7YMPQIvZYRifV2dHMW9Hl7Nd9ss6Hm7MGhQsqsPblQIAMg rDpZ3SxUQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kEZYJ-0002wV-1q; Sat, 05 Sep 2020 14:52:27 +0000 Received: from mout.gmx.net ([212.227.15.18]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kEZYF-0002vz-QT for linux-arm-kernel@lists.infradead.org; Sat, 05 Sep 2020 14:52:24 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1599317541; bh=AmcVqt376Z16SI/dPXXTlsZxd3ygG5eId5RZWTXwmYU=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=fGPuaB7RffFFwirpNW7YWlIhxcYSBDK9NwYcLhOZsn+FKfnORixNe0U8cYAXJB7Jr clkgFHJ9pHaDPKQA3DeHzBnEw4AIqTW2dgvJ77I/1Rc2WVgf2gFgBG+JWQyj4DWxct kSRFpo5yYy//AufxS0aSImyCfFD5qs29mAReVoEI= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from longitude ([5.146.195.151]) by mail.gmx.com (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MTiPv-1k8pu63Yvl-00TzFu; Sat, 05 Sep 2020 16:45:36 +0200 From: =?UTF-8?q?Jonathan=20Neusch=C3=A4fer?= To: linux-kernel@vger.kernel.org Subject: [PATCH v2 08/10] rtc: New driver for RTC in Netronix embedded controller Date: Sat, 5 Sep 2020 16:45:00 +0200 Message-Id: <20200905144503.1067124-1-j.neuschaefer@gmx.net> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200905133230.1014581-1-j.neuschaefer@gmx.net> References: <20200905133230.1014581-1-j.neuschaefer@gmx.net> MIME-Version: 1.0 X-Provags-ID: V03:K1:s1Iuy0DqF3nvuCeJDEoK6kI2mBJxXiedCE/mjpNaXYYDwjmv37D RxR6zMa9OiHI6c3hAO40fXIgiLrCbUToOLmrQxoNxuNVYu5CsOSFv5sh2yR5c8DpscEysJC /nYdzmBrKo0DxrcxUpjxHo8yn5AvKv2KxrZCg4floK3I5QMI8c2XBgs4igC0T5OCv0/Kof+ mUzjOZUPeEP+5QnC6jNGA== X-UI-Out-Filterresults: notjunk:1;V03:K0:5SWfn4hfEiY=:iKTvceN57gmD2GEmGlnaRC RG6omwJ2nmiByVrfSj2qTcvsGSRq4dCShYR0ztwHY/+pvWJnhHx57f3WkdXcHrTHlNJI+ZckN 93UC+Nljb191MhTugvULy4kGhd8gF7O4oQchDGJhcOnUAJTfbFUyLAq+pkCVh5owGHpsxBJMu QruJZ/8T8b9EtACcBt6rCfuzdXzoEcU6cgZ+9TYOQ9j1cfrbfrCWBOz9mM4MnlIUK/u/gFzdN b4TcY3Hby6Zex736wXlWtJ0bKa8THzZu/TBLDw8e778CemgighiAPzrARw6Q3rKZFY5tSosT4 8pr8JrGbj6k1IjQOOApZdVHoKO6fV03CrhMNC+5Q4I6r/c7oh0eGalmxBp+SFuuxXj4nlBtq5 ApREmRkB/SjeCP7dX/KY23Sl2f0R4177u4XF8cEiAN8yPU4Eydb1KCF1PNpclY6IpvY4euI00 xPnTTp+xFnKZpiGtmdubG7aTUWAM/YpGOUaFr9AdQhLIWshR4WgaNPVzfDwC895JcA2z1Fz/m +fEB2KFqoTir0p6g2FxlH9+6vwJ0M9zMSEDfTlnsWMATOiDs7G1h5YyRNpwMAkIeUkyqOSb0C 9/OvhNOjdddYKzKR/Vgqu4Hm1z9WHmI3Qs/HszsfwlcoNQ8Uf65BpWL+JCI+jGutp4/9oyXHX opVEk903ZCQR6Sk0SG5e+dVcWsls7fYTgACOwwkW6LcCafm7+BtzOZ6BVLtX8d6AuhH3zAmZz lpM9w6XG3NQMPABIAk4RZDJq3b/4cBraU3lgIuHajVomU/Tg8C8NStwOwgXoTrD8G0+jT6ksT yRASnL/TFOf26ugj481Nq8OVsiQu1B3rA+952GmDw/KJ5IG4YFzIepFABPmCBPjqoEJ2NlO03 VltVTv161JnAffhedcsGTxScRmW5bcaWlXvqAYcachxz7M6201hLrqYcdqcfor9LuB7unPwjm aF+0GpI/1QdWz0ffFNYBrBrQRr1/dILhyWvl9s0r/CrXuNxQa5LV05J4F7xKtXTNFNwuq6rg9 W/1SLmLQ9+Rug9XWSfU5eG/Dd7yBTMAtouSapfomMADP+7i2fGLR6zuXnkRxt0lXwxtUfvW6T lCwiewDafZCRn1Wjefu/l+0G4o5Lpz6oPs1b12OgKpgRwvrZ6VdfIK3DYa6j6cxBbzEQ9Sy3l pkj6ZYbgXI2vYWUXjp6dcdxrA2ATZ77r9Fo53MplDFgWjgePbohv7cyRCzz6n9rK9XUqRRL09 PIcVlucfhK5j6fELUF5GXvB+8HngmScGagPULcQ== X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200905_105224_078666_C2BA2262 X-CRM114-Status: GOOD ( 27.79 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Alexandre Belloni , Heiko Stuebner , linux-pwm@vger.kernel.org, Linus Walleij , Thierry Reding , Fabio Estevam , linux-rtc@vger.kernel.org, Arnd Bergmann , Mauro Carvalho Chehab , Sam Ravnborg , Daniel Palmer , Andreas Kemnade , NXP Linux Team , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , devicetree@vger.kernel.org, Stephan Gerhold , allen , Sascha Hauer , =?UTF-8?q?Jonathan=20Neusch=C3=A4fer?= , Lubomir Rintel , Rob Herring , Lee Jones , linux-arm-kernel@lists.infradead.org, Alessandro Zummo , Mark Brown , Pengutronix Kernel Team , Heiko Stuebner , Josua Mayer , Shawn Guo , "David S. Miller" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org V2l0aCB0aGlzIGRyaXZlciwgbWFpbmxpbmUgTGludXggY2FuIGtlZXAgaXRzIHRpbWUgYW5kIGRh dGUgaW4gc3luYyB3aXRoCnRoZSB2ZW5kb3Iga2VybmVsLgoKQWR2YW5jZWQgZnVuY3Rpb25hbGl0 eSBsaWtlIGFsYXJtIGFuZCBhdXRvbWF0aWMgcG93ZXItb24gaXMgbm90IHlldApzdXBwb3J0ZWQu CgpTaWduZWQtb2ZmLWJ5OiBKb25hdGhhbiBOZXVzY2jDpGZlciA8ai5uZXVzY2hhZWZlckBnbXgu bmV0PgotLS0KCnYyOgotIFJld29yayB0b3Atb2YtZmlsZSBjb21tZW50IFtMZWUgSm9uZXNdCi0g U29ydCB0aGUgI2luY2x1ZGUgbGluZXMgW0FsZXhhbmRyZSBCZWxsb25pXQotIGRvbid0IGFsaWdu ID0gc2lnbnMgaW4gc3RydWN0IGluaXRpYWxpemVycyBbVXdlIEtsZWluZS1Lw7ZuaWddCi0gU3dp dGNoIHRvIHJlZ21hcAotIEZpeCByZWdpc3RlciBudW1iZXIgdXNlZCB0byByZWFkIG1pbnV0ZXMg YW5kIHNlY29uZHMKLSBQcmVmaXggcmVnaXN0ZXJzIHdpdGggTlRYRUNfUkVHXwotIEFkZCBoZWxw IHRleHQgdG8gdGhlIEtjb25maWcgb3B0aW9uCi0gVXNlIGRldm1fcnRjX2FsbG9jYXRlX2Rldmlj ZSBhbmQgcnRjX3JlZ2lzdGVyX2RldmljZSwgc2V0IC0+cmFuZ2VfbWluIGFuZCAtPnJhbmdlX21h eAotLS0KIGRyaXZlcnMvcnRjL0tjb25maWcgICAgIHwgICA4ICsrKwogZHJpdmVycy9ydGMvTWFr ZWZpbGUgICAgfCAgIDEgKwogZHJpdmVycy9ydGMvcnRjLW50eGVjLmMgfCAxMzAgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAxMzkgaW5z ZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvcnRjL3J0Yy1udHhlYy5jCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ydGMvS2NvbmZpZyBiL2RyaXZlcnMvcnRjL0tjb25maWcKaW5k ZXggNDhjNTM2YWNkNzc3Zi4uYWU4ZjNkYzM2YzlhMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ydGMv S2NvbmZpZworKysgYi9kcml2ZXJzL3J0Yy9LY29uZmlnCkBAIC0xMzAxLDYgKzEzMDEsMTQgQEAg Y29uZmlnIFJUQ19EUlZfQ1JPU19FQwogCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQg YXMgYSBtb2R1bGUuIElmIHNvLCB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBydGMtY3Jv cy1lYy4KCitjb25maWcgUlRDX0RSVl9OVFhFQworCXRyaXN0YXRlICJOZXRyb25peCBlbWJlZGRl ZCBjb250cm9sbGVyIFJUQyBkcml2ZXIiCisJZGVwZW5kcyBvbiBNRkRfTlRYRUMKKwloZWxwCisJ ICBTYXkgeWVzIGhlcmUgaWYgeW91IHdhbnQgdG8gc3VwcG9ydCB0aGUgUlRDIGZ1bmN0aW9uYWxp dHkgb2YgdGhlCisJICBlbWJlZGRlZCBjb250cm9sbGVyIGZvdW5kIGluIGNlcnRhaW4gZS1ib29r IHJlYWRlcnMgZGVzaWduZWQgYnkgdGhlCisJICBPRE0gTmV0cm9uaXguCisKIGNvbW1lbnQgIm9u LUNQVSBSVEMgZHJpdmVycyIKCiBjb25maWcgUlRDX0RSVl9BU005MjYwCmRpZmYgLS1naXQgYS9k cml2ZXJzL3J0Yy9NYWtlZmlsZSBiL2RyaXZlcnMvcnRjL01ha2VmaWxlCmluZGV4IDg4MGUwOGE0 MDljM2QuLjczMzQ3OWRiMTg4OTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcnRjL01ha2VmaWxlCisr KyBiL2RyaXZlcnMvcnRjL01ha2VmaWxlCkBAIC0xMTEsNiArMTExLDcgQEAgb2JqLSQoQ09ORklH X1JUQ19EUlZfTVQ3NjIyKQkrPSBydGMtbXQ3NjIyLm8KIG9iai0kKENPTkZJR19SVENfRFJWX01W KQkrPSBydGMtbXYubwogb2JqLSQoQ09ORklHX1JUQ19EUlZfTVhDKQkrPSBydGMtbXhjLm8KIG9i ai0kKENPTkZJR19SVENfRFJWX01YQ19WMikJKz0gcnRjLW14Y192Mi5vCitvYmotJChDT05GSUdf UlRDX0RSVl9OVFhFQykJKz0gcnRjLW50eGVjLm8KIG9iai0kKENPTkZJR19SVENfRFJWX09NQVAp CSs9IHJ0Yy1vbWFwLm8KIG9iai0kKENPTkZJR19SVENfRFJWX09QQUwpCSs9IHJ0Yy1vcGFsLm8K IG9iai0kKENPTkZJR19SVENfRFJWX1BBTE1BUykJKz0gcnRjLXBhbG1hcy5vCmRpZmYgLS1naXQg YS9kcml2ZXJzL3J0Yy9ydGMtbnR4ZWMuYyBiL2RyaXZlcnMvcnRjL3J0Yy1udHhlYy5jCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLjgyZWI2MzUyMzUzY2QKLS0tIC9k ZXYvbnVsbAorKysgYi9kcml2ZXJzL3J0Yy9ydGMtbnR4ZWMuYwpAQCAtMCwwICsxLDEzMCBAQAor Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorLyoKKyAqIFRoZSBOZXRy b25peCBlbWJlZGRlZCBjb250cm9sbGVyIGlzIGEgbWljcm9jb250cm9sbGVyIGZvdW5kIGluIHNv bWUKKyAqIGUtYm9vayByZWFkZXJzIGRlc2lnbmVkIGJ5IHRoZSBPRE0gTmV0cm9uaXgsIEluYy4g SXQgY29udGFpbnMgUlRDLAorICogYmF0dGVyeSBtb25pdG9yaW5nLCBzeXN0ZW0gcG93ZXIgbWFu YWdlbWVudCwgYW5kIFBXTSBmdW5jdGlvbmFsaXR5LgorICoKKyAqIFRoaXMgZHJpdmVyIGltcGxl bWVudHMgYWNjZXNzIHRvIHRoZSBSVEMgdGltZSBhbmQgZGF0ZS4KKyAqCisgKiBDb3B5cmlnaHQg MjAyMCBKb25hdGhhbiBOZXVzY2jDpGZlcgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tZmQvbnR4 ZWMuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9vZl9kZXZp Y2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51 eC9yZWdtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9ydGMuaD4KKyNpbmNsdWRlIDxsaW51eC90eXBl cy5oPgorCitzdHJ1Y3QgbnR4ZWNfcnRjIHsKKwlzdHJ1Y3QgZGV2aWNlICpkZXY7CisJc3RydWN0 IG50eGVjICplYzsKK307CisKKyNkZWZpbmUgTlRYRUNfUkVHX1dSSVRFX1lFQVIJMHgxMAorI2Rl ZmluZSBOVFhFQ19SRUdfV1JJVEVfTU9OVEgJMHgxMQorI2RlZmluZSBOVFhFQ19SRUdfV1JJVEVf REFZCTB4MTIKKyNkZWZpbmUgTlRYRUNfUkVHX1dSSVRFX0hPVVIJMHgxMworI2RlZmluZSBOVFhF Q19SRUdfV1JJVEVfTUlOVVRFCTB4MTQKKyNkZWZpbmUgTlRYRUNfUkVHX1dSSVRFX1NFQ09ORAkw eDE1CisKKy8qIENvbnZlcnQgYW4gOC1iaXQgdmFsdWUgaW50byB0aGUgY29ycmVjdCBmb3JtYXQg Zm9yIHdyaXRpbmcgaW50byBhIHJlZ2lzdGVyICovCisjZGVmaW5lIHU4X3RvX3JlZyh4KSAoKCh4 KSAmIDB4ZmYpIDw8IDgpCisKKyNkZWZpbmUgTlRYRUNfUkVHX1JFQURfWU0JMHgyMAorI2RlZmlu ZSBOVFhFQ19SRUdfUkVBRF9ESAkweDIxCisjZGVmaW5lIE5UWEVDX1JFR19SRUFEX01TCTB4MjMK Kworc3RhdGljIGludCBudHhlY19yZWFkX3RpbWUoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qg cnRjX3RpbWUgKnRtKQoreworCXN0cnVjdCBudHhlY19ydGMgKnJ0YyA9IGRldl9nZXRfZHJ2ZGF0 YShkZXYpOworCXVuc2lnbmVkIGludCB2YWx1ZTsKKwlpbnQgcmVzOworCisJcmVzID0gcmVnbWFw X3JlYWQocnRjLT5lYy0+cmVnbWFwLCBOVFhFQ19SRUdfUkVBRF9ZTSwgJnZhbHVlKTsKKwlpZiAo cmVzIDwgMCkKKwkJcmV0dXJuIHJlczsKKworCXRtLT50bV95ZWFyID0gKHZhbHVlID4+IDgpICsg MTAwOworCXRtLT50bV9tb24gPSAodmFsdWUgJiAweGZmKSAtIDE7CisKKwlyZXMgPSByZWdtYXBf cmVhZChydGMtPmVjLT5yZWdtYXAsIE5UWEVDX1JFR19SRUFEX0RILCAmdmFsdWUpOworCWlmIChy ZXMgPCAwKQorCQlyZXR1cm4gcmVzOworCisJdG0tPnRtX21kYXkgPSB2YWx1ZSA+PiA4OworCXRt LT50bV9ob3VyID0gdmFsdWUgJiAweGZmOworCisJcmVzID0gcmVnbWFwX3JlYWQocnRjLT5lYy0+ cmVnbWFwLCBOVFhFQ19SRUdfUkVBRF9NUywgJnZhbHVlKTsKKwlpZiAocmVzIDwgMCkKKwkJcmV0 dXJuIHJlczsKKworCXRtLT50bV9taW4gPSB2YWx1ZSA+PiA4OworCXRtLT50bV9zZWMgPSB2YWx1 ZSAmIDB4ZmY7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBudHhlY19zZXRfdGltZShz dHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBydGNfdGltZSAqdG0pCit7CisJc3RydWN0IG50eGVj X3J0YyAqcnRjID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJaW50IHJlcyA9IDA7CisKKwlyZXMg fD0gcmVnbWFwX3dyaXRlKHJ0Yy0+ZWMtPnJlZ21hcCwgTlRYRUNfUkVHX1dSSVRFX1lFQVIsIHU4 X3RvX3JlZyh0bS0+dG1feWVhciAtIDEwMCkpOworCXJlcyB8PSByZWdtYXBfd3JpdGUocnRjLT5l Yy0+cmVnbWFwLCBOVFhFQ19SRUdfV1JJVEVfTU9OVEgsIHU4X3RvX3JlZyh0bS0+dG1fbW9uICsg MSkpOworCXJlcyB8PSByZWdtYXBfd3JpdGUocnRjLT5lYy0+cmVnbWFwLCBOVFhFQ19SRUdfV1JJ VEVfREFZLCB1OF90b19yZWcodG0tPnRtX21kYXkpKTsKKwlyZXMgfD0gcmVnbWFwX3dyaXRlKHJ0 Yy0+ZWMtPnJlZ21hcCwgTlRYRUNfUkVHX1dSSVRFX0hPVVIsIHU4X3RvX3JlZyh0bS0+dG1faG91 cikpOworCXJlcyB8PSByZWdtYXBfd3JpdGUocnRjLT5lYy0+cmVnbWFwLCBOVFhFQ19SRUdfV1JJ VEVfTUlOVVRFLCB1OF90b19yZWcodG0tPnRtX21pbikpOworCXJlcyB8PSByZWdtYXBfd3JpdGUo cnRjLT5lYy0+cmVnbWFwLCBOVFhFQ19SRUdfV1JJVEVfU0VDT05ELCB1OF90b19yZWcodG0tPnRt X3NlYykpOworCisJcmV0dXJuIChyZXMgPCAwKSA/IC1FSU8gOiAwOworfQorCitzdGF0aWMgY29u c3Qgc3RydWN0IHJ0Y19jbGFzc19vcHMgbnR4ZWNfcnRjX29wcyA9IHsKKwkucmVhZF90aW1lID0g bnR4ZWNfcmVhZF90aW1lLAorCS5zZXRfdGltZSA9IG50eGVjX3NldF90aW1lLAorfTsKKworc3Rh dGljIGludCBudHhlY19ydGNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sK KwlzdHJ1Y3QgcnRjX2RldmljZSAqZGV2OworCXN0cnVjdCBudHhlY19ydGMgKnJ0YzsKKworCXJ0 YyA9IGRldm1fa3phbGxvYygmcGRldi0+ZGV2LCBzaXplb2YoKnJ0YyksIEdGUF9LRVJORUwpOwor CWlmICghcnRjKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXJ0Yy0+ZGV2ID0gJnBkZXYtPmRldjsK KwlydGMtPmVjID0gZGV2X2dldF9kcnZkYXRhKHBkZXYtPmRldi5wYXJlbnQpOworCXBsYXRmb3Jt X3NldF9kcnZkYXRhKHBkZXYsIHJ0Yyk7CisKKwlkZXYgPSBkZXZtX3J0Y19hbGxvY2F0ZV9kZXZp Y2UoJnBkZXYtPmRldik7CisJaWYgKElTX0VSUihkZXYpKQorCQlyZXR1cm4gUFRSX0VSUihkZXYp OworCisJZGV2LT5vcHMgPSAmbnR4ZWNfcnRjX29wczsKKwlkZXYtPnJhbmdlX21pbiA9IFJUQ19U SU1FU1RBTVBfQkVHSU5fMjAwMDsKKwlkZXYtPnJhbmdlX21heCA9IFJUQ19USU1FU1RBTVBfRU5E XzIyNTU7CisKKwlyZXR1cm4gcnRjX3JlZ2lzdGVyX2RldmljZShkZXYpOworfQorCitzdGF0aWMg Y29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBudHhlY19ydGNfb2ZfbWF0Y2hbXSA9IHsKKwl7IC5j b21wYXRpYmxlID0gIm5ldHJvbml4LG50eGVjLXJ0YyIgfSwKKwl7IH0sCit9OworTU9EVUxFX0RF VklDRV9UQUJMRShvZiwgbnR4ZWNfcnRjX29mX21hdGNoKTsKKworc3RhdGljIHN0cnVjdCBwbGF0 Zm9ybV9kcml2ZXIgbnR4ZWNfcnRjX2RyaXZlciA9IHsKKwkuZHJpdmVyID0geworCQkubmFtZSA9 ICJudHhlYy1ydGMiLAorCQkub2ZfbWF0Y2hfdGFibGUgPSBudHhlY19ydGNfb2ZfbWF0Y2gsCisJ fSwKKwkucHJvYmUgPSBudHhlY19ydGNfcHJvYmUsCit9OworbW9kdWxlX3BsYXRmb3JtX2RyaXZl cihudHhlY19ydGNfZHJpdmVyKTsKKworTU9EVUxFX0FVVEhPUigiSm9uYXRoYW4gTmV1c2Now6Rm ZXIgPGoubmV1c2NoYWVmZXJAZ214Lm5ldD4iKTsKK01PRFVMRV9ERVNDUklQVElPTigiUlRDIGRy aXZlciBmb3IgTmV0cm9uaXggRUMiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKLS0KMi4yOC4w CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgt YXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQu b3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJt LWtlcm5lbAo=