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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 5CD54C433F5 for ; Tue, 1 Mar 2022 10:13:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:CC:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=SYcSzhnmSKm2sX0SsjojzbsYcEpr26NcUIQs0vETkcI=; b=Fzlc/fdG/YE03S rWa4lqToO2zlpqSRxJ1pcqYbntaHRLMFcyYcoQoPm4akyeJBDijoERB/QjQBSimBG6feAytW6Eh1Q yvnniGpZHRpajgsLhOWRhamm6F1Pyw/CJtUDjgyBYW242+2iOZAHPDciLDc0jQ2SZ3FFtZqQ9zt2O AHiA1Adol+RA8cf/xaMvnFMmJ9L2dUeJ5i6kN/WOXErnXjCeJ6k7Xwt9Y5l4w3l3PPUp5spkD/VdQ tW6h0/cyOxK+CfXjwzJ2XkXdBKaUh56ka75OplTauTqUSSRUTvMgvYahB7wZe/p/ZaLf93kMoTJUX uGJPWqJ2DsQVSN2fPUrw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nOzVv-00G3LJ-En; Tue, 01 Mar 2022 10:13:51 +0000 Received: from mail-sh.amlogic.com ([58.32.228.43]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nOzUq-00G30j-6n; Tue, 01 Mar 2022 10:12:47 +0000 Received: from [10.18.29.173] (10.18.29.173) by mail-sh.amlogic.com (10.18.11.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.14; Tue, 1 Mar 2022 18:12:37 +0800 Message-ID: <4712c41c-fc9f-e8d1-c233-a6c2de0c23dd@amlogic.com> Date: Tue, 1 Mar 2022 18:12:36 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.4.1 Subject: Re: [PATCH V7 0/6] Use CCF to describe the UART baud rate clock Content-Language: en-US To: Neil Armstrong , Jerome Brunet , , , , CC: Greg Kroah-Hartman , Jiri Slaby , Kevin Hilman , Martin Blumenstingl References: <20220225073922.3947-1-yu.tu@amlogic.com> <1j8rtvxnkv.fsf@starbuckisacylon.baylibre.com> <1jilsyvyz9.fsf@starbuckisacylon.baylibre.com> <0054cf2f-f09d-5b01-d6ca-0dc877a757c3@amlogic.com> From: Yu Tu In-Reply-To: X-Originating-IP: [10.18.29.173] X-ClientProxiedBy: mail-sh.amlogic.com (10.18.11.5) To mail-sh.amlogic.com (10.18.11.5) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220301_021244_302763_E758B460 X-CRM114-Status: GOOD ( 34.36 ) X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org SGkgTmVpbCwKCVRoYW5rIHlvdSB2ZXJ5IG11Y2ggZm9yIHlvdXIgYWR2aWNlLgoKT24gMjAyMi8z LzEgMTc6MjcsIE5laWwgQXJtc3Ryb25nIHdyb3RlOgo+IFsgRVhURVJOQUwgRU1BSUwgXQo+IAo+ IEhpLAo+IAo+IE9uIDAxLzAzLzIwMjIgMTA6MDEsIFl1IFR1IHdyb3RlOgo+PiBIaSBKZXJvbWUs Cj4+Cj4+IE9uIDIwMjIvMy8xIDE2OjM2LCBKZXJvbWUgQnJ1bmV0IHdyb3RlOgo+Pj4gWyBFWFRF Uk5BTCBFTUFJTCBdCj4+Pgo+Pj4KPj4+IE9uIFR1ZSAwMSBNYXIgMjAyMiBhdCAxMzo1NCwgWXUg VHUgPHl1LnR1QGFtbG9naWMuY29tPiB3cm90ZToKPj4+Cj4+Pj4gSGkgSmVyb21lLAo+Pj4+Cj4+ Pj4gT24gMjAyMi8yLzI4IDE4OjU5LCBKZXJvbWUgQnJ1bmV0IHdyb3RlOgo+Pj4+PiBbIEVYVEVS TkFMIEVNQUlMIF0KPj4+Pj4KPj4+Pj4gT24gRnJpIDI1IEZlYiAyMDIyIGF0IDE1OjM5LCBZdSBU dSA8eXUudHVAYW1sb2dpYy5jb20+IHdyb3RlOgo+Pj4+Pgo+Pj4+Pj4gVXNpbmcgdGhlIGNvbW1v biBDbG9jayBjb2RlIHRvIGRlc2NyaWJlIHRoZSBVQVJUIGJhdWQgcmF0ZQo+Pj4+Pj4gY2xvY2sg bWFrZXMgaXQgZWFzaWVyIGZvciB0aGUgVUFSVCBkcml2ZXIgdG8gYmUgY29tcGF0aWJsZQo+Pj4+ Pj4gd2l0aCB0aGUgYmF1ZCByYXRlIHJlcXVpcmVtZW50cyBvZiB0aGUgVUFSVCBJUCBvbiBkaWZm ZXJlbnQKPj4+Pj4+IG1lc29uIGNoaXBzLiBBZGQgTWVzb24gUzQgU29DIGNvbXBhdGlibGUuCj4+ Pj4+Pgo+Pj4+Pj4gVGhlIHRlc3QgbWV0aG9kOgo+Pj4+Pj4gU3RhcnQgdGhlIGNvbnNvbGUgYW5k IHJ1biB0aGUgZm9sbG93aW5nIGNvbW1hbmRzIGluIHR1cm46Cj4+Pj4+PiBzdHR5IC1GIC9kZXYv dHR5QU1MMCAxMTUyMDAgYW5kIHN0dHkgLUYgL2Rldi90dHlBTUwwIDkyMTYwMC4KPj4+Pj4+Cj4+ Pj4+PiBTaW5jZSBtb3N0IFNvQ3MgYXJlIHRvbyBvbGQsIEkgd2FzIGFibGUgdG8gZmluZCBhbGwg dGhlIHBsYXRmb3JtcyAKPj4+Pj4+IG15c2VsZgo+Pj4+Pj4gc3VjaCBhcyBNZXNvbjYsIE1lc29u OCwgTWVzb244YiwgR1hMIGFuZCBzbyBvbi4gSSBvbmx5IHRlc3RlZCBpdCB3aXRoCj4+Pj4+PiBH MTJBIGFuZCBTNC4KPj4+Pj4gR1hMIGJhc2VkIGJvYXJkIGFyZSBzdGlsbCB2ZXJ5IGNvbW1vbiBh biBlYXN5IHRvIGNvbWUgYnkuCj4+Pj4+IEknbSBxdWl0ZSBzdXJwcmlzZWQgdGhhdCB5b3UgYXJl IHVuYWJsZSB0byB0ZXN0IG9uIHRoaXMgU29DIGZhbWlseQo+Pj4+IFRoZSBmYWN0IG9mIHRoZSBt YXR0ZXIgaXMgdGhhdCB0aGUgUzQgaXMgb3VyIGVuZC0yMDIwIGNoaXAsIHRoZSBHMTJBIGlzCj4+ Pj4gZml2ZSB5ZWFycyBvbGQsIGFuZCB0aGUgR1hMIGlzIHNldmVuIHllYXJzIG9sZC4gSWYgeW91 IG11c3QgYXNrIGZvciBhCj4+Pj4gdGVzdCwgSSB3aWxsIHJlcG9ydCB0aGlzIHByb2JsZW0gdG8g dGhlIGxlYWRlcnNoaXAgdG8gY29vcmRpbmF0ZSAKPj4+PiByZXNvdXJjZXMuCj4+Pgo+Pj4gVGhl IGFnZSBvZiB0aGUgU29DIGlzIGlycmVsZXZhbnQuIFNvQ3MgZG9uJ3QgZ2V0IGRlcHJlY2F0ZWQg YmFzZWQgb24gYWdlCj4+PiBpbiBtYWlubGluZS4gSXQgaXMgbm90IGp1c3QgR1hMLCBzYW1lIGdv ZXMgZm9yIG1lc29uOC4KPj4+Cj4+PiBUaGVzZSBTb0NzIGFyZSBhY3RpdmVseSB1c2VkLiBCb2Fy ZHMgd2l0aCB0aGVzZSBTb0NzIGFyZSBzdGlsbCBzb2xkIGFuZAo+Pj4gZWFzaWx5IGF2YWlsYWJs ZS4gU2VlIHRoZSBWSU0xIG9yIHRoZSBMaWJyZXRlY2ggYm9hcmRzLgo+Pj4KPj4+IEJyZWFraW5n IHRoaW5ncyBmb3IgdGhlIHRoZSB1c2VycyBvZiB0aGVzZSBTb0NzIGlzIG5vdCBhY2NlcHRhYmxl Lgo+Pj4gU28geWVzLCBsb29raW5nIGF0IHlvdXIgc2VyaWVzLCBJIHN0cm9uZ2x5IHJlY29tbWVu ZCB5b3UgZG8gbW9yZSB0ZXN0cy4KPj4+Cj4+IFlvdSBoYXZlIGEgcG9pbnQgdGhlcmUuIExldCdz IGdvIGJhY2sgdG8gdGhlIHJvb3Qgb2YgdGhlIHByb2JsZW0uIEkgCj4+IGFpbSB0byBpbmNyZWFz ZSBTNC4gVGhlIFM0IHVzZXMgMTJNSFogdG8gY2FsY3VsYXRlIGJhdWQuIFRoYXQncyBhbGwuCj4+ IENoYW5nZSBpdCB0byBDQ0YgYXMgeW91IHN1Z2dlc3RlZC4gVGhlIGNoYW5nZXMgYXJlIHNvIGxh cmdlIHRoYXQgeW91IAo+PiBhc2sgdG8gdGVzdCBhbGwgdGhlIGNoaXBzLgo+PiBJIGFsc28gbWVu dGlvbmVkIGxhc3QgdGltZSB0aGF0IHVzaW5nIENDRiB3b3VsZCBsZWFkIHRvIGEgbG9uZ2VyIGRy aXZlIAo+PiBwcm9iZSB0aW1lIGFuZCBhZmZlY3QgdGhlIGJvYXJkIHN0YXJ0dXAgdGltZS4gSWYg dGhpcyBwcm9ibGVtIGlzIG5vdCAKPj4gc29sdmVkLCBjYW4gd2UgcmVqZWN0IHRoZSB3YXkgeW91 IHN1Z2dlc3QgdXNpbmcgQ0NGPwo+IAo+IEkgaGF2ZSBhIG11Y2ggc2ltcGxlciBwcm9wb3NhbCAo bm9uLXRlc3RlZCk6Cj4gCkkgY2FuIHRlc3QgaXQgZm9yIHlvdS4gQnV0IGlmIHlvdSBuZWVkIHRv IGFkZCBTNCBjaGlwcy4gQWdhaW4sIHdlIG5lZWQgCnRvIGFkZCBhIGp1ZGdtZW50LiBJcyB0aGF0 IGFjY2VwdGFibGUgdG8geW91PwoKV2hhdCB3ZSd2ZSBiZWVuIHRhbGtpbmcgYWJvdXQgZm9yIGEg bG9uZyB0aW1lIGlzIGhvdyB0byBtYWtlIHRoZSBsZWFzdCAKY2hhbmdlcyBhbmQgdGhlIGxlYXN0 IGltcGFjdCBmb3IgdGhlIFM0LgoKVGhlIGZhY3QgaXMgdGhhdCBBbWxvZ2ljIGhhcyByZWNvbW1l bmRlZCAxMk1IeiBmb3IgYmF1ZCByYXRlcyBmb3IgYWxsIApjaGlwcyBzdGFydGluZyB3aXRoIHRo ZSBHMTJBLiBJIHJlYWxseSBkb3VidCB3aGV0aGVyIHRoZSBHMTJBL0IgYW5kIFNNMSAKd2VyZSB0 ZXN0ZWQgYmVmb3JlLiBTbyBpZiB3ZSB3YW50IHRvIHVwbG9hZCBzdWJzZXF1ZW50IEFtbG9naWMg Y2hpcHMsIApub3Qgb25seSB0aGUgUzQgbmVlZHMgdG8gc29sdmUgdGhlIDEyTUh6IHByb2JsZW0s IGJ1dCBvdGhlciBjaGlwcyBjYW4ndCAKZ2V0IGFyb3VuZCB0aGlzIGFyZWEuCj4gPT09PT09PT09 PT09Pjw9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy90dHkvc2VyaWFsL21lc29uX3VhcnQuYyAKPiBiL2RyaXZl cnMvdHR5L3NlcmlhbC9tZXNvbl91YXJ0LmMKPiBpbmRleCA0NWUwMGQ5MjgyNTMuLmVkYTNmZGFk NjBkMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3R0eS9zZXJpYWwvbWVzb25fdWFydC5jCj4gKysr IGIvZHJpdmVycy90dHkvc2VyaWFsL21lc29uX3VhcnQuYwo+IEBAIC03Niw2ICs3NiwxMiBAQAo+ ICDCoCNkZWZpbmUgQU1MX1VBUlRfUE9MTF9VU0VDwqDCoMKgwqDCoMKgwqAgNQo+ICDCoCNkZWZp bmUgQU1MX1VBUlRfVElNRU9VVF9VU0VDwqDCoMKgwqDCoMKgwqAgMTAwMDAKPiAKPiArc3RydWN0 IG1lc29uX3VhcnRfZGF0YSB7Cj4gK8KgwqDCoCBzdHJ1Y3QgY2xrwqDCoMKgICpjbGtfcGNsazsK PiArwqDCoMKgIHN0cnVjdCBjbGvCoMKgwqAgKmNsa194dGFsOwo+ICvCoMKgwqAgc3RydWN0IGNs a8KgwqDCoCAqY2xrX2JhdWQ7Cj4gK307Cj4gKwo+ICDCoHN0YXRpYyBzdHJ1Y3QgdWFydF9kcml2 ZXIgbWVzb25fdWFydF9kcml2ZXI7Cj4gCj4gIMKgc3RhdGljIHN0cnVjdCB1YXJ0X3BvcnQgKm1l c29uX3BvcnRzW0FNTF9VQVJUX1BPUlRfTlVNXTsKPiBAQCAtMjkzLDE2ICsyOTksMTcgQEAgc3Rh dGljIGludCBtZXNvbl91YXJ0X3N0YXJ0dXAoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKPiAKPiAg wqBzdGF0aWMgdm9pZCBtZXNvbl91YXJ0X2NoYW5nZV9zcGVlZChzdHJ1Y3QgdWFydF9wb3J0ICpw b3J0LCB1bnNpZ25lZCAKPiBsb25nIGJhdWQpCj4gIMKgewo+ICvCoMKgwqAgc3RydWN0IG1lc29u X3VhcnRfZGF0YSAqcHJpdmF0ZV9kYXRhID0gcG9ydC0+cHJpdmF0ZV9kYXRhOwo+ICDCoMKgwqDC oCB1MzIgdmFsOwo+IAo+ICDCoMKgwqDCoCB3aGlsZSAoIW1lc29uX3VhcnRfdHhfZW1wdHkocG9y dCkpCj4gIMKgwqDCoMKgwqDCoMKgwqAgY3B1X3JlbGF4KCk7Cj4gCj4gLcKgwqDCoCBpZiAocG9y dC0+dWFydGNsayA9PSAyNDAwMDAwMCkgewo+IC3CoMKgwqDCoMKgwqDCoCB2YWwgPSAoKHBvcnQt PnVhcnRjbGsgLyAzKSAvIGJhdWQpIC0gMTsKPiArwqDCoMKgIGlmIChjbGtfaXNfbWF0Y2gocHJp dmF0ZV9kYXRhLT5jbGtfYmF1ZCwgcHJpdmF0ZV9kYXRhLT5jbGtfeHRhbCkpIHsKPiArwqDCoMKg wqDCoMKgwqAgdmFsID0gKChjbGtfZ2V0X3JhdGUocHJpdmF0ZV9kYXRhLT5jbGtfYmF1ZCkgLyAz KSAvIGJhdWQpIC0gMTsKPiAgwqDCoMKgwqDCoMKgwqDCoCB2YWwgfD0gQU1MX1VBUlRfQkFVRF9Y VEFMOwo+ICDCoMKgwqDCoCB9IGVsc2Ugewo+IC3CoMKgwqDCoMKgwqDCoCB2YWwgPSAoKHBvcnQt PnVhcnRjbGsgKiAxMCAvIChiYXVkICogNCkgKyA1KSAvIDEwKSAtIDE7Cj4gK8KgwqDCoMKgwqDC oMKgIHZhbCA9ICgoY2xrX2dldF9yYXRlKHByaXZhdGVfZGF0YS0+Y2xrX2JhdWQpICogMTAgLyAo YmF1ZCAqIDQpIAo+ICsgNSkgLyAxMCkgLSAxOwo+ICDCoMKgwqDCoCB9Cj4gIMKgwqDCoMKgIHZh bCB8PSBBTUxfVUFSVF9CQVVEX1VTRTsKPiAgwqDCoMKgwqAgd3JpdGVsKHZhbCwgcG9ydC0+bWVt YmFzZSArIEFNTF9VQVJUX1JFRzUpOwo+IEBAIC02NjYsMzEgKzY3MywyNiBAQCBzdGF0aWMgaW5s aW5lIHN0cnVjdCBjbGsgCj4gKm1lc29uX3VhcnRfcHJvYmVfY2xvY2soc3RydWN0IGRldmljZSAq ZGV2LAo+ICDCoH0KPiAKPiAgwqBzdGF0aWMgaW50IG1lc29uX3VhcnRfcHJvYmVfY2xvY2tzKHN0 cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IG1lc29uX3VhcnRfZGF0YSAqcHJpdmF0ZV9kYXRhKQo+ ICDCoHsKPiAtwqDCoMKgIHN0cnVjdCBjbGsgKmNsa194dGFsID0gTlVMTDsKPiAtwqDCoMKgIHN0 cnVjdCBjbGsgKmNsa19wY2xrID0gTlVMTDsKPiAtwqDCoMKgIHN0cnVjdCBjbGsgKmNsa19iYXVk ID0gTlVMTDsKPiAtCj4gLcKgwqDCoCBjbGtfcGNsayA9IG1lc29uX3VhcnRfcHJvYmVfY2xvY2so JnBkZXYtPmRldiwgInBjbGsiKTsKPiAtwqDCoMKgIGlmIChJU19FUlIoY2xrX3BjbGspKQo+IC3C oMKgwqDCoMKgwqDCoCByZXR1cm4gUFRSX0VSUihjbGtfcGNsayk7Cj4gK8KgwqDCoCBwcml2YXRl X2RhdGEtPmNsa19wY2xrID0gbWVzb25fdWFydF9wcm9iZV9jbG9jaygmcGRldi0+ZGV2LCAicGNs ayIpOwo+ICvCoMKgwqAgaWYgKElTX0VSUihwcml2YXRlX2RhdGEtPmNsa19wY2xrKSkKPiArwqDC oMKgwqDCoMKgwqAgcmV0dXJuIFBUUl9FUlIocHJpdmF0ZV9kYXRhLT5jbGtfcGNsayk7Cj4gCj4g LcKgwqDCoCBjbGtfeHRhbCA9IG1lc29uX3VhcnRfcHJvYmVfY2xvY2soJnBkZXYtPmRldiwgInh0 YWwiKTsKPiAtwqDCoMKgIGlmIChJU19FUlIoY2xrX3h0YWwpKQo+IC3CoMKgwqDCoMKgwqDCoCBy ZXR1cm4gUFRSX0VSUihjbGtfeHRhbCk7Cj4gK8KgwqDCoCBwcml2YXRlX2RhdGEtPmNsa194dGFs ID0gbWVzb25fdWFydF9wcm9iZV9jbG9jaygmcGRldi0+ZGV2LCAieHRhbCIpOwo+ICvCoMKgwqAg aWYgKElTX0VSUihwcml2YXRlX2RhdGEtPmNsa194dGFsKSkKPiArwqDCoMKgwqDCoMKgwqAgcmV0 dXJuIFBUUl9FUlIocHJpdmF0ZV9kYXRhLT5jbGtfeHRhbCk7Cj4gCj4gLcKgwqDCoCBjbGtfYmF1 ZCA9IG1lc29uX3VhcnRfcHJvYmVfY2xvY2soJnBkZXYtPmRldiwgImJhdWQiKTsKPiAtwqDCoMKg IGlmIChJU19FUlIoY2xrX2JhdWQpKQo+IC3CoMKgwqDCoMKgwqDCoCByZXR1cm4gUFRSX0VSUihj bGtfYmF1ZCk7Cj4gLQo+IC3CoMKgwqAgcG9ydC0+dWFydGNsayA9IGNsa19nZXRfcmF0ZShjbGtf YmF1ZCk7Cj4gK8KgwqDCoCBwcml2YXRlX2RhdGEtPmNsa19iYXVkID0gbWVzb25fdWFydF9wcm9i ZV9jbG9jaygmcGRldi0+ZGV2LCAiYmF1ZCIpOwo+ICvCoMKgwqAgaWYgKElTX0VSUihwcml2YXRl X2RhdGEtPmNsa19iYXVkKSkKPiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIFBUUl9FUlIocHJpdmF0 ZV9kYXRhLT5jbGtfYmF1ZCk7Cj4gCj4gIMKgwqDCoMKgIHJldHVybiAwOwo+ICDCoH0KPiAKPiAg wqBzdGF0aWMgaW50IG1lc29uX3VhcnRfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRl dikKPiAgwqB7Cj4gK8KgwqDCoCBzdHJ1Y3QgbWVzb25fdWFydF9kYXRhICpwcml2YXRlX2RhdGE7 Cj4gIMKgwqDCoMKgIHN0cnVjdCByZXNvdXJjZSAqcmVzX21lbTsKPiAgwqDCoMKgwqAgc3RydWN0 IHVhcnRfcG9ydCAqcG9ydDsKPiAgwqDCoMKgwqAgdTMyIGZpZm9zaXplID0gNjQ7IC8qIERlZmF1 bHQgaXMgNjQsIDEyOCBmb3IgRUUgVUFSVF8wICovCj4gQEAgLTcxNCw2ICs3MTYsMTEgQEAgc3Rh dGljIGludCBtZXNvbl91YXJ0X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgCj4gKnBkZXYp Cj4gIMKgwqDCoMKgIGlmIChwZGV2LT5pZCA8IDAgfHwgcGRldi0+aWQgPj0gQU1MX1VBUlRfUE9S VF9OVU0pCj4gIMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIC1FSU5WQUw7Cj4gCj4gK8KgwqDCoCBw cml2YXRlX2RhdGEgPSBkZXZtX2t6YWxsb2MoJnBkZXYtPmRldiwgc2l6ZW9mKCpwcml2YXRlX2Rh dGEpLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBHRlBfS0VSTkVM KTsKPiArwqDCoMKgIGlmICghcHJpdmF0ZV9kYXRhKQo+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4g LUVOT01FTTsKPiArCj4gIMKgwqDCoMKgIHJlc19tZW0gPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2Uo cGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOwo+ICDCoMKgwqDCoCBpZiAoIXJlc19tZW0pCj4gIMKg wqDCoMKgwqDCoMKgwqAgcmV0dXJuIC1FTk9ERVY7Cj4gQEAgLTczMyw3ICs3NDAsNyBAQCBzdGF0 aWMgaW50IG1lc29uX3VhcnRfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAKPiAqcGRldikK PiAgwqDCoMKgwqAgaWYgKCFwb3J0KQo+ICDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiAtRU5PTUVN Owo+IAo+IC3CoMKgwqAgcmV0ID0gbWVzb25fdWFydF9wcm9iZV9jbG9ja3MocGRldiwgcG9ydCk7 Cj4gK8KgwqDCoCByZXQgPSBtZXNvbl91YXJ0X3Byb2JlX2Nsb2NrcyhwZGV2LCBwcml2YXRlX2Rh dGEpOwo+ICDCoMKgwqDCoCBpZiAocmV0KQo+ICDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiByZXQ7 Cj4gCj4gQEAgLTc0OSw2ICs3NTYsNyBAQCBzdGF0aWMgaW50IG1lc29uX3VhcnRfcHJvYmUoc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAKPiAqcGRldikKPiAgwqDCoMKgwqAgcG9ydC0+eF9jaGFyID0g MDsKPiAgwqDCoMKgwqAgcG9ydC0+b3BzID0gJm1lc29uX3VhcnRfb3BzOwo+ICDCoMKgwqDCoCBw b3J0LT5maWZvc2l6ZSA9IGZpZm9zaXplOwo+ICvCoMKgwqAgcG9ydC0+cHJpdmF0ZV9kYXRhID0g cHJpdmF0ZV9kYXRhOwo+IAo+ICDCoMKgwqDCoCBtZXNvbl9wb3J0c1twZGV2LT5pZF0gPSBwb3J0 Owo+ICDCoMKgwqDCoCBwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBwb3J0KTsKPiA9PT09PT09 PT09PT0+PD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQo+IAo+IE5laWwKPiAKPj4+Pj4KPj4+Pj4+Cj4+Pj4+PiBZdSBUdSAoNik6Cj4+Pj4+PiDCoMKg wqAgdHR5OiBzZXJpYWw6IG1lc29uOiBNb3ZlIHJlcXVlc3QgdGhlIHJlZ2lzdGVyIHJlZ2lvbiB0 byBwcm9iZQo+Pj4+Pj4gwqDCoMKgIHR0eTogc2VyaWFsOiBtZXNvbjogVXNlIGRldm1faW9yZW1h cF9yZXNvdXJjZSB0byBnZXQgcmVnaXN0ZXIgCj4+Pj4+PiBtYXBwZWQKPj4+Pj4+IMKgwqDCoMKg wqAgbWVtb3J5Cj4+Pj4+PiDCoMKgwqAgdHR5OiBzZXJpYWw6IG1lc29uOiBEZXNjcmliZXMgdGhl IGNhbGN1bGF0aW9uIG9mIHRoZSBVQVJUIGJhdWQgCj4+Pj4+PiByYXRlCj4+Pj4+PiDCoMKgwqDC oMKgIGNsb2NrIHVzaW5nIGEgY2xvY2sgZnJhbWUKPj4+Pj4+IMKgwqDCoCB0dHk6IHNlcmlhbDog bWVzb246IE1ha2Ugc29tZSBiaXQgb2YgdGhlIFJFRzUgcmVnaXN0ZXIgd3JpdGFibGUKPj4+Pj4+ IMKgwqDCoCB0dHk6IHNlcmlhbDogbWVzb246IFRoZSBzeXN0ZW0gc3R1Y2sgd2hlbiB5b3UgcnVu IHRoZSBzdHR5IAo+Pj4+Pj4gY29tbWFuZCBvbgo+Pj4+Pj4gwqDCoMKgwqDCoCB0aGUgY29uc29s ZSB0byBjaGFuZ2UgdGhlIGJhdWQgcmF0ZQo+Pj4+Pj4gwqDCoMKgIHR0eTogc2VyaWFsOiBtZXNv bjogQWRkZWQgUzQgU09DIGNvbXBhdGliaWxpdHkKPj4+Pj4+Cj4+Pj4+PiBWNiAtPiBWNzogVG8g c29sdmUgdGhlIHN5c3RlbSBzdHVjayB3aGVuIHlvdSBydW4gdGhlIHN0dHkgY29tbWFuZCBvbgo+ Pj4+Pj4gdGhlIGNvbnNvbGUgdG8gY2hhbmdlIHRoZSBiYXVkIHJhdGUuCj4+Pj4+PiBWNSAtPiBW NjogQ2hhbmdlIGVycm9yIGZvcm1hdCBhcyBkaXNjdXNzZWQgaW4gdGhlIGVtYWlsLgo+Pj4+Pj4g VjQgLT4gVjU6IENoYW5nZSBlcnJvciBmb3JtYXQuCj4+Pj4+PiBWMyAtPiBWNDogQ2hhbmdlIEND RiB0byBkZXNjcmliZSB0aGUgVUFSVCBiYXVkIHJhdGUgY2xvY2sgYXMgCj4+Pj4+PiBkaXNjdXNz ZWQKPj4+Pj4+IGluIHRoZSBlbWFpbC4KPj4+Pj4+IFYyIC0+IFYzOiBhZGQgY29tcGF0aWJsZSA9 ICJhbWxvZ2ljLG1lc29uLWd4LXVhcnQiLiBCZWNhdXNlIGl0IAo+Pj4+Pj4gbXVzdCBjaGFuZ2UK Pj4+Pj4+IHRoZSBEVFMgYmVmb3JlIGl0IGNhbiBiZSBkZWxldGVkCj4+Pj4+PiBWMSAtPiBWMjog VXNlIENDRiB0byBkZXNjcmliZSB0aGUgVUFSVCBiYXVkIHJhdGUgY2xvY2suTWFrZSBzb21lIAo+ Pj4+Pj4gY2hhbmdlcyBhcwo+Pj4+Pj4gZGlzY3Vzc2VkIGluIHRoZSBlbWFpbAo+Pj4+Pj4KPj4+ Pj4+IExpbms6aHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGludXgtYW1sb2dpYy8yMDIyMDExODAz MDkxMS4xMjgxNS00LXl1LnR1QGFtbG9naWMuY29tLyAKPj4+Pj4+Cj4+Pj4+Pgo+Pj4+Pj4gwqDC oCBkcml2ZXJzL3R0eS9zZXJpYWwvbWVzb25fdWFydC5jIHwgMjIxIAo+Pj4+Pj4gKysrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0KPj4+Pj4+IMKgwqAgMSBmaWxlIGNoYW5nZWQsIDE1NCBp bnNlcnRpb25zKCspLCA2NyBkZWxldGlvbnMoLSkKPj4+Pj4+Cj4+Pj4+Pgo+Pj4+Pj4gYmFzZS1j b21taXQ6IGE2MDNjYTYwY2ViZmY4NTg5ODgyNDI3YTY3Zjg3MGVkOTQ2YjNmYzgKPj4+Pj4KPj4+ Cj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51 eC1hbWxvZ2ljIG1haWxpbmcgbGlzdApsaW51eC1hbWxvZ2ljQGxpc3RzLmluZnJhZGVhZC5vcmcK aHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hbWxvZ2lj Cg==