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.2 required=3.0 tests=BAYES_00,DATE_IN_PAST_03_06, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,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 CDA2BC64E7A for ; Tue, 1 Dec 2020 06:19:32 +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 04E802087D for ; Tue, 1 Dec 2020 06:19:31 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="jUUD2wLX"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="gaIataH1"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=gmx.net header.i=@gmx.net header.b="UNvuRN3k" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 04E802087D Authentication-Results: mail.kernel.org; dmarc=fail (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=qYqq9kHGHpKBlnmG/dJFToqH1Zgb6s3Lm627PQLPdPQ=; b=jUUD2wLXXpXTlnQ3huGKwyn/n cCEBRJsC5HmToJR4ay0sSWpNdeU+UKkU9trNw+zH1ljzdctHtXIjMD0LVHuUjdQbjAA+bfiWiWx5m z13yESGrvntKD2S+FynHdh/3EbWXqKG0B3bhSDNxpI2Jzk2xE42sNESqTOw+X0l7cnV8M4cSZJqiU UV5hXXaJJYBQdlUmRlJB8llcogaOstZxAw78tBWqbe9y+CeBEZpcx7VoWMiZ6yX41SepWvE4UMNhl o/B9XDuVLOSrZo0UYHEUeunI5X/zr+yellskFheAZJj802g1FKYUwJ7gpJAOI6Dc6g4z1CMoWUryQ 35miLbRXA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kjyz3-0007nz-KH; Tue, 01 Dec 2020 06:17:53 +0000 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kjyz0-0007no-DC for linux-arm-kernel@merlin.infradead.org; Tue, 01 Dec 2020 06:17:50 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:Content-Type: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-ID:Content-Description; bh=nBMEePiH9UZbrkSjUZsGs/L1i/bTYsI7WGt2Q9qXlNk=; b=gaIataH1YvQYOZQXHWqafktYvj ASLH7AoHV/EPr8rPlSA7jOAfa7sjsBguxk3Gls7LO1zWEkgbwf87Cz4pltKtRQsdcKf3D+UxAiERc rwh/FX4S+uyN9gCqtGO3JwIJf0lsSo63eMZ+0ddc8F2qt5+N7WGPBAHT2ZuS8nlbRh69ZjO7TYbR5 R+axs9kvtBSQKE2AumxwG4k7xrvBfiYFvpHvR9Z1k7nWX7TgySEaIihi1W08MVubrPlu62a1Jo7fX 7hJkalc6Xx/2NDgtp91TGuSOltS8pk3QY4JubP8Jh6+QMOqByV4hovXnnP7nWePtptKqOKcRBXHe0 Jsn1pxrQ==; Received: from mout.gmx.net ([212.227.15.15]) by casper.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kjyyv-0004S1-9m for linux-arm-kernel@lists.infradead.org; Tue, 01 Dec 2020 06:17:48 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1606803416; bh=VMPvoAHYxmMDRj16a7w6y8QFmIsE7CM4wC3v0+745VI=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=UNvuRN3kxgfErz8FEqmM8DRWoF+Byr7eEVqkOMqMTkELQKccaLaCo+daNw1q/ckLY 2tycyJumEaBWR9U7ZUbi82e7/Zsc5Hp/Wya998sQnw9TEc0cY12YoS/xltR+7xHYW9 8o0aE2Xj76UfDoNYSYSUVprqs2xnpVY4IZ+08J8s= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from longitude ([37.201.214.162]) by mail.gmx.com (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MJE2D-1kUmGZ1Wih-00Kcsh; Tue, 01 Dec 2020 07:16:56 +0100 From: =?UTF-8?q?Jonathan=20Neusch=C3=A4fer?= To: linux-kernel@vger.kernel.org Subject: [PATCH v5 5/7] rtc: New driver for RTC in Netronix embedded controller Date: Tue, 1 Dec 2020 02:15:11 +0100 Message-Id: <20201201011513.1627028-6-j.neuschaefer@gmx.net> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201201011513.1627028-1-j.neuschaefer@gmx.net> References: <20201201011513.1627028-1-j.neuschaefer@gmx.net> MIME-Version: 1.0 X-Provags-ID: V03:K1:/vWLyRziBMYITZyheOSqHmiaF6RCH+TYOX+X/GMCIlBeY/rZZJU PUSz77dtX23p4Z7f1nMURNpe9z3mZvpn3jTNWTTPFmoiVW/aaNGckIXU6z4RuGP56HhcPRq cd3g7Q8gVfmqxLAqNDWV11QxZuvhDCjcVktf4vf2zsLvNAAUBDKUlfqijs1U6VkIg8QKZpE GUG+iRnYR3COFGNXpaTVg== X-UI-Out-Filterresults: notjunk:1;V03:K0:dzt7iPwBz3c=:6s0zoM/ez4jfPyYgCjZbYE xHsAbOJA2aiPk1ASYNj9rOReO3YgJ/CYnATxql7wq6PcMTHToVJF5SB1TTG25cTFyNUOwxezH Kd2f4xAPMOcw2ZUyJf7Ip1uvrW53i4+JHED+9iDDanwXmdB3igrvTK7ynwEpmleFOnmIQ4wZ2 Uvii8b7PuV1Vx8IH2G1spHq1C5k0EVj8Ni6gqvUk+KPpjikn1iF5+5OMzve2NpS7BCFjkQ7+g tB1LPWB0rUSFcDtm9Zheq7j6KQsJM+PAE1dzftTfsc+tY7UtBejrACRc39zF5lNkLIqIuU/rz Jn8zpf86xfpSzMu+VPH6Lq02pTxvBEKpZzPsT5VtChWEc5UQip6bBjP+rxoG/X/FWzM4bDphj fr75QF6yoxohaAzox/zPEn97ql3o6TUmN4VFkJfk7mCFnBpxSmW62jI7qsNwS6By/nuvopUl9 VZJamELtqEvjTX3T6zLrNS1v5bJyn80TlgS4CRU+Yt54Ube7PlLloLzId2aqpJnYkrElo9h4M Ax2yPMBEw5gR3CuTv71Q110nB/aqlLGI0maHsyqNIunKwc+Wz5T3xADd9JTsBIhnlRHIMSUe1 sAgG+kFMbluLtjZpMJ7K3cWKoJ6LWfl8PS8XqTsNpggGrlBc3ejNUBdLGwaPNSM3VDSFrekQC +PK7WzRmOmNEzjO/4cTzgtXVf9Delru4n5siu0zWpGGVREnN5gQzhsp1ZvsqSCp8BFlmjy1Pz aLf7ROTgouKpjXt9oZIuecCk/ZmmdMBboBgezB5CiQIhZJc7ouNnIq1dXF8Bzr0wFelTJ0RrN E+FM+L0gr7Vcr88YAugi/l6Ec5zuVB4XEZ1DQb09uNccwuX+O8coSTrkkmT9j7F4dzP7iC2Yk sLhxCfTjFU8+Wocaocew== X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201201_061745_931335_4987C9D4 X-CRM114-Status: GOOD ( 30.88 ) 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 , Andy Shevchenko , 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 bmV0PgpBY2tlZC1ieTogQWxleGFuZHJlIEJlbGxvbmkgPGFsZXhhbmRyZS5iZWxsb25pQGJvb3Rs aW4uY29tPgotLS0KCnY1OgotIEFkZCBBbGV4YW5kcmUgQmVsbG9uaSdzIEEtYgotIFVzZSByZWdt YXBfbXVsdGlfcmVnX3dyaXRlCgp2NDoKLSBodHRwczovL2xvcmUua2VybmVsLm9yZy9sa21sLzIw MjAxMTIyMjIyNzM5LjE0NTUxMzItNi1qLm5ldXNjaGFlZmVyQGdteC5uZXQvCi0gUmVtb3ZlICJk cml2ZXIiIGZyb20gS2NvbmZpZyBlbnRyeSBmb3IgY29uc2lzdGVuY3kgd2l0aCBtb3N0IG90aGVy IGVudHJpZXMKLSBBZGQgbWlzc2luZyBNT0RVTEVfQUxJQVMgbGluZQotIEdpdmUgTlRYRUNfUkVH X1JFQURfIG1hY3JvcyBsb25nZXIgbmFtZXMKLSBTb2x2ZSB0aGUgcmVhZCB0ZWFyaW5nIGlzc3Vl IHVzaW5nIEFsZXhhbmRyZSBCZWxsb25pJ3MgYWxnb3JpdGhtCi0gU29sdmUgdGhlIHdyaXRlIHRl YXJpbmcgaXNzdWUgdXNpbmcgVXdlIEtsZWluZS1Lw7ZuaWcncyBhbGdvcml0aG0KLSBTcGVsbCBv dXQgT0RNCgp2MzoKLSBodHRwczovL2xvcmUua2VybmVsLm9yZy9sa21sLzIwMjAwOTI0MTkyNDU1 LjI0ODQwMDUtNi1qLm5ldXNjaGFlZmVyQGdteC5uZXQvCi0gQWRkIGVtYWlsIGFkZHJlc3MgdG8g Y29weXJpZ2h0IGxpbmUKLSBSZW1vdmUgT0YgY29tcGF0aWJsZSBzdHJpbmcgYW5kIGRvbid0IGlu Y2x1ZGUgbGludXgvb2ZfZGV2aWNlLmgKLSBEb24ndCB1c2UgYSBjb21tYSBhZnRlciBzZW50aW5l bHMKLSBBdm9pZCByZXQgfD0gLi4uIHBhdHRlcm4KLSBNb3ZlIDgtYml0IHJlZ2lzdGVyIGNvbnZl cnNpb24gdG8gbnR4ZWMuaAotIFJlbGljZW5zZSBhcyBHUEx2MiBvciBsYXRlcgoKdjI6Ci0gaHR0 cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGttbC8yMDIwMDkwNTEzMzIzMC4xMDE0NTgxLTctai5uZXVz Y2hhZWZlckBnbXgubmV0LwotIFJld29yayB0b3Atb2YtZmlsZSBjb21tZW50IFtMZWUgSm9uZXNd Ci0gU29ydCB0aGUgI2luY2x1ZGUgbGluZXMgW0FsZXhhbmRyZSBCZWxsb25pXQotIGRvbid0IGFs aWduID0gc2lnbnMgaW4gc3RydWN0IGluaXRpYWxpemVycyBbVXdlIEtsZWluZS1Lw7ZuaWddCi0g U3dpdGNoIHRvIHJlZ21hcAotIEZpeCByZWdpc3RlciBudW1iZXIgdXNlZCB0byByZWFkIG1pbnV0 ZXMgYW5kIHNlY29uZHMKLSBQcmVmaXggcmVnaXN0ZXJzIHdpdGggTlRYRUNfUkVHXwotIEFkZCBo ZWxwIHRleHQgdG8gdGhlIEtjb25maWcgb3B0aW9uCi0gVXNlIGRldm1fcnRjX2FsbG9jYXRlX2Rl dmljZSBhbmQgcnRjX3JlZ2lzdGVyX2RldmljZSwgc2V0IC0+cmFuZ2VfbWluIGFuZCAtPnJhbmdl X21heAotLS0KIGRyaXZlcnMvcnRjL0tjb25maWcgICAgIHwgICA4ICsrKwogZHJpdmVycy9ydGMv TWFrZWZpbGUgICAgfCAgIDEgKwogZHJpdmVycy9ydGMvcnRjLW50eGVjLmMgfCAxNDMgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAxNTIg aW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvcnRjL3J0Yy1udHhlYy5j CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ydGMvS2NvbmZpZyBiL2RyaXZlcnMvcnRjL0tjb25maWcK aW5kZXggNjVhZDlkMGI0N2FiMS4uZmUwMDk5NDk3MjhiMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9y dGMvS2NvbmZpZworKysgYi9kcml2ZXJzL3J0Yy9LY29uZmlnCkBAIC0xMzExLDYgKzEzMTEsMTQg QEAgY29uZmlnIFJUQ19EUlZfQ1JPU19FQwogCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVp bHQgYXMgYSBtb2R1bGUuIElmIHNvLCB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBydGMt Y3Jvcy1lYy4KCitjb25maWcgUlRDX0RSVl9OVFhFQworCXRyaXN0YXRlICJOZXRyb25peCBlbWJl ZGRlZCBjb250cm9sbGVyIFJUQyIKKwlkZXBlbmRzIG9uIE1GRF9OVFhFQworCWhlbHAKKwkgIFNh eSB5ZXMgaGVyZSBpZiB5b3Ugd2FudCB0byBzdXBwb3J0IHRoZSBSVEMgZnVuY3Rpb25hbGl0eSBv ZiB0aGUKKwkgIGVtYmVkZGVkIGNvbnRyb2xsZXIgZm91bmQgaW4gY2VydGFpbiBlLWJvb2sgcmVh ZGVycyBkZXNpZ25lZCBieSB0aGUKKwkgIG9yaWdpbmFsIGRlc2lnbiBtYW51ZmFjdHVyZXIgTmV0 cm9uaXguCisKIGNvbW1lbnQgIm9uLUNQVSBSVEMgZHJpdmVycyIKCiBjb25maWcgUlRDX0RSVl9B U005MjYwCmRpZmYgLS1naXQgYS9kcml2ZXJzL3J0Yy9NYWtlZmlsZSBiL2RyaXZlcnMvcnRjL01h a2VmaWxlCmluZGV4IGJmYjU3NDY0MTE4ZDAuLjVmMmE3NTgyYjI3ODAgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvcnRjL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvcnRjL01ha2VmaWxlCkBAIC0xMTEsNiAr MTExLDcgQEAgb2JqLSQoQ09ORklHX1JUQ19EUlZfTVQ3NjIyKQkrPSBydGMtbXQ3NjIyLm8KIG9i ai0kKENPTkZJR19SVENfRFJWX01WKQkrPSBydGMtbXYubwogb2JqLSQoQ09ORklHX1JUQ19EUlZf TVhDKQkrPSBydGMtbXhjLm8KIG9iai0kKENPTkZJR19SVENfRFJWX01YQ19WMikJKz0gcnRjLW14 Y192Mi5vCitvYmotJChDT05GSUdfUlRDX0RSVl9OVFhFQykJKz0gcnRjLW50eGVjLm8KIG9iai0k KENPTkZJR19SVENfRFJWX09NQVApCSs9IHJ0Yy1vbWFwLm8KIG9iai0kKENPTkZJR19SVENfRFJW X09QQUwpCSs9IHJ0Yy1vcGFsLm8KIG9iai0kKENPTkZJR19SVENfRFJWX1BBTE1BUykJKz0gcnRj LXBhbG1hcy5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL3J0Yy9ydGMtbnR4ZWMuYyBiL2RyaXZlcnMv cnRjL3J0Yy1udHhlYy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAu LmM3Y2ZmNzgwMjg5NWIKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL3J0Yy9ydGMtbnR4ZWMu YwpAQCAtMCwwICsxLDE0MyBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAt b3ItbGF0ZXIKKy8qCisgKiBUaGUgTmV0cm9uaXggZW1iZWRkZWQgY29udHJvbGxlciBpcyBhIG1p Y3JvY29udHJvbGxlciBmb3VuZCBpbiBzb21lCisgKiBlLWJvb2sgcmVhZGVycyBkZXNpZ25lZCBi eSB0aGUgb3JpZ2luYWwgZGVzaWduIG1hbnVmYWN0dXJlciBOZXRyb25peCwgSW5jLgorICogSXQg Y29udGFpbnMgUlRDLCBiYXR0ZXJ5IG1vbml0b3JpbmcsIHN5c3RlbSBwb3dlciBtYW5hZ2VtZW50 LCBhbmQgUFdNCisgKiBmdW5jdGlvbmFsaXR5LgorICoKKyAqIFRoaXMgZHJpdmVyIGltcGxlbWVu dHMgYWNjZXNzIHRvIHRoZSBSVEMgdGltZSBhbmQgZGF0ZS4KKyAqCisgKiBDb3B5cmlnaHQgMjAy MCBKb25hdGhhbiBOZXVzY2jDpGZlciA8ai5uZXVzY2hhZWZlckBnbXgubmV0PgorICovCisKKyNp bmNsdWRlIDxsaW51eC9tZmQvbnR4ZWMuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNp bmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9yZWdtYXAu aD4KKyNpbmNsdWRlIDxsaW51eC9ydGMuaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorCitz dHJ1Y3QgbnR4ZWNfcnRjIHsKKwlzdHJ1Y3QgZGV2aWNlICpkZXY7CisJc3RydWN0IG50eGVjICpl YzsKK307CisKKyNkZWZpbmUgTlRYRUNfUkVHX1dSSVRFX1lFQVIJMHgxMAorI2RlZmluZSBOVFhF Q19SRUdfV1JJVEVfTU9OVEgJMHgxMQorI2RlZmluZSBOVFhFQ19SRUdfV1JJVEVfREFZCTB4MTIK KyNkZWZpbmUgTlRYRUNfUkVHX1dSSVRFX0hPVVIJMHgxMworI2RlZmluZSBOVFhFQ19SRUdfV1JJ VEVfTUlOVVRFCTB4MTQKKyNkZWZpbmUgTlRYRUNfUkVHX1dSSVRFX1NFQ09ORAkweDE1CisKKyNk ZWZpbmUgTlRYRUNfUkVHX1JFQURfWUVBUl9NT05USAkweDIwCisjZGVmaW5lIE5UWEVDX1JFR19S RUFEX01EQVlfSE9VUgkweDIxCisjZGVmaW5lIE5UWEVDX1JFR19SRUFEX01JTlVURV9TRUNPTkQJ MHgyMworCitzdGF0aWMgaW50IG50eGVjX3JlYWRfdGltZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0 cnVjdCBydGNfdGltZSAqdG0pCit7CisJc3RydWN0IG50eGVjX3J0YyAqcnRjID0gZGV2X2dldF9k cnZkYXRhKGRldik7CisJdW5zaWduZWQgaW50IHZhbHVlOworCWludCByZXM7CisKK3JldHJ5Ogor CXJlcyA9IHJlZ21hcF9yZWFkKHJ0Yy0+ZWMtPnJlZ21hcCwgTlRYRUNfUkVHX1JFQURfTUlOVVRF X1NFQ09ORCwgJnZhbHVlKTsKKwlpZiAocmVzIDwgMCkKKwkJcmV0dXJuIHJlczsKKworCXRtLT50 bV9taW4gPSB2YWx1ZSA+PiA4OworCXRtLT50bV9zZWMgPSB2YWx1ZSAmIDB4ZmY7CisKKwlyZXMg PSByZWdtYXBfcmVhZChydGMtPmVjLT5yZWdtYXAsIE5UWEVDX1JFR19SRUFEX01EQVlfSE9VUiwg JnZhbHVlKTsKKwlpZiAocmVzIDwgMCkKKwkJcmV0dXJuIHJlczsKKworCXRtLT50bV9tZGF5ID0g dmFsdWUgPj4gODsKKwl0bS0+dG1faG91ciA9IHZhbHVlICYgMHhmZjsKKworCXJlcyA9IHJlZ21h cF9yZWFkKHJ0Yy0+ZWMtPnJlZ21hcCwgTlRYRUNfUkVHX1JFQURfWUVBUl9NT05USCwgJnZhbHVl KTsKKwlpZiAocmVzIDwgMCkKKwkJcmV0dXJuIHJlczsKKworCXRtLT50bV95ZWFyID0gKHZhbHVl ID4+IDgpICsgMTAwOworCXRtLT50bV9tb24gPSAodmFsdWUgJiAweGZmKSAtIDE7CisKKwkvKgor CSAqIFJlYWQgdGhlIG1pbnV0ZXMvc2Vjb25kcyBmaWVsZCBhZ2Fpbi4gSWYgaXQgY2hhbmdlZCBz aW5jZSB0aGUgZmlyc3QKKwkgKiByZWFkLCB3ZSBjYW4ndCBhc3N1bWUgdGhhdCB0aGUgdmFsdWVz IHJlYWQgc28gZmFyIGFyZSBjb25zaXN0ZW50LAorCSAqIGFuZCBzaG91bGQgc3RhcnQgZnJvbSB0 aGUgYmVnaW5uaW5nLgorCSAqLworCXJlcyA9IHJlZ21hcF9yZWFkKHJ0Yy0+ZWMtPnJlZ21hcCwg TlRYRUNfUkVHX1JFQURfTUlOVVRFX1NFQ09ORCwgJnZhbHVlKTsKKwlpZiAocmVzIDwgMCkKKwkJ cmV0dXJuIHJlczsKKworCWlmICh0bS0+dG1fbWluICE9IHZhbHVlID4+IDggfHwgdG0tPnRtX3Nl YyAhPSAodmFsdWUgJiAweGZmKSkKKwkJZ290byByZXRyeTsKKworCXJldHVybiAwOworfQorCitz dGF0aWMgaW50IG50eGVjX3NldF90aW1lKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHJ0Y190 aW1lICp0bSkKK3sKKwlzdHJ1Y3QgbnR4ZWNfcnRjICpydGMgPSBkZXZfZ2V0X2RydmRhdGEoZGV2 KTsKKworCS8qCisJICogVG8gYXZvaWQgdGltZSBvdmVyZmxvd3Mgd2hpbGUgd2UncmUgd3JpdGlu ZyB0aGUgZnVsbCBkYXRlL3RpbWUsCisJICogc2V0IHRoZSBzZWNvbmRzIGZpZWxkIHRvIHplcm8g YmVmb3JlIGRvaW5nIGFueXRoaW5nIGVsc2UuIEZvciB0aGUKKwkgKiBuZXh0IDU5IHNlY29uZHMg KHBsdXMgaG93ZXZlciBsb25nIGl0IHRha2VzIHVudGlsIHRoZSBSVEMncyBuZXh0CisJICogdXBk YXRlIG9mIHRoZSBzZWNvbmQgZmllbGQpLCB0aGUgc2Vjb25kcyBmaWVsZCB3aWxsIG5vdCBvdmVy ZmxvdworCSAqIGludG8gdGhlIG90aGVyIGZpZWxkcy4KKwkgKi8KKwlzdHJ1Y3QgcmVnX3NlcXVl bmNlIHJlZ3NbXSA9IHsKKwkJeyBOVFhFQ19SRUdfV1JJVEVfU0VDT05ELCBudHhlY19yZWc4KDAp IH0sCisJCXsgTlRYRUNfUkVHX1dSSVRFX1lFQVIsIG50eGVjX3JlZzgodG0tPnRtX3llYXIgLSAx MDApIH0sCisJCXsgTlRYRUNfUkVHX1dSSVRFX01PTlRILCBudHhlY19yZWc4KHRtLT50bV9tb24g KyAxKSB9LAorCQl7IE5UWEVDX1JFR19XUklURV9EQVksIG50eGVjX3JlZzgodG0tPnRtX21kYXkp IH0sCisJCXsgTlRYRUNfUkVHX1dSSVRFX0hPVVIsIG50eGVjX3JlZzgodG0tPnRtX2hvdXIpIH0s CisJCXsgTlRYRUNfUkVHX1dSSVRFX01JTlVURSwgbnR4ZWNfcmVnOCh0bS0+dG1fbWluKSB9LAor CQl7IE5UWEVDX1JFR19XUklURV9TRUNPTkQsIG50eGVjX3JlZzgodG0tPnRtX3NlYykgfSwKKwl9 OworCisJcmV0dXJuIHJlZ21hcF9tdWx0aV9yZWdfd3JpdGUocnRjLT5lYy0+cmVnbWFwLCByZWdz LCBBUlJBWV9TSVpFKHJlZ3MpKTsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBydGNfY2xhc3Nf b3BzIG50eGVjX3J0Y19vcHMgPSB7CisJLnJlYWRfdGltZSA9IG50eGVjX3JlYWRfdGltZSwKKwku c2V0X3RpbWUgPSBudHhlY19zZXRfdGltZSwKK307CisKK3N0YXRpYyBpbnQgbnR4ZWNfcnRjX3By b2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHJ0Y19kZXZpY2Ug KmRldjsKKwlzdHJ1Y3QgbnR4ZWNfcnRjICpydGM7CisKKwlydGMgPSBkZXZtX2t6YWxsb2MoJnBk ZXYtPmRldiwgc2l6ZW9mKCpydGMpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXJ0YykKKwkJcmV0dXJu IC1FTk9NRU07CisKKwlydGMtPmRldiA9ICZwZGV2LT5kZXY7CisJcnRjLT5lYyA9IGRldl9nZXRf ZHJ2ZGF0YShwZGV2LT5kZXYucGFyZW50KTsKKwlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBy dGMpOworCisJZGV2ID0gZGV2bV9ydGNfYWxsb2NhdGVfZGV2aWNlKCZwZGV2LT5kZXYpOworCWlm IChJU19FUlIoZGV2KSkKKwkJcmV0dXJuIFBUUl9FUlIoZGV2KTsKKworCWRldi0+b3BzID0gJm50 eGVjX3J0Y19vcHM7CisJZGV2LT5yYW5nZV9taW4gPSBSVENfVElNRVNUQU1QX0JFR0lOXzIwMDA7 CisJZGV2LT5yYW5nZV9tYXggPSA5MDI1MjU3NTk5TEw7IC8qIDIyNTUtMTItMzEgMjM6NTk6NTkg Ki8KKworCXJldHVybiBydGNfcmVnaXN0ZXJfZGV2aWNlKGRldik7Cit9CisKK3N0YXRpYyBzdHJ1 Y3QgcGxhdGZvcm1fZHJpdmVyIG50eGVjX3J0Y19kcml2ZXIgPSB7CisJLmRyaXZlciA9IHsKKwkJ Lm5hbWUgPSAibnR4ZWMtcnRjIiwKKwl9LAorCS5wcm9iZSA9IG50eGVjX3J0Y19wcm9iZSwKK307 Cittb2R1bGVfcGxhdGZvcm1fZHJpdmVyKG50eGVjX3J0Y19kcml2ZXIpOworCitNT0RVTEVfQVVU SE9SKCJKb25hdGhhbiBOZXVzY2jDpGZlciA8ai5uZXVzY2hhZWZlckBnbXgubmV0PiIpOworTU9E VUxFX0RFU0NSSVBUSU9OKCJSVEMgZHJpdmVyIGZvciBOZXRyb25peCBFQyIpOworTU9EVUxFX0xJ Q0VOU0UoIkdQTCIpOworTU9EVUxFX0FMSUFTKCJwbGF0Zm9ybTpudHhlYy1ydGMiKTsKLS0KMi4y OS4yCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlu dXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRl YWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgt YXJtLWtlcm5lbAo=