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=-15.8 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS 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 8077DC12002 for ; Wed, 21 Jul 2021 16:58:40 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 49BE96120A for ; Wed, 21 Jul 2021 16:58:40 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 49BE96120A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com 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=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=bZerRa5k9ESIVZr7d6s8u8uE/5IUn7V/b6qw3v8FFac=; b=QI6dGUTSN4aIco Ljpbyfnxn7R125UBdK5N7TswwRrrl79h2OtpP3wwkHx6l41/L83vMJ4wFR7dAXA3qUD781cZNGo+X wC4BJohpsIIurtGOLntD6vaSylyjIbDdeCzr8JRBzK+wE9bIZfB+5EqANhsr9gvQX/fZdMm5BVjzx V7DTUJb/T9kVBt3QB62yWhwVKbGrLrjdRDCl4qLJht/PqKpOmgUP+SECh8FE3QqGC+9VJVb/lmPNk VmLSW1VriX3qNTaIiDuUhKYnbq/kqladuISLioNlP8QMF/UgXfynR2q2q+3SWodZn6P8wX+Oaoghb c3alLN8aa1nf7i0ztPRg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1m6FWi-00Gf7j-KB; Wed, 21 Jul 2021 16:56:56 +0000 Received: from mail-ua1-x931.google.com ([2607:f8b0:4864:20::931]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1m6FWZ-00Gf6x-Uo for linux-arm-kernel@lists.infradead.org; Wed, 21 Jul 2021 16:56:49 +0000 Received: by mail-ua1-x931.google.com with SMTP id c20so1061592uar.12 for ; Wed, 21 Jul 2021 09:56:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=soKsTxfp3JlXQfUzAz/2MafI1ftVItRQDjW8DRM/Ruo=; b=V5dapbQqTI9nxBA635LT5YfE4dkOAr52Zh6Tf1AfvcNhGOdTwmOP0amqjKJleXAkJt dKqr5TwQ6z7g9xJbvKw3c1R0VA8mXfJIbTqoPt+HVGAsfv4ukoEk4FSBzSF3Cy/0B8oY bHLKblgfpWa+7zVrSqIYBG8zxj20bskFYVG+XGGSCd0PtyYW+1d/MvoKxBzzB7L+ZbQ3 cgnw+9TZz5NHx62ADsjpXY4Bwkyl/qNesldUpNGf5mMFNr0M6vXS6lyp28i/XDVsIbJc DnVxhN+Fv9FqkSXvST+kzSXXz2e42BwgUGBiT/ytcDBs3QI/sb03MCti4jT07mVDDvUk 5ATQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=soKsTxfp3JlXQfUzAz/2MafI1ftVItRQDjW8DRM/Ruo=; b=JDycaWypzD+XWW1/ERvM83Ywk4lsxTzcva3W1fktrNArTdv9XXVLym6s/8NZ54qCAG FQ0GLER85I5BnMwFhf4VpkMUresu8oCNqgQHMjuHJyReZ/zH5cJYVlK47WKHbtuAS7p4 Uzw7joosZGxoB9YpVUYJ3fRYRy7h7j2LHDFFLKPJLBmUleohdYBIZWGpzadgjJjvxGc1 OWb91Ba5IIMu+vdQWLRcUJp4wRt5zn0SXzUeJUFtEt61g3h+P5C5Sjz3YXXmw0pB4IHY lAUfPBRqaeFtxP1cHMlHL+sYE4VW8ZOLaFwpSoG/rMp6KsgvDDUpnwrx4izBM8vNYjFa dRVw== X-Gm-Message-State: AOAM532rfEGV2DsGQBLyK+7p5mtWcrmCpvrtXERNQ/tYGV52zOhaRXYl EGfpVcpXbH3mpPC75MrNoZVuhfgkNZGwN+FT6MM= X-Google-Smtp-Source: ABdhPJzAJqh/MT4+UTvyMERbEJLUdK2lAb/jlbXI3N3/Mq9G2nwAtocprZXozt0qP8h6GWGHizbt5VXZo1lgBOE06Hk= X-Received: by 2002:ab0:2c0e:: with SMTP id l14mr38088577uar.126.1626886606504; Wed, 21 Jul 2021 09:56:46 -0700 (PDT) MIME-Version: 1.0 References: <20210720172251.4504-1-romain.perier@gmail.com> <20210720172251.4504-3-romain.perier@gmail.com> In-Reply-To: From: Romain Perier Date: Wed, 21 Jul 2021 18:56:34 +0200 Message-ID: Subject: Re: [PATCH 2/3] rtc: Add support for the MSTAR MSC313 RTC To: Alexandre Belloni Cc: Alessandro Zummo , Daniel Palmer , Rob Herring , linux-rtc@vger.kernel.org, devicetree , Linux Kernel Mailing List , linux-arm-kernel X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210721_095648_054558_9D2E9D63 X-CRM114-Status: GOOD ( 46.57 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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 SGVsbG8gQWxleGFuZHJlLAoKTGUgbWFyLiAyMCBqdWlsLiAyMDIxIMOgIDIyOjAxLCBBbGV4YW5k cmUgQmVsbG9uaQo8YWxleGFuZHJlLmJlbGxvbmlAYm9vdGxpbi5jb20+IGEgw6ljcml0IDoKPgo+ IEhlbGxvIFJvbWFpbiwKPgo+IE9uIDIwLzA3LzIwMjEgMTk6MjI6NTArMDIwMCwgUm9tYWluIFBl cmllciB3cm90ZToKPiA+IEZyb206IERhbmllbCBQYWxtZXIgPGRhbmllbEAweDBmLmNvbT4KPiA+ Cj4gPiBUaGlzIGFkZHMgc3VwcG9ydCBmb3IgdGhlIFJUQyBibG9jayBvbiB0aGUgTXN0YXIgTVND MzEzZSBTb0NzIGFuZCBuZXdlci4KPiA+Cj4gPiBTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgUGFsbWVy IDxkYW5pZWxAMHgwZi5jb20+Cj4gPiBDby1kZXZlbG9wZWQtYnk6IFJvbWFpbiBQZXJpZXIgPHJv bWFpbi5wZXJpZXJAZ21haWwuY29tPgo+ID4gU2lnbmVkLW9mZi1ieTogUm9tYWluIFBlcmllciA8 cm9tYWluLnBlcmllckBnbWFpbC5jb20+Cj4gPiAtLS0KPiA+ICBNQUlOVEFJTkVSUyAgICAgICAg ICAgICAgfCAgIDEgKwo+ID4gIGRyaXZlcnMvcnRjL0tjb25maWcgICAgICB8ICAxMCArKwo+ID4g IGRyaXZlcnMvcnRjL01ha2VmaWxlICAgICB8ICAgMSArCj4gPiAgZHJpdmVycy9ydGMvcnRjLW1z YzMxMy5jIHwgMjQ2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4g IDQgZmlsZXMgY2hhbmdlZCwgMjU4IGluc2VydGlvbnMoKykKPiA+ICBjcmVhdGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9ydGMvcnRjLW1zYzMxMy5jCj4gPgo+ID4gZGlmZiAtLWdpdCBhL01BSU5UQUlO RVJTIGIvTUFJTlRBSU5FUlMKPiA+IGluZGV4IDZjOGJlNzM1Y2M5MS4uN2U4ZDFhMzc1ZTBkIDEw MDY0NAo+ID4gLS0tIGEvTUFJTlRBSU5FUlMKPiA+ICsrKyBiL01BSU5UQUlORVJTCj4gPiBAQCAt MjIyMCw2ICsyMjIwLDcgQEAgRjogICAgICBhcmNoL2FybS9ib290L2R0cy9tc3Rhci0qCj4gPiAg RjogICBhcmNoL2FybS9tYWNoLW1zdGFyLwo+ID4gIEY6ICAgZHJpdmVycy9jbGsvbXN0YXIvCj4g PiAgRjogICBkcml2ZXJzL2dwaW8vZ3Bpby1tc2MzMTMuYwo+ID4gK0Y6ICAgZHJpdmVycy9ydGMv cnRjLW1zYzMxMy5jCj4gPiAgRjogICBkcml2ZXJzL3dhdGNoZG9nL21zYzMxM2Vfd2R0LmMKPiA+ ICBGOiAgIGluY2x1ZGUvZHQtYmluZGluZ3MvY2xvY2svbXN0YXItKgo+ID4gIEY6ICAgaW5jbHVk ZS9kdC1iaW5kaW5ncy9ncGlvL21zYzMxMy1ncGlvLmgKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJz L3J0Yy9LY29uZmlnIGIvZHJpdmVycy9ydGMvS2NvbmZpZwo+ID4gaW5kZXggMTIxNTNkNTgwMWNl Li42Nzg3MGI0MjJiYzUgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL3J0Yy9LY29uZmlnCj4gPiAr KysgYi9kcml2ZXJzL3J0Yy9LY29uZmlnCj4gPiBAQCAtMTkyNSw0ICsxOTI1LDE0IEBAIGNvbmZp ZyBSVENfRFJWX1dJTENPX0VDCj4gPiAgICAgICAgIFRoaXMgY2FuIGFsc28gYmUgYnVpbHQgYXMg YSBtb2R1bGUuIElmIHNvLCB0aGUgbW9kdWxlIHdpbGwKPiA+ICAgICAgICAgYmUgbmFtZWQgInJ0 Y193aWxjb19lYyIuCj4gPgo+ID4gK2NvbmZpZyBSVENfRFJWX01TQzMxMwo+ID4gKyAgICAgdHJp c3RhdGUgIk1TdGFyIE1TQzMxMyBSVEMiCj4gPiArICAgICAgICBkZXBlbmRzIG9uIEFSQ0hfTVNU QVJWNwo+Cj4gfHwgQ09NUElMRV9URVNUIG1heWJlID8KCkFyZiwgSSBhbHdheXMgZm9yZ2V0IHRo aXMgb3B0aW9uLiBBY2ssIEkgd2lsbCBhZGQgaXQgaW4gdjIuCgo+Cj4gPiArICAgICBoZWxwCj4g PiArICAgICAgIElmIHlvdSBzYXkgeWVzIGhlcmUgeW91IGdldCBzdXBwb3J0IGZvciB0aGUgTXN0 YXIgTVNDMzEzZSBPbi1DaGlwCj4gPiArICAgICAgIFJlYWwgVGltZSBDbG9jay4KPiA+ICsKPiA+ ICsgICAgICAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUsIGlmIHNv LCB0aGUgbW9kdWxlCj4gPiArICAgICAgIHdpbGwgYmUgY2FsbGVkICJydGMtbXNjMzEzIi4KPiA+ ICsKPiA+ICBlbmRpZiAjIFJUQ19DTEFTUwo+Cj4KPiA+ICtzdGF0aWMgaW50IG1zYzMxM19ydGNf cmVhZF90aW1lKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHJ0Y190aW1lICp0bSkKPiA+ICt7 Cj4gPiArICAgICBzdHJ1Y3QgbXNjMzEzX3J0YyAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYp Owo+ID4gKyAgICAgdTMyIHNlY29uZHM7Cj4gPiArICAgICB1MTYgcmVnOwo+ID4gKwo+ID4gKyAg ICAgcmVnID0gcmVhZHcocHJpdi0+cnRjX2Jhc2UgKyBSRUdfUlRDX0NUUkwpOwo+ID4gKyAgICAg d3JpdGV3KHJlZyB8IFJFQURfRU5fQklULCBwcml2LT5ydGNfYmFzZSArIFJFR19SVENfQ1RSTCk7 Cj4gPiArCj4gPiArICAgICAvKiBXYWl0IGZvciBIVyBsYXRjaCBkb25lICovCj4gPiArICAgICB3 aGlsZSAocmVhZHcocHJpdi0+cnRjX2Jhc2UgKyBSRUdfUlRDX0NUUkwpICYgUkVBRF9FTl9CSVQp Cj4gPiArICAgICAgICAgICAgIHVkZWxheSgxKTsKPiA+ICsKPiA+ICsgICAgIHNlY29uZHMgPSBy ZWFkdyhwcml2LT5ydGNfYmFzZSArIFJFR19SVENfQ05UX1ZBTF9MKQo+ID4gKyAgICAgICAgICAg ICAgICAgICAgIHwgKHJlYWR3KHByaXYtPnJ0Y19iYXNlICsgUkVHX1JUQ19DTlRfVkFMX0gpIDw8 IDE2KTsKPiA+ICsKPiA+ICsgICAgIHJ0Y190aW1lNjRfdG9fdG0oc2Vjb25kcywgdG0pOwo+ID4g Kwo+ID4gKyAgICAgcmV0dXJuIHJ0Y192YWxpZF90bSh0bSk7Cj4KPiBUaGlzIGlzIG5vdCBuZWNl c3NhcnksIHRtIGlzIHZhbGlkIGF0IHRoYXQgcG9pbnQgKGFuZCB0aGUgY29yZSB3aWxsCj4gY2hl Y2sgYW55d2F5KS4KCmFjay4KCj4KPiA+ICt9Cj4gPiArCj4gPiArc3RhdGljIGludCBtc2MzMTNf cnRjX3NldF90aW1lKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHJ0Y190aW1lICp0bSkKPiA+ ICt7Cj4gPiArICAgICBzdHJ1Y3QgbXNjMzEzX3J0YyAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShk ZXYpOwo+ID4gKyAgICAgdW5zaWduZWQgbG9uZyBzZWNvbmRzOwo+ID4gKyAgICAgdTE2IHJlZzsK PiA+ICsKPiA+ICsgICAgIHNlY29uZHMgPSBydGNfdG1fdG9fdGltZTY0KHRtKTsKPiA+ICsgICAg IHdyaXRldyhzZWNvbmRzICYgMHhGRkZGLCBwcml2LT5ydGNfYmFzZSArIFJFR19SVENfTE9BRF9W QUxfTCk7Cj4gPiArICAgICB3cml0ZXcoKHNlY29uZHMgPj4gMTYpICYgMHhGRkZGLCBwcml2LT5y dGNfYmFzZSArIFJFR19SVENfTE9BRF9WQUxfSCk7Cj4gPiArICAgICByZWcgPSByZWFkdyhwcml2 LT5ydGNfYmFzZSArIFJFR19SVENfQ1RSTCk7Cj4gPiArICAgICB3cml0ZXcocmVnIHwgTE9BRF9F Tl9CSVQsIHByaXYtPnJ0Y19iYXNlICsgUkVHX1JUQ19DVFJMKTsKPiA+ICsKPiA+ICsgICAgIC8q IG5lZWQgdG8gY2hlY2sgY2FyZWZ1bGx5IGlmIHdlIHdhbnQgdG8gY2xlYXIgUkVHX1JUQ19MT0FE X1ZBTF9IIGZvciBjdXN0b21lciovCj4gPiArICAgICB3aGlsZSAocmVhZHcocHJpdi0+cnRjX2Jh c2UgKyBSRUdfUlRDX0NUUkwpICYgTE9BRF9FTl9CSVQpCj4gPiArICAgICAgICAgICAgIHVkZWxh eSgxKTsKPiA+ICsgICAgIHdyaXRldygwLCBwcml2LT5ydGNfYmFzZSArIFJFR19SVENfTE9BRF9W QUxfSCk7Cj4KPiBXaHkgaXMgdGhhdCBuZWNlc3Nhcnk/IFRoZSBjb21tZW50IGlzIG5vdCBzdXBl ciB1c2VmdWwgaGVyZS4KPgo+ID4gKwo+ID4gKyAgICAgcmV0dXJuIDA7Cj4gPiArfQo+ID4gKwo+ ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcnRjX2NsYXNzX29wcyBtc2MzMTNfcnRjX29wcyA9IHsK PiA+ICsgICAgIC5yZWFkX3RpbWUgPSBtc2MzMTNfcnRjX3JlYWRfdGltZSwKPiA+ICsgICAgIC5z ZXRfdGltZSA9IG1zYzMxM19ydGNfc2V0X3RpbWUsCj4gPiArICAgICAucmVhZF9hbGFybSA9IG1z YzMxM19ydGNfcmVhZF9hbGFybSwKPiA+ICsgICAgIC5zZXRfYWxhcm0gPSBtc2MzMTNfcnRjX3Nl dF9hbGFybSwKPiA+ICsgICAgIC5hbGFybV9pcnFfZW5hYmxlID0gbXNjMzEzX3J0Y19hbGFybV9p cnFfZW5hYmxlLAo+ID4gK307Cj4gPiArCj4gPiArc3RhdGljIGlycXJldHVybl90IG1zYzMxM19y dGNfaW50ZXJydXB0KHMzMiBpcnEsIHZvaWQgKmRldl9pZCkKPiA+ICt7Cj4gPiArICAgICBzdHJ1 Y3QgbXNjMzEzX3J0YyAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXZfaWQpOwo+ID4gKyAgICAg dTE2IHJlZzsKPiA+ICsKPiA+ICsgICAgIHJlZyA9IHJlYWR3X3JlbGF4ZWQocHJpdi0+cnRjX2Jh c2UgKyBSRUdfUlRDX0NUUkwpOwo+ID4gKyAgICAgcmVnIHw9IElOVF9DTEVBUl9CSVQ7Cj4gPiAr ICAgICByZWcgJj0gfklOVF9GT1JDRV9CSVQ7Cj4gPiArICAgICB3cml0ZXdfcmVsYXhlZChyZWcs IHByaXYtPnJ0Y19iYXNlICsgUkVHX1JUQ19DVFJMKTsKPiA+ICsKPgo+IEknbSBub3QgY29udmlu Y2VkIHRoZSBfcmVsYXhlZCBmdW5jdGlvbnMgYXJlIGRvaW5nIHRoZSByaWdodCB0aGluZyBoZXJl LgoKCkdvb2QgY2F0Y2ggZm9yIHRoZSBfcmVsYXhlZCwgSSBkaWQgbm90IHBheSBhdHRlbnRpb24g ZHVyaW5nIHJlZmFjdG9yaW5nLgoKPiBBbHNvLCBzaG91bGRuJ3QgeW91IGNoZWNrIHRoZSBhbGFy bSBhY3R1YWxseSBmaXJlZD8KCllvdSBtZWFuIGJlZm9yZSBzZXQgdGhlIGZsYWcgIlJUQ19BRiIg PyBUaGlzIGRyaXZlciBpcyBtb3N0bHkgYmFzZWQgb24KcmV2ZXJzZSBlbmdpbmVlcmluZywKZXZl biBpZiB3ZSBoYXZlIHNvbWUgaGFyZHdhcmUgaW5mby4gSSB3aWxsIHRyeSB0byBmaW5kIGlmIGl0 IGlzCnBvc3NpYmxlIChJIG1lYW4sICBmcm9tIHRoZSBpbmZvCkkgaGF2ZSkuCgo+Cj4gPiArICAg ICBydGNfdXBkYXRlX2lycShwcml2LT5ydGNfZGV2LCAxLCBSVENfSVJRRiB8IFJUQ19BRik7Cj4g PiArCj4gPiArICAgICByZXR1cm4gSVJRX0hBTkRMRUQ7Cj4gPiArfQo+ID4gKwo+ID4gK3N0YXRp YyBpbnQgbXNjMzEzX3J0Y19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiA+ ICt7Cj4gPiArICAgICBzdHJ1Y3QgbXNjMzEzX3J0YyAqcHJpdiA9IHBsYXRmb3JtX2dldF9kcnZk YXRhKHBkZXYpOwo+ID4gKwo+ID4gKyAgICAgY2xrX2Rpc2FibGVfdW5wcmVwYXJlKHByaXYtPmNs ayk7Cj4KPiBXaXRoIGEgbmljZSBkZXZtX2FkZF9hY3Rpb25fb3JfcmVzZXQoKSBpbiB0aGUgcHJv YmUsIHlvdSBjYW4gcmVtb3ZlIHRoZQo+IG5lZWQgZm9yIG1zYzMxM19ydGNfcmVtb3ZlKCkuCgpk ZXZtX2FkZF9hY3Rpb25fb3JfcmVzZXQoKSB5b3Ugc2FpZCwgaW50ZXJlc3RpbmcgSSBkaWQgbm90 IGtub3cgdGhpcyBmdW5jdGlvbi4KCgo+Cj4gPiArCj4gPiArICAgICByZXR1cm4gMDsKPiA+ICt9 Cj4gPiArCj4gPiArc3RhdGljIGludCBtc2MzMTNfcnRjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9k ZXZpY2UgKnBkZXYpCj4gPiArewo+ID4gKyAgICAgc3RydWN0IGRldmljZSAqZGV2ID0gJnBkZXYt PmRldjsKPiA+ICsgICAgIHN0cnVjdCBtc2MzMTNfcnRjICpwcml2Owo+ID4gKyAgICAgaW50IHJl dDsKPiA+ICsgICAgIGludCBpcnE7Cj4gPiArICAgICB1bnNpZ25lZCBsb25nIHJhdGU7Cj4gPiAr ICAgICB1MTYgcmVnOwo+ID4gKwo+ID4gKyAgICAgcHJpdiA9IGRldm1fa3phbGxvYygmcGRldi0+ ZGV2LCBzaXplb2Yoc3RydWN0IG1zYzMxM19ydGMpLCBHRlBfS0VSTkVMKTsKPiA+ICsgICAgIGlm ICghcHJpdikKPiA+ICsgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07Cj4gPiArCj4gPiArICAg ICBwcml2LT5ydGNfYmFzZSA9IGRldm1fcGxhdGZvcm1faW9yZW1hcF9yZXNvdXJjZShwZGV2LCAw KTsKPiA+ICsgICAgIGlmIChJU19FUlIocHJpdi0+cnRjX2Jhc2UpKQo+ID4gKyAgICAgICAgICAg ICByZXR1cm4gUFRSX0VSUihwcml2LT5ydGNfYmFzZSk7Cj4gPiArCj4gPiArICAgICBpcnEgPSBw bGF0Zm9ybV9nZXRfaXJxKHBkZXYsIDApOwo+ID4gKyAgICAgaWYgKGlycSA8IDApCj4gPiArICAg ICAgICAgICAgIHJldHVybiAtRUlOVkFMOwo+ID4gKwo+ID4gKyAgICAgcmV0ID0gZGV2bV9yZXF1 ZXN0X2lycShkZXYsIGlycSwgbXNjMzEzX3J0Y19pbnRlcnJ1cHQsIElSUUZfU0hBUkVELAo+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZfbmFtZSgmcGRldi0+ZGV2KSwgJnBkZXYt PmRldik7Cj4gPiArICAgICBpZiAocmV0KSB7Cj4gPiArICAgICAgICAgICAgIGRldl9lcnIoZGV2 LCAiVW5hYmxlIHRvIHJlcXVlc3QgaXJxXG4iKTsKPiA+ICsgICAgICAgICAgICAgcmV0dXJuIHJl dDsKPiA+ICsgICAgIH0KPiA+ICsKPiA+ICsgICAgIHByaXYtPmNsayA9IGRldm1fY2xrX2dldChk ZXYsIE5VTEwpOwo+ID4gKyAgICAgaWYgKElTX0VSUihwcml2LT5jbGspKSB7Cj4gPiArICAgICAg ICAgICAgIGRldl9lcnIoZGV2LCAiTm8gaW5wdXQgcmVmZXJlbmNlIGNsb2NrXG4iKTsKPiA+ICsg ICAgICAgICAgICAgcmV0dXJuIFBUUl9FUlIocHJpdi0+Y2xrKTsKPiA+ICsgICAgIH0KPiA+ICsK PiA+ICsgICAgIHJldCA9IGNsa19wcmVwYXJlX2VuYWJsZShwcml2LT5jbGspOwo+ID4gKyAgICAg aWYgKHJldCkgewo+ID4gKyAgICAgICAgICAgICBkZXZfZXJyKGRldiwgIkZhaWxlZCB0byBlbmFi bGUgdGhlIHJlZmVyZW5jZSBjbG9jaywgJWRcbiIsIHJldCk7Cj4gPiArICAgICAgICAgICAgIHJl dHVybiByZXQ7Cj4gPiArICAgICB9Cj4gPiArCj4gPiArICAgICByYXRlID0gY2xrX2dldF9yYXRl KHByaXYtPmNsayk7Cj4gPiArCj4gPiArICAgICByZWcgPSByZWFkdyhwcml2LT5ydGNfYmFzZSAr IFJFR19SVENfQ1RSTCk7Cj4gPiArICAgICBpZiAoIShyZWcgJiBTT0ZUX1JTVFpfQklUKSkgewo+ ID4gKyAgICAgICAgICAgICByZWcgfD0gU09GVF9SU1RaX0JJVDsKPiA+ICsgICAgICAgICAgICAg d3JpdGV3KHJlZywgcHJpdi0+cnRjX2Jhc2UgKyBSRUdfUlRDX0NUUkwpOwo+ID4gKyAgICAgfQo+ Cj4gV2hhdCBpcyB0aGUgbWVhbmluZyBvZiB0aGlzIGJpdD8gSSB3b3VsZCB0aGluayBpdCBpcyBi ZXR0ZXIgdG8gdXNlIHRoYXQKPiB0byBrbm93IHdoZXRoZXIgdGhlIFJUQyBob2xkcyB0aGUgY29y cmVjdCB0aW1lIGluc3RlYWQgb2Yga2lsbGluZyB0aGUKPiBpbmZvIGhlcmUuCj4KPiA+ICsKPiA+ ICsgICAgIHdyaXRldyhyYXRlICYgMHhGRkZGLCBwcml2LT5ydGNfYmFzZSArIFJFR19SVENfRlJF UV9DV19MKTsKPiA+ICsgICAgIHdyaXRldygocmF0ZSA+PiAxNikgJiAweEZGRkYsIHByaXYtPnJ0 Y19iYXNlICsgUkVHX1JUQ19GUkVRX0NXX0gpOwo+ID4gKwo+ID4gKyAgICAgcmVnIHw9IENOVF9F Tl9CSVQ7Cj4gPiArICAgICB3cml0ZXcocmVnLCBwcml2LT5ydGNfYmFzZSArIFJFR19SVENfQ1RS TCk7Cj4gPiArCj4gPiArICAgICBwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBwcml2KTsKPiA+ ICsKPiA+ICsgICAgIHByaXYtPnJ0Y19kZXYgPSBkZXZtX3J0Y19kZXZpY2VfcmVnaXN0ZXIoZGV2 LCBkZXZfbmFtZShkZXYpLCAmbXNjMzEzX3J0Y19vcHMsIFRISVNfTU9EVUxFKTsKPiA+ICsgICAg IGlmIChJU19FUlIocHJpdi0+cnRjX2RldikpIHsKPiA+ICsgICAgICAgICAgICAgZGV2X2Vycihk ZXYsICJGYWlsZWQgdG8gcmVnaXN0ZXIgcnRjIGRldmljZVxuIik7Cj4gPiArICAgICAgICAgICAg IHJldHVybiBQVFJfRVJSKHByaXYtPnJ0Y19kZXYpOwo+ID4gKyAgICAgfQo+Cj4gUGxlYXNlIHN3 aXRjaCB0byBkZXZtX3J0Y19hbGxvY2F0ZV9kZXZpY2UgYW5kIGRldm1fcnRjX3JlZ2lzdGVyX2Rl dmljZS4KPiBBbHNvIGRyb3AgdGhlIGVycm9yIG1lc3NhZ2UsIGl0IGlzIG5vdCBuZWNlc3Nhcnku Cj4KPiBZb3UgbXVzdCBhbHNvIHNldCB0aGUgUlRDIHJhbmdlLiBUbyBoZWxwIHlvdSwgeW91IGNh biB1c2U6Cj4gaHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQv YWJlbGxvbmkvcnRjLXRvb2xzLmdpdC90cmVlL3J0Yy1yYW5nZS5jCj4gdGhlbiB5b3UgbXVzdCB1 cGRhdGUgdGhlIERUIGJpbmRpbmdzIGFzIHRoZSBSVEMgd2lsbCBzdXBwb3J0IHRoZQo+IHN0YXJ0 LXllYXIgcHJvcGVydHkKPgo+IFlvdSBtdXN0IGFsc28gcnVuIHJ0Y3Rlc3QgYW5kIHNob3VsZCBp bmNsdWRlIHRoZSByZXN1bHRzLgoKQWNrLCBJIHdpbGwgZG8gdGhpcyBpbiB2Mi4KClRoYW5rcyEK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFy bS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9y ZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1r ZXJuZWwK