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 42752C4363D for ; Thu, 24 Sep 2020 19:29:22 +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 AB4D4221EB for ; Thu, 24 Sep 2020 19:29:21 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="EL7vjg4L"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="dBq5Tsn8"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=gmx.net header.i=@gmx.net header.b="YCZuTDlO" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AB4D4221EB 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=AlSD3TGFZOqUMwMi4069qZ0ZBIqMpmeWL4+K89AmwFE=; b=EL7vjg4LxdL96qngfEM2myVOq u10Ii5b33NeB/XduNtBgl+MFKHtGJTIwcoPF2sXWbqe/jvpaSG6RuQEhjyUWXlKRZel8uGLCfY+ik amSOCzo6z5JCB+TlsCDlZ8I1W9PphfQR8HFD4onVpZ39OC+CmI0eLQZ/nCEguNIiUGrG2mP8ICKvh qpje0i5D9I4i6VvUbuyzP6RcaWG3cFkh9FHFHyMONMNmR8Q0ZByEEdW0NsastOb3Q1vikeC0rSySw FRFLZVgB6jDrK0LZ+u/raYZM+cWXmxv25KYKpYuFodc57LEmfoRYZc1OSbc2agwbHuWk2wCXXwG73 5rsXA8TOw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kLWuJ-0000qB-VL; Thu, 24 Sep 2020 19:27:56 +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 1kLWuI-0000pa-6m for linux-arm-kernel@merlin.infradead.org; Thu, 24 Sep 2020 19:27:54 +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=ty2KFZNQQwYSgHmDAhflVxhiZUjT5CSswXwRUyPP57Q=; b=dBq5Tsn8PQXXfhQBngmxV+a7lG ZOIFlcNfXNbT9BsibOnejra0s8nKx+LrJnrrs1JSnR4nemofSQCLUwUHWU1DEoVGzcbpRz6fBSCKp vGryIc2sCHzCVxbywBSlhnic/WacA1dbcOkMjLe3ImOxXkhQDPd+GSGU2Cs2Uy4U63xG5VWgrD1hj 6UOlTHD2IPIddm/KqOf7k1rR0dvZaCw2R9BkFIqnRw8MIAlgWr/GdxMCAqAKP4Vr+f+wk18xatcxN /VXkLrz3Hu/VLDulqBFrrWAi0KwGCzSQ8Uqe0ci12K23CFSjWhxwszpYyg1Nxs2QNljdb9Mg9EBSX iKE4cDDw==; Received: from mout.gmx.net ([212.227.15.18]) by casper.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kLWuD-0007GD-Rl for linux-arm-kernel@lists.infradead.org; Thu, 24 Sep 2020 19:27:53 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1600975618; bh=zSDHJBM6de05hZPfx230oe82AjsNdZNJxFzhYwgfDFE=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=YCZuTDlO6lrqRKblbacCMKYxMjIts9jb1hdPbo7ll72ct3UszOjFfxuhsx0MVDYzc PCnWHUFLBDkJ9i4+9TNGhtKuU3TIfAKv9/UsH4L74e1HSTjq3ZcJFzObxh7LSEI69o 1zSfWfSLAkAah0TiIqKbYXoPw3xyfDYypD1ktDd8= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from longitude ([5.146.195.151]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M5QJD-1kKhwl2ASb-001UUX; Thu, 24 Sep 2020 21:26:58 +0200 From: =?UTF-8?q?Jonathan=20Neusch=C3=A4fer?= To: linux-kernel@vger.kernel.org Subject: [PATCH v3 5/7] rtc: New driver for RTC in Netronix embedded controller Date: Thu, 24 Sep 2020 21:24:53 +0200 Message-Id: <20200924192455.2484005-6-j.neuschaefer@gmx.net> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20200924192455.2484005-1-j.neuschaefer@gmx.net> References: <20200924192455.2484005-1-j.neuschaefer@gmx.net> MIME-Version: 1.0 X-Provags-ID: V03:K1:+L1FJx1oQ6x7VaPQrKFafs4nq4JlwRFRv3sXkEEUwJWc0oPbt6L sSRCF1xO+U7ERbK4pZtzhg8y0/pV9YuUf1GfIKaUrFSt7xB6hSc5TTn5zO64GdDfSKgfHPn IV6Tb28pfgTVdctL+InU5U3ktU8xEW2j/bBb4OWv0dLpxXhDooD70jkp7g0LkNAzqwVeXzB 3iZa0jhjuoz5LvJ9oIDEA== X-UI-Out-Filterresults: notjunk:1;V03:K0:iW/DyQ1umCw=:OXkRLwVhupzITPyaadNByY DNzWrDCUOgfWuRGBNdXuC7L/Pu9Fgj4AcowCxscdAQHQlXO4Ylhf39QyifLje/XLyTeHRYv6K kL/WOkr/3COkS7B40qgzZWPeef0xVBVeUZQdqGGvnDP7U0wsmGJUcDEiuWPRKgY61cPzmL72h klVt5x6mNy13eVmXTPqWXXWxPHak5ZvJ1uHCF8qYOTCieJ5S0VlVauLfUO9DsyueDG/52iAlg sta2KoEBXFcgrPiOsSe5Wj2E4ObiGHVwau+42eRKhSded+/3RMKrb2PmYp+i+3VvQq4borxJK OzzpCW6uPU7AYUJ+f2xxOHaI16w9hT/VuBDlMiLsDfU5MDvPcaa7VsPog/lBnwTxHlnInl6bV 9cJk0Oef6Y5m1RQO5dHjMLY33g+qbK4eGf/zJ/+dJ0njVctgs1W3Jjemo7x27d+lN3fkuEZrK b7qoeL2XsMK0BIqid6qgld2y5ft6LfGgALDli8ef5S1q+nq5JSvgZbnWHWzde7f0UBPicBvxa MBHX6ZrthQGrH+2R0lmHPwOgD96CzWusaWUKQUTzj4tFrXULvgjEk8EOgd1HzlUEV81/soqiP L3bLwUIfC6hjgN5XKnmNWqraMQjeu3ugMcpwRkvHYMfILqIiyTJSzQj/bLV7rVSNLjdGftlT1 31DKj8Z9i5Y0dLv244NTZqcxTOZXD0bTOfOjk9ct86iBIbIN6i2Uy9zMwG1dRhT6QPS7GKrqd EfVPnJIYUZW46UJZYFKaS4FIA41T4E2X1s+q9J8DTfZkykuLXKugo9YxqBUCGZZg1U7DYVHu9 ioGJ7AR4bni0Sl0FpoX01jf8fZiifA4lJJ7iCaWvPHTTHNMOk7+E4T3aC7RzmAwA6iAxqCziY GzVY+5BT2T2JUXdpow33XFgsiwXxYzMyUE6uQbVQaKToiI4qWl9vNGqF7IYqoMsHBPRYLyNBP I3cJaM8GiDkR4JQbbwjQQ/7+NZHONOpl+s5dDEme/kOVKbuOhj6Sq3OKZ35M+Lb3va7RQIOoH Q/rT1NruFoORXrTjZZr3hTiw5ZZd25YvwgeJshot2kqy7e7kNg+99GFywmPMUy/G8BWqEMDM2 D9k5fhuiTO685aIKlbUymllYcz5UD2tn1++o1+uFJ/oVyZAZvIMI0sptUfq7riPIQCbYF0zk0 63fpC1EAHiz4UfF6kC/rDjMMCTyAqUudmg+0xCFY1og0YL+kdyPJIu5iS2HDMyNRF/LzVz1wW KSngbCpA0/IdPFdAtYS/sNvrb3k8TVDz8hpMsFw== X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200924_202750_095632_F55806C2 X-CRM114-Status: GOOD ( 28.40 ) 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 bmV0PgotLS0KCnYzOgotIEFkZCBlbWFpbCBhZGRyZXNzIHRvIGNvcHlyaWdodCBsaW5lCi0gUmVt b3ZlIE9GIGNvbXBhdGlibGUgc3RyaW5nIGFuZCBkb24ndCBpbmNsdWRlIGxpbnV4L29mX2Rldmlj ZS5oCi0gRG9uJ3QgdXNlIGEgY29tbWEgYWZ0ZXIgc2VudGluZWxzCi0gQXZvaWQgcmV0IHw9IC4u LiBwYXR0ZXJuCi0gTW92ZSA4LWJpdCByZWdpc3RlciBjb252ZXJzaW9uIHRvIG50eGVjLmgKLSBS ZWxpY2Vuc2UgYXMgR1BMdjIgb3IgbGF0ZXIKCnYyOgotIGh0dHBzOi8vbG9yZS5rZXJuZWwub3Jn L2xrbWwvMjAyMDA5MDUxMzMyMzAuMTAxNDU4MS03LWoubmV1c2NoYWVmZXJAZ214Lm5ldC8KLSBS ZXdvcmsgdG9wLW9mLWZpbGUgY29tbWVudCBbTGVlIEpvbmVzXQotIFNvcnQgdGhlICNpbmNsdWRl IGxpbmVzIFtBbGV4YW5kcmUgQmVsbG9uaV0KLSBkb24ndCBhbGlnbiA9IHNpZ25zIGluIHN0cnVj dCBpbml0aWFsaXplcnMgW1V3ZSBLbGVpbmUtS8O2bmlnXQotIFN3aXRjaCB0byByZWdtYXAKLSBG aXggcmVnaXN0ZXIgbnVtYmVyIHVzZWQgdG8gcmVhZCBtaW51dGVzIGFuZCBzZWNvbmRzCi0gUHJl Zml4IHJlZ2lzdGVycyB3aXRoIE5UWEVDX1JFR18KLSBBZGQgaGVscCB0ZXh0IHRvIHRoZSBLY29u ZmlnIG9wdGlvbgotIFVzZSBkZXZtX3J0Y19hbGxvY2F0ZV9kZXZpY2UgYW5kIHJ0Y19yZWdpc3Rl cl9kZXZpY2UsIHNldCAtPnJhbmdlX21pbiBhbmQgLT5yYW5nZV9tYXgKLS0tCiBkcml2ZXJzL3J0 Yy9LY29uZmlnICAgICB8ICAgOCArKysKIGRyaXZlcnMvcnRjL01ha2VmaWxlICAgIHwgICAxICsK IGRyaXZlcnMvcnRjL3J0Yy1udHhlYy5jIHwgMTMyICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMTQxIGluc2VydGlvbnMoKykKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3J0Yy9ydGMtbnR4ZWMuYwoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvcnRjL0tjb25maWcgYi9kcml2ZXJzL3J0Yy9LY29uZmlnCmluZGV4IDQ4YzUzNmFjZDc3N2Yu LmFlOGYzZGMzNmM5YTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcnRjL0tjb25maWcKKysrIGIvZHJp dmVycy9ydGMvS2NvbmZpZwpAQCAtMTMwMSw2ICsxMzAxLDE0IEBAIGNvbmZpZyBSVENfRFJWX0NS T1NfRUMKIAkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiBJZiBz bywgdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgcnRjLWNyb3MtZWMuCgorY29uZmlnIFJU Q19EUlZfTlRYRUMKKwl0cmlzdGF0ZSAiTmV0cm9uaXggZW1iZWRkZWQgY29udHJvbGxlciBSVEMg ZHJpdmVyIgorCWRlcGVuZHMgb24gTUZEX05UWEVDCisJaGVscAorCSAgU2F5IHllcyBoZXJlIGlm IHlvdSB3YW50IHRvIHN1cHBvcnQgdGhlIFJUQyBmdW5jdGlvbmFsaXR5IG9mIHRoZQorCSAgZW1i ZWRkZWQgY29udHJvbGxlciBmb3VuZCBpbiBjZXJ0YWluIGUtYm9vayByZWFkZXJzIGRlc2lnbmVk IGJ5IHRoZQorCSAgT0RNIE5ldHJvbml4LgorCiBjb21tZW50ICJvbi1DUFUgUlRDIGRyaXZlcnMi CgogY29uZmlnIFJUQ19EUlZfQVNNOTI2MApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ydGMvTWFrZWZp bGUgYi9kcml2ZXJzL3J0Yy9NYWtlZmlsZQppbmRleCA4ODBlMDhhNDA5YzNkLi43MzM0NzlkYjE4 ODk2IDEwMDY0NAotLS0gYS9kcml2ZXJzL3J0Yy9NYWtlZmlsZQorKysgYi9kcml2ZXJzL3J0Yy9N YWtlZmlsZQpAQCAtMTExLDYgKzExMSw3IEBAIG9iai0kKENPTkZJR19SVENfRFJWX01UNzYyMikJ Kz0gcnRjLW10NzYyMi5vCiBvYmotJChDT05GSUdfUlRDX0RSVl9NVikJKz0gcnRjLW12Lm8KIG9i ai0kKENPTkZJR19SVENfRFJWX01YQykJKz0gcnRjLW14Yy5vCiBvYmotJChDT05GSUdfUlRDX0RS Vl9NWENfVjIpCSs9IHJ0Yy1teGNfdjIubworb2JqLSQoQ09ORklHX1JUQ19EUlZfTlRYRUMpCSs9 IHJ0Yy1udHhlYy5vCiBvYmotJChDT05GSUdfUlRDX0RSVl9PTUFQKQkrPSBydGMtb21hcC5vCiBv YmotJChDT05GSUdfUlRDX0RSVl9PUEFMKQkrPSBydGMtb3BhbC5vCiBvYmotJChDT05GSUdfUlRD X0RSVl9QQUxNQVMpCSs9IHJ0Yy1wYWxtYXMubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ydGMvcnRj LW50eGVjLmMgYi9kcml2ZXJzL3J0Yy9ydGMtbnR4ZWMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMDAwLi5hZjIzYzdjYzc2NTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvZHJp dmVycy9ydGMvcnRjLW50eGVjLmMKQEAgLTAsMCArMSwxMzIgQEAKKy8vIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCisvKgorICogVGhlIE5ldHJvbml4IGVtYmVkZGVk IGNvbnRyb2xsZXIgaXMgYSBtaWNyb2NvbnRyb2xsZXIgZm91bmQgaW4gc29tZQorICogZS1ib29r IHJlYWRlcnMgZGVzaWduZWQgYnkgdGhlIE9ETSBOZXRyb25peCwgSW5jLiBJdCBjb250YWlucyBS VEMsCisgKiBiYXR0ZXJ5IG1vbml0b3JpbmcsIHN5c3RlbSBwb3dlciBtYW5hZ2VtZW50LCBhbmQg UFdNIGZ1bmN0aW9uYWxpdHkuCisgKgorICogVGhpcyBkcml2ZXIgaW1wbGVtZW50cyBhY2Nlc3Mg dG8gdGhlIFJUQyB0aW1lIGFuZCBkYXRlLgorICoKKyAqIENvcHlyaWdodCAyMDIwIEpvbmF0aGFu IE5ldXNjaMOkZmVyIDxqLm5ldXNjaGFlZmVyQGdteC5uZXQ+CisgKi8KKworI2luY2x1ZGUgPGxp bnV4L21mZC9udHhlYy5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxp bnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3JlZ21hcC5oPgorI2luY2x1 ZGUgPGxpbnV4L3J0Yy5oPgorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisKK3N0cnVjdCBudHhl Y19ydGMgeworCXN0cnVjdCBkZXZpY2UgKmRldjsKKwlzdHJ1Y3QgbnR4ZWMgKmVjOworfTsKKwor I2RlZmluZSBOVFhFQ19SRUdfV1JJVEVfWUVBUgkweDEwCisjZGVmaW5lIE5UWEVDX1JFR19XUklU RV9NT05USAkweDExCisjZGVmaW5lIE5UWEVDX1JFR19XUklURV9EQVkJMHgxMgorI2RlZmluZSBO VFhFQ19SRUdfV1JJVEVfSE9VUgkweDEzCisjZGVmaW5lIE5UWEVDX1JFR19XUklURV9NSU5VVEUJ MHgxNAorI2RlZmluZSBOVFhFQ19SRUdfV1JJVEVfU0VDT05ECTB4MTUKKworI2RlZmluZSBOVFhF Q19SRUdfUkVBRF9ZTQkweDIwCisjZGVmaW5lIE5UWEVDX1JFR19SRUFEX0RICTB4MjEKKyNkZWZp bmUgTlRYRUNfUkVHX1JFQURfTVMJMHgyMworCitzdGF0aWMgaW50IG50eGVjX3JlYWRfdGltZShz dHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBydGNfdGltZSAqdG0pCit7CisJc3RydWN0IG50eGVj X3J0YyAqcnRjID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJdW5zaWduZWQgaW50IHZhbHVlOwor CWludCByZXM7CisKKwlyZXMgPSByZWdtYXBfcmVhZChydGMtPmVjLT5yZWdtYXAsIE5UWEVDX1JF R19SRUFEX1lNLCAmdmFsdWUpOworCWlmIChyZXMgPCAwKQorCQlyZXR1cm4gcmVzOworCisJdG0t PnRtX3llYXIgPSAodmFsdWUgPj4gOCkgKyAxMDA7CisJdG0tPnRtX21vbiA9ICh2YWx1ZSAmIDB4 ZmYpIC0gMTsKKworCXJlcyA9IHJlZ21hcF9yZWFkKHJ0Yy0+ZWMtPnJlZ21hcCwgTlRYRUNfUkVH X1JFQURfREgsICZ2YWx1ZSk7CisJaWYgKHJlcyA8IDApCisJCXJldHVybiByZXM7CisKKwl0bS0+ dG1fbWRheSA9IHZhbHVlID4+IDg7CisJdG0tPnRtX2hvdXIgPSB2YWx1ZSAmIDB4ZmY7CisKKwly ZXMgPSByZWdtYXBfcmVhZChydGMtPmVjLT5yZWdtYXAsIE5UWEVDX1JFR19SRUFEX01TLCAmdmFs dWUpOworCWlmIChyZXMgPCAwKQorCQlyZXR1cm4gcmVzOworCisJdG0tPnRtX21pbiA9IHZhbHVl ID4+IDg7CisJdG0tPnRtX3NlYyA9IHZhbHVlICYgMHhmZjsKKworCXJldHVybiAwOworfQorCitz dGF0aWMgaW50IG50eGVjX3NldF90aW1lKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHJ0Y190 aW1lICp0bSkKK3sKKwlzdHJ1Y3QgbnR4ZWNfcnRjICpydGMgPSBkZXZfZ2V0X2RydmRhdGEoZGV2 KTsKKwlpbnQgcmVzID0gMDsKKworCXJlcyA9IHJlZ21hcF93cml0ZShydGMtPmVjLT5yZWdtYXAs IE5UWEVDX1JFR19XUklURV9ZRUFSLCBudHhlY19yZWc4KHRtLT50bV95ZWFyIC0gMTAwKSk7CisJ aWYgKHJlcykKKwkJcmV0dXJuIHJlczsKKworCXJlcyA9IHJlZ21hcF93cml0ZShydGMtPmVjLT5y ZWdtYXAsIE5UWEVDX1JFR19XUklURV9NT05USCwgbnR4ZWNfcmVnOCh0bS0+dG1fbW9uICsgMSkp OworCWlmIChyZXMpCisJCXJldHVybiByZXM7CisKKwlyZXMgPSByZWdtYXBfd3JpdGUocnRjLT5l Yy0+cmVnbWFwLCBOVFhFQ19SRUdfV1JJVEVfREFZLCBudHhlY19yZWc4KHRtLT50bV9tZGF5KSk7 CisJaWYgKHJlcykKKwkJcmV0dXJuIHJlczsKKworCXJlcyA9IHJlZ21hcF93cml0ZShydGMtPmVj LT5yZWdtYXAsIE5UWEVDX1JFR19XUklURV9IT1VSLCBudHhlY19yZWc4KHRtLT50bV9ob3VyKSk7 CisJaWYgKHJlcykKKwkJcmV0dXJuIHJlczsKKworCXJlcyA9IHJlZ21hcF93cml0ZShydGMtPmVj LT5yZWdtYXAsIE5UWEVDX1JFR19XUklURV9NSU5VVEUsIG50eGVjX3JlZzgodG0tPnRtX21pbikp OworCWlmIChyZXMpCisJCXJldHVybiByZXM7CisKKwlyZXR1cm4gcmVnbWFwX3dyaXRlKHJ0Yy0+ ZWMtPnJlZ21hcCwgTlRYRUNfUkVHX1dSSVRFX1NFQ09ORCwgbnR4ZWNfcmVnOCh0bS0+dG1fc2Vj KSk7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcnRjX2NsYXNzX29wcyBudHhlY19ydGNfb3Bz ID0geworCS5yZWFkX3RpbWUgPSBudHhlY19yZWFkX3RpbWUsCisJLnNldF90aW1lID0gbnR4ZWNf c2V0X3RpbWUsCit9OworCitzdGF0aWMgaW50IG50eGVjX3J0Y19wcm9iZShzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBydGNfZGV2aWNlICpkZXY7CisJc3RydWN0IG50 eGVjX3J0YyAqcnRjOworCisJcnRjID0gZGV2bV9remFsbG9jKCZwZGV2LT5kZXYsIHNpemVvZigq cnRjKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFydGMpCisJCXJldHVybiAtRU5PTUVNOworCisJcnRj LT5kZXYgPSAmcGRldi0+ZGV2OworCXJ0Yy0+ZWMgPSBkZXZfZ2V0X2RydmRhdGEocGRldi0+ZGV2 LnBhcmVudCk7CisJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgcnRjKTsKKworCWRldiA9IGRl dm1fcnRjX2FsbG9jYXRlX2RldmljZSgmcGRldi0+ZGV2KTsKKwlpZiAoSVNfRVJSKGRldikpCisJ CXJldHVybiBQVFJfRVJSKGRldik7CisKKwlkZXYtPm9wcyA9ICZudHhlY19ydGNfb3BzOworCWRl di0+cmFuZ2VfbWluID0gUlRDX1RJTUVTVEFNUF9CRUdJTl8yMDAwOworCWRldi0+cmFuZ2VfbWF4 ID0gOTAyNTI1NzU5OUxMOyAvKiAyMjU1LTEyLTMxIDIzOjU5OjU5ICovCisKKwlyZXR1cm4gcnRj X3JlZ2lzdGVyX2RldmljZShkZXYpOworfQorCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZl ciBudHhlY19ydGNfZHJpdmVyID0geworCS5kcml2ZXIgPSB7CisJCS5uYW1lID0gIm50eGVjLXJ0 YyIsCisJfSwKKwkucHJvYmUgPSBudHhlY19ydGNfcHJvYmUsCit9OworbW9kdWxlX3BsYXRmb3Jt X2RyaXZlcihudHhlY19ydGNfZHJpdmVyKTsKKworTU9EVUxFX0FVVEhPUigiSm9uYXRoYW4gTmV1 c2Now6RmZXIgPGoubmV1c2NoYWVmZXJAZ214Lm5ldD4iKTsKK01PRFVMRV9ERVNDUklQVElPTigi UlRDIGRyaXZlciBmb3IgTmV0cm9uaXggRUMiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKLS0K Mi4yOC4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K bGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZy YWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGlu dXgtYXJtLWtlcm5lbAo=