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 042D0C77B61 for ; Wed, 26 Apr 2023 00:45: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=tcGj39Z9/DAvC/5vYDAtIXxNsrR7F0W3D1hBNBZIqkg=; b=G9/Tr+1HmzU1QJ PYW1xW/FZLqZOejQ1PNdnr+Udaf7u/D4o22/hCMLMzxVNkddlXCrCuNLNsSWqAs/tDpG75y9fPCem 1eh/EYYwNw7pqfdjq9v3HBuiYZu+XKzDEI9e5MS+Egz4vNq7GEqysYHitDnH19VwRzGZQ+tGJTatY qSTZapgbUNCmxsaIhEfNpVSI0NHsQ0dEtUaYQig2kOvdG3G8RHyIXKl0225EicUTZp2otx7kZ/do3 76wE5y59H0GmWyuaJVQlW1LrwJcOgWjD4e1S7YL5gdf6yLlPOGORGFXtNGxHMmmJnE87E3uDM0gkA qsr7QHdoK8fg7FmnbMVg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1prTH0-002VHg-1d; Wed, 26 Apr 2023 00:44:42 +0000 Received: from mail-pj1-x1030.google.com ([2607:f8b0:4864:20::1030]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1prTGw-002VH4-2p for linux-arm-kernel@lists.infradead.org; Wed, 26 Apr 2023 00:44:40 +0000 Received: by mail-pj1-x1030.google.com with SMTP id 98e67ed59e1d1-246fd87a124so5662815a91.0 for ; Tue, 25 Apr 2023 17:44:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682469875; x=1685061875; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=I+4QvDayfNaOkD3sFqsZ1dM2RwYH0gPulv2tNxJkrS0=; b=nFlahXmN/NXU1UZF/h2QP0NzwKL1TqGHnysx+PEAyFACxR4LD+NoQUpysp+6AAaVn8 MwMJIhj1kZ+VeEyhB+Ex7JXjGSUaG+uhCi8XlQxWz2XyfXHzptlAtS5yIA6jIKu9HRkx 8o7RhPMJ2EBuin5R4cYbfcLplfojsUwDz0GYcUdW2DWPoij9J9Onm0xLk13p0iWLLUe8 0pDmUCYKRhs54ChL+oUUAxCBl8D/t/iDAbK7piUTphXS1qpa0SUyJBUVOO2XN6Cp4M5z ngF39k8ay4mlTWcn4jII8sD4g0ak6Kh+kqvEcaLTSIX8Rt8DsXHJAwbBTIWhjb5MJeJl OM8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682469875; x=1685061875; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=I+4QvDayfNaOkD3sFqsZ1dM2RwYH0gPulv2tNxJkrS0=; b=haoS+bH7AwIuxuvb9q33nTFy8+NBjhNSId6JShdTDwhv30KRGj2/YafImroBDaKYl6 ysk42iG7uYp5PjSN1E9EmOBSLk6197PtqZixqLcmXdPeT2fZvNcw7JhP+YEr2x8zWFtU DS3UHvUjR9vBmI34/GWmSxQPkJWqAzGwle4Qyo5yC/eS3oy1VdaRKlkOZTmK78YvT4WX CvFsOg5mOvM9cLXfMBzbY6Z0MZSeL2DClxKfoe7EMo67BNip1uyk8ws6iCVuczfZcMNA RTKubsvhJrxEEE1Umk8gVwa2R8eGZyILhVGqirzK5o4k34tzjCnPgtfLxElPRVC/lSVJ pDpg== X-Gm-Message-State: AAQBX9c9wkoID/8GjaPAUc+491Mp3SaUJnCzlbwyHrz7UQQSwoqjP+5a UyMjtZKKng9SLZEHUzAgREM= X-Google-Smtp-Source: AKy350YyvRSop5gTPTlDvApwnuJHmC9iUIiI3QMKLjai8V1h3OEFKoUAWxSGPdfcJIAklUC9xgALug== X-Received: by 2002:a17:90a:c388:b0:247:2ff9:1cff with SMTP id h8-20020a17090ac38800b002472ff91cffmr17914712pjt.25.1682469874872; Tue, 25 Apr 2023 17:44:34 -0700 (PDT) Received: from [172.19.1.47] (60-250-192-107.hinet-ip.hinet.net. [60.250.192.107]) by smtp.gmail.com with ESMTPSA id gq3-20020a17090b104300b0024b4a06a4fesm8233472pjb.5.2023.04.25.17.44.30 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 25 Apr 2023 17:44:34 -0700 (PDT) Message-ID: <484708c4-1b6f-c749-a316-a434303ce75e@gmail.com> Date: Wed, 26 Apr 2023 08:44:29 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Subject: Re: [PATCH v8 09/11] reset: Add Nuvoton ma35d1 reset driver support Content-Language: en-US To: =?UTF-8?Q?Ilpo_J=c3=a4rvinen?= Cc: robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, lee@kernel.org, mturquette@baylibre.com, sboyd@kernel.org, p.zabel@pengutronix.de, Greg Kroah-Hartman , Jiri Slaby , tmaimon77@gmail.com, catalin.marinas@arm.com, will@kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, LKML , linux-arm-kernel@lists.infradead.org, linux-serial , arnd@arndb.de, schung@nuvoton.com, mjchen@nuvoton.com, Jacky Huang References: <20230425102418.185783-1-ychuang570808@gmail.com> <20230425102418.185783-10-ychuang570808@gmail.com> <17afcef9-39ff-ef25-6c24-38726b30cf90@linux.intel.com> From: Jacky Huang In-Reply-To: <17afcef9-39ff-ef25-6c24-38726b30cf90@linux.intel.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230425_174438_937195_940B6058 X-CRM114-Status: GOOD ( 23.83 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org CkRlYXIgSWxwbywKCgpUaGFuayB5b3UgZm9yIHRoZSBhZHZpY2UuCgoKT24gMjAyMy80LzI1IOS4 i+WNiCAwNjo1NywgSWxwbyBKw6RydmluZW4gd3JvdGU6Cj4gT24gVHVlLCAyNSBBcHIgMjAyMywg SmFja3kgSHVhbmcgd3JvdGU6Cj4KPj4gRnJvbTogSmFja3kgSHVhbmcgPHljaHVhbmczQG51dm90 b24uY29tPgo+Pgo+PiBUaGlzIGRyaXZlciBzdXBwb3J0cyBpbmRpdmlkdWFsIElQIHJlc2V0IGZv ciBtYTM1ZDEuIFRoZSByZXNldAo+PiBjb250cm9sIHJlZ2lzdGVycyBpcyBhIHN1YnNldCBvZiBz eXN0ZW0gY29udHJvbCByZWdpc3RlcnMuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IEphY2t5IEh1YW5n IDx5Y2h1YW5nM0BudXZvdG9uLmNvbT4KPj4gLS0tCj4+ICAgZHJpdmVycy9yZXNldC9LY29uZmln ICAgICAgICB8ICAgNiArCj4+ICAgZHJpdmVycy9yZXNldC9NYWtlZmlsZSAgICAgICB8ICAgMSAr Cj4+ICAgZHJpdmVycy9yZXNldC9yZXNldC1tYTM1ZDEuYyB8IDIyOSArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKwo+PiAgIDMgZmlsZXMgY2hhbmdlZCwgMjM2IGluc2VydGlvbnMo KykKPj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9yZXNldC9yZXNldC1tYTM1ZDEuYwo+ Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9yZXNldC9LY29uZmlnIGIvZHJpdmVycy9yZXNldC9L Y29uZmlnCj4+IGluZGV4IDJhNTJjOTkwZDRmZS4uNTg0NzdjNmNhOWI4IDEwMDY0NAo+PiAtLS0g YS9kcml2ZXJzL3Jlc2V0L0tjb25maWcKPj4gKysrIGIvZHJpdmVycy9yZXNldC9LY29uZmlnCj4+ IEBAIC0xNDMsNiArMTQzLDEyIEBAIGNvbmZpZyBSRVNFVF9OUENNCj4+ICAgCSAgVGhpcyBlbmFi bGVzIHRoZSByZXNldCBjb250cm9sbGVyIGRyaXZlciBmb3IgTnV2b3RvbiBOUENNCj4+ICAgCSAg Qk1DIFNvQ3MuCj4+ICAgCj4+ICtjb25maWcgUkVTRVRfTlVWT1RPTl9NQTM1RDEKPj4gKwlib29s ICJOdXZ0b24gTUEzNUQxIFJlc2V0IERyaXZlciIKPj4gKwlkZWZhdWx0IEFSQ0hfTlVWT1RPTiB8 fCBDT01QSUxFX1RFU1QKPj4gKwloZWxwCj4+ICsJICBUaGlzIGVuYWJsZXMgdGhlIHJlc2V0IGNv bnRyb2xsZXIgZHJpdmVyIGZvciBOdXZvdG9uIE1BMzVEMSBTb0MuCj4+ICsKPj4gICBjb25maWcg UkVTRVRfT1hOQVMKPj4gICAJYm9vbAo+PiAgIAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9yZXNl dC9NYWtlZmlsZSBiL2RyaXZlcnMvcmVzZXQvTWFrZWZpbGUKPj4gaW5kZXggM2U3ZTVmZDYzM2E4 Li5mZDUyZGNmNjZhOTkgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvcmVzZXQvTWFrZWZpbGUKPj4g KysrIGIvZHJpdmVycy9yZXNldC9NYWtlZmlsZQo+PiBAQCAtMjAsNiArMjAsNyBAQCBvYmotJChD T05GSUdfUkVTRVRfTUNIUF9TUEFSWDUpICs9IHJlc2V0LW1pY3JvY2hpcC1zcGFyeDUubwo+PiAg IG9iai0kKENPTkZJR19SRVNFVF9NRVNPTikgKz0gcmVzZXQtbWVzb24ubwo+PiAgIG9iai0kKENP TkZJR19SRVNFVF9NRVNPTl9BVURJT19BUkIpICs9IHJlc2V0LW1lc29uLWF1ZGlvLWFyYi5vCj4+ ICAgb2JqLSQoQ09ORklHX1JFU0VUX05QQ00pICs9IHJlc2V0LW5wY20ubwo+PiArb2JqLSQoQ09O RklHX1JFU0VUX05VVk9UT05fTUEzNUQxKSArPSByZXNldC1tYTM1ZDEubwo+PiAgIG9iai0kKENP TkZJR19SRVNFVF9PWE5BUykgKz0gcmVzZXQtb3huYXMubwo+PiAgIG9iai0kKENPTkZJR19SRVNF VF9QSVNUQUNISU8pICs9IHJlc2V0LXBpc3RhY2hpby5vCj4+ICAgb2JqLSQoQ09ORklHX1JFU0VU X1BPTEFSRklSRV9TT0MpICs9IHJlc2V0LW1wZnMubwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9y ZXNldC9yZXNldC1tYTM1ZDEuYyBiL2RyaXZlcnMvcmVzZXQvcmVzZXQtbWEzNWQxLmMKPj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5kZXggMDAwMDAwMDAwMDAwLi42NDhiMzgwYmVjZjcKPj4g LS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL3Jlc2V0L3Jlc2V0LW1hMzVkMS5jCj4+IEBA IC0wLDAgKzEsMjI5IEBACj4+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1v bmx5Cj4+ICsvKgo+PiArICogQ29weXJpZ2h0IChDKSAyMDIzIE51dm90b24gVGVjaG5vbG9neSBD b3JwLgo+PiArICogQXV0aG9yOiBDaGktRmFuZyBMaSA8Y2ZsaTBAbnV2b3Rvbi5jb20+Cj4+ICsg Ki8KPj4gKwo+PiArI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgo+PiArI2luY2x1ZGUgPGxpbnV4 L2lvLmg+Cj4+ICsjaW5jbHVkZSA8bGludXgvb2YuaD4KPj4gKyNpbmNsdWRlIDxsaW51eC9wbGF0 Zm9ybV9kZXZpY2UuaD4KPj4gKyNpbmNsdWRlIDxsaW51eC9yZWJvb3QuaD4KPj4gKyNpbmNsdWRl IDxsaW51eC9yZXNldC1jb250cm9sbGVyLmg+Cj4+ICsjaW5jbHVkZSA8ZHQtYmluZGluZ3MvcmVz ZXQvbnV2b3RvbixtYTM1ZDEtcmVzZXQuaD4KPj4gKwo+PiArc3RydWN0IG1hMzVkMV9yZXNldF9k YXRhIHsKPj4gKwlzdHJ1Y3QgcmVzZXRfY29udHJvbGxlcl9kZXYgcmNkZXY7Cj4+ICsJc3RydWN0 IG5vdGlmaWVyX2Jsb2NrIHJlc3RhcnRfaGFuZGxlcjsKPj4gKwl2b2lkIF9faW9tZW0gKmJhc2U7 Cj4+ICt9Owo+PiArCj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHsKPj4gKwl1MzIgcmVnX29mczsK Pj4gKwl1MzIgYml0Owo+PiArfSBtYTM1ZDFfcmVzZXRfbWFwW10gPSB7Cj4+ICsJW01BMzVEMV9S RVNFVF9DSElQXSA9ICAgIHsweDIwLCAwfSwKPj4gKwlbTUEzNUQxX1JFU0VUX0NBMzVDUjBdID0g ezB4MjAsIDF9LAo+PiArCVtNQTM1RDFfUkVTRVRfQ0EzNUNSMV0gPSB7MHgyMCwgMn0sCj4+ICsJ W01BMzVEMV9SRVNFVF9DTTRdID0gICAgIHsweDIwLCAzfSwKPj4gKwlbTUEzNUQxX1JFU0VUX1BE TUEwXSA9ICAgezB4MjAsIDR9LAo+PiArCVtNQTM1RDFfUkVTRVRfUERNQTFdID0gICB7MHgyMCwg NX0sCj4+ICsJW01BMzVEMV9SRVNFVF9QRE1BMl0gPSAgIHsweDIwLCA2fSwKPj4gKwlbTUEzNUQx X1JFU0VUX1BETUEzXSA9ICAgezB4MjAsIDd9LAo+PiArCVtNQTM1RDFfUkVTRVRfRElTUF0gPSAg ICB7MHgyMCwgOX0sCj4+ICsJW01BMzVEMV9SRVNFVF9WQ0FQMF0gPSAgIHsweDIwLCAxMH0sCj4+ ICsJW01BMzVEMV9SRVNFVF9WQ0FQMV0gPSAgIHsweDIwLCAxMX0sCj4+ICsJW01BMzVEMV9SRVNF VF9HRlhdID0gICAgIHsweDIwLCAxMn0sCj4+ICsJW01BMzVEMV9SRVNFVF9WREVDXSA9ICAgIHsw eDIwLCAxM30sCj4+ICsJW01BMzVEMV9SRVNFVF9XSEMwXSA9ICAgIHsweDIwLCAxNH0sCj4+ICsJ W01BMzVEMV9SRVNFVF9XSEMxXSA9ICAgIHsweDIwLCAxNX0sCj4+ICsJW01BMzVEMV9SRVNFVF9H TUFDMF0gPSAgIHsweDIwLCAxNn0sCj4+ICsJW01BMzVEMV9SRVNFVF9HTUFDMV0gPSAgIHsweDIw LCAxN30sCj4+ICsJW01BMzVEMV9SRVNFVF9IV1NFTV0gPSAgIHsweDIwLCAxOH0sCj4+ICsJW01B MzVEMV9SRVNFVF9FQkldID0gICAgIHsweDIwLCAxOX0sCj4+ICsJW01BMzVEMV9SRVNFVF9IU1VT QkgwXSA9IHsweDIwLCAyMH0sCj4+ICsJW01BMzVEMV9SRVNFVF9IU1VTQkgxXSA9IHsweDIwLCAy MX0sCj4+ICsJW01BMzVEMV9SRVNFVF9IU1VTQkRdID0gIHsweDIwLCAyMn0sCj4+ICsJW01BMzVE MV9SRVNFVF9VU0JITF0gPSAgIHsweDIwLCAyM30sCj4+ICsJW01BMzVEMV9SRVNFVF9TREgwXSA9 ICAgIHsweDIwLCAyNH0sCj4+ICsJW01BMzVEMV9SRVNFVF9TREgxXSA9ICAgIHsweDIwLCAyNX0s Cj4+ICsJW01BMzVEMV9SRVNFVF9OQU5EXSA9ICAgIHsweDIwLCAyNn0sCj4+ICsJW01BMzVEMV9S RVNFVF9HUElPXSA9ICAgIHsweDIwLCAyN30sCj4+ICsJW01BMzVEMV9SRVNFVF9NQ1RMUF0gPSAg IHsweDIwLCAyOH0sCj4+ICsJW01BMzVEMV9SRVNFVF9NQ1RMQ10gPSAgIHsweDIwLCAyOX0sCj4+ ICsJW01BMzVEMV9SRVNFVF9ERFJQVUJdID0gIHsweDIwLCAzMH0sCj4+ICsJW01BMzVEMV9SRVNF VF9UTVIwXSA9ICAgIHsweDI0LCAyfSwKPj4gKwlbTUEzNUQxX1JFU0VUX1RNUjFdID0gICAgezB4 MjQsIDN9LAo+PiArCVtNQTM1RDFfUkVTRVRfVE1SMl0gPSAgICB7MHgyNCwgNH0sCj4+ICsJW01B MzVEMV9SRVNFVF9UTVIzXSA9ICAgIHsweDI0LCA1fSwKPj4gKwlbTUEzNUQxX1JFU0VUX0kyQzBd ID0gICAgezB4MjQsIDh9LAo+PiArCVtNQTM1RDFfUkVTRVRfSTJDMV0gPSAgICB7MHgyNCwgOX0s Cj4+ICsJW01BMzVEMV9SRVNFVF9JMkMyXSA9ICAgIHsweDI0LCAxMH0sCj4+ICsJW01BMzVEMV9S RVNFVF9JMkMzXSA9ICAgIHsweDI0LCAxMX0sCj4+ICsJW01BMzVEMV9SRVNFVF9RU1BJMF0gPSAg IHsweDI0LCAxMn0sCj4+ICsJW01BMzVEMV9SRVNFVF9TUEkwXSA9ICAgIHsweDI0LCAxM30sCj4+ ICsJW01BMzVEMV9SRVNFVF9TUEkxXSA9ICAgIHsweDI0LCAxNH0sCj4+ICsJW01BMzVEMV9SRVNF VF9TUEkyXSA9ICAgIHsweDI0LCAxNX0sCj4+ICsJW01BMzVEMV9SRVNFVF9VQVJUMF0gPSAgIHsw eDI0LCAxNn0sCj4+ICsJW01BMzVEMV9SRVNFVF9VQVJUMV0gPSAgIHsweDI0LCAxN30sCj4+ICsJ W01BMzVEMV9SRVNFVF9VQVJUMl0gPSAgIHsweDI0LCAxOH0sCj4+ICsJW01BMzVEMV9SRVNFVF9V QVJUM10gPSAgIHsweDI0LCAxOX0sCj4+ICsJW01BMzVEMV9SRVNFVF9VQVJUNF0gPSAgIHsweDI0 LCAyMH0sCj4+ICsJW01BMzVEMV9SRVNFVF9VQVJUNV0gPSAgIHsweDI0LCAyMX0sCj4+ICsJW01B MzVEMV9SRVNFVF9VQVJUNl0gPSAgIHsweDI0LCAyMn0sCj4+ICsJW01BMzVEMV9SRVNFVF9VQVJU N10gPSAgIHsweDI0LCAyM30sCj4+ICsJW01BMzVEMV9SRVNFVF9DQU5GRDBdID0gIHsweDI0LCAy NH0sCj4+ICsJW01BMzVEMV9SRVNFVF9DQU5GRDFdID0gIHsweDI0LCAyNX0sCj4+ICsJW01BMzVE MV9SRVNFVF9FQURDMF0gPSAgIHsweDI0LCAyOH0sCj4+ICsJW01BMzVEMV9SRVNFVF9JMlMwXSA9 ICAgIHsweDI0LCAyOX0sCj4+ICsJW01BMzVEMV9SRVNFVF9TQzBdID0gICAgIHsweDI4LCAwfSwK Pj4gKwlbTUEzNUQxX1JFU0VUX1NDMV0gPSAgICAgezB4MjgsIDF9LAo+PiArCVtNQTM1RDFfUkVT RVRfUVNQSTFdID0gICB7MHgyOCwgNH0sCj4+ICsJW01BMzVEMV9SRVNFVF9TUEkzXSA9ICAgIHsw eDI4LCA2fSwKPj4gKwlbTUEzNUQxX1JFU0VUX0VQV00wXSA9ICAgezB4MjgsIDE2fSwKPj4gKwlb TUEzNUQxX1JFU0VUX0VQV00xXSA9ICAgezB4MjgsIDE3fSwKPj4gKwlbTUEzNUQxX1JFU0VUX1FF STBdID0gICAgezB4MjgsIDIyfSwKPj4gKwlbTUEzNUQxX1JFU0VUX1FFSTFdID0gICAgezB4Mjgs IDIzfSwKPj4gKwlbTUEzNUQxX1JFU0VUX0VDQVAwXSA9ICAgezB4MjgsIDI2fSwKPj4gKwlbTUEz NUQxX1JFU0VUX0VDQVAxXSA9ICAgezB4MjgsIDI3fSwKPj4gKwlbTUEzNUQxX1JFU0VUX0NBTkZE Ml0gPSAgezB4MjgsIDI4fSwKPj4gKwlbTUEzNUQxX1JFU0VUX0FEQzBdID0gICAgezB4MjgsIDMx fSwKPj4gKwlbTUEzNUQxX1JFU0VUX1RNUjRdID0gICAgezB4MkMsIDB9LAo+PiArCVtNQTM1RDFf UkVTRVRfVE1SNV0gPSAgICB7MHgyQywgMX0sCj4+ICsJW01BMzVEMV9SRVNFVF9UTVI2XSA9ICAg IHsweDJDLCAyfSwKPj4gKwlbTUEzNUQxX1JFU0VUX1RNUjddID0gICAgezB4MkMsIDN9LAo+PiAr CVtNQTM1RDFfUkVTRVRfVE1SOF0gPSAgICB7MHgyQywgNH0sCj4+ICsJW01BMzVEMV9SRVNFVF9U TVI5XSA9ICAgIHsweDJDLCA1fSwKPj4gKwlbTUEzNUQxX1JFU0VUX1RNUjEwXSA9ICAgezB4MkMs IDZ9LAo+PiArCVtNQTM1RDFfUkVTRVRfVE1SMTFdID0gICB7MHgyQywgN30sCj4+ICsJW01BMzVE MV9SRVNFVF9VQVJUOF0gPSAgIHsweDJDLCA4fSwKPj4gKwlbTUEzNUQxX1JFU0VUX1VBUlQ5XSA9 ICAgezB4MkMsIDl9LAo+PiArCVtNQTM1RDFfUkVTRVRfVUFSVDEwXSA9ICB7MHgyQywgMTB9LAo+ PiArCVtNQTM1RDFfUkVTRVRfVUFSVDExXSA9ICB7MHgyQywgMTF9LAo+PiArCVtNQTM1RDFfUkVT RVRfVUFSVDEyXSA9ICB7MHgyQywgMTJ9LAo+PiArCVtNQTM1RDFfUkVTRVRfVUFSVDEzXSA9ICB7 MHgyQywgMTN9LAo+PiArCVtNQTM1RDFfUkVTRVRfVUFSVDE0XSA9ICB7MHgyQywgMTR9LAo+PiAr CVtNQTM1RDFfUkVTRVRfVUFSVDE1XSA9ICB7MHgyQywgMTV9LAo+PiArCVtNQTM1RDFfUkVTRVRf VUFSVDE2XSA9ICB7MHgyQywgMTZ9LAo+PiArCVtNQTM1RDFfUkVTRVRfSTJTMV0gPSAgICB7MHgy QywgMTd9LAo+PiArCVtNQTM1RDFfUkVTRVRfSTJDNF0gPSAgICB7MHgyQywgMTh9LAo+PiArCVtN QTM1RDFfUkVTRVRfSTJDNV0gPSAgICB7MHgyQywgMTl9LAo+PiArCVtNQTM1RDFfUkVTRVRfRVBX TTJdID0gICB7MHgyQywgMjB9LAo+PiArCVtNQTM1RDFfUkVTRVRfRUNBUDJdID0gICB7MHgyQywg MjF9LAo+PiArCVtNQTM1RDFfUkVTRVRfUUVJMl0gPSAgICB7MHgyQywgMjJ9LAo+PiArCVtNQTM1 RDFfUkVTRVRfQ0FORkQzXSA9ICB7MHgyQywgMjN9LAo+PiArCVtNQTM1RDFfUkVTRVRfS1BJXSA9 ICAgICB7MHgyQywgMjR9LAo+PiArCVtNQTM1RDFfUkVTRVRfR0lDXSA9ICAgICB7MHgyQywgMjh9 LAo+PiArCVtNQTM1RDFfUkVTRVRfU1NNQ0NdID0gICB7MHgyQywgMzB9LAo+PiArCVtNQTM1RDFf UkVTRVRfU1NQQ0NdID0gICB7MHgyQywgMzF9Cj4+ICt9Owo+PiArCj4+ICtzdGF0aWMgaW50IG1h MzVkMV9yZXN0YXJ0X2hhbmRsZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICp0aGlzLAo+PiArCQkJ CSAgdW5zaWduZWQgbG9uZyBtb2RlLCB2b2lkICpjbWQpCj4+ICt7Cj4+ICsJdTMyIGlkID0gTUEz NUQxX1JFU0VUX0NISVA7Cj4+ICsJc3RydWN0IG1hMzVkMV9yZXNldF9kYXRhICpkYXRhID0gY29u dGFpbmVyX29mKHRoaXMsCj4+ICsJCQkJCQkgICAgICBzdHJ1Y3QgbWEzNWQxX3Jlc2V0X2RhdGEs Cj4+ICsJCQkJCQkgICAgICByZXN0YXJ0X2hhbmRsZXIpOwo+IFJldmVyc2UgeG1hcyB0cmVlIG9y ZGVyLgo+Cj4gVHJ5IHRvIGZpdCBkZWNsYXJhdGlvbnMgd2l0aCBjb250YWluZXJfb2YoKSB0byBz aW5nbGUgbGluZSwgaWYgdGhleSBmaXQgPD0KPiAxMDAgY2hhcnMsIGF2b2lkIHRoZSBsaW5lIHNw bGl0cy4KPgo+IE1pc3NpbmcgI2luY2x1ZGUgZm9yIGNvbnRhaW5lcl9vZigpLgoKSXQncyA5NSBj aGFyYWN0ZXJzLCBJIHdpbGwgbWFrZSBpdCBpbiBvbmUgbGluZS4KQW5kIEkgd2lsbCBhZGQgI2lu Y2x1ZGUgPGxpbnV4L2NvbnRhaW5lcl9vZi5oPiBoZWFkZXIuCgo+PiArCj4+ICsJd3JpdGVsX3Jl bGF4ZWQoQklUKG1hMzVkMV9yZXNldF9tYXBbaWRdLmJpdCksCj4gTWlzc2luZyAjaW5jbHVkZSBm b3IgQklUKCkuCgpJIHdpbGwgYWRkICNpbmNsdWRlIDxsaW51eC9iaXRzLmg+LgoKPgo+PiArCQkg ICAgICAgZGF0YS0+YmFzZSArIG1hMzVkMV9yZXNldF9tYXBbaWRdLnJlZ19vZnMpOwo+PiArCXJl dHVybiAwOwo+PiArfQo+PiArCj4+ICtzdGF0aWMgaW50IG1hMzVkMV9yZXNldF91cGRhdGUoc3Ry dWN0IHJlc2V0X2NvbnRyb2xsZXJfZGV2ICpyY2RldiwKPj4gKwkJCSAgICAgICB1bnNpZ25lZCBs b25nIGlkLCBib29sIGFzc2VydCkKPj4gK3sKPj4gKwl1MzIgcmVnOwo+PiArCXN0cnVjdCBtYTM1 ZDFfcmVzZXRfZGF0YSAqZGF0YSA9IGNvbnRhaW5lcl9vZihyY2RldiwKPj4gKwkJCQkJCSAgICAg IHN0cnVjdCBtYTM1ZDFfcmVzZXRfZGF0YSwKPj4gKwkJCQkJCSAgICAgIHJjZGV2KTsKPiBSZXZl cnNlIHhtYXMgdHJlZS4KPgo+IEFkZCBhbiBhcnJheSBzaXplIHRyYXAgdG8gZGV0ZWN0IHBvdGVu dGlhbCBpZCBidWdzOgo+IAlpZiAoV0FSTl9PTl9PTkNFKGlkID49IEFSUkFZX1NJWkUobWEzNWQx X3Jlc2V0X21hcCkpKQo+IAkJcmV0dXJuIC1FSU5WQUw7CgpPa2F5LCBJIHdpbGwgYWRkIHRoaXMg Y2hlY2suCgo+PiArCXJlZyA9IHJlYWRsX3JlbGF4ZWQoZGF0YS0+YmFzZSArIG1hMzVkMV9yZXNl dF9tYXBbaWRdLnJlZ19vZnMpOwo+PiArCWlmIChhc3NlcnQpCj4+ICsJCXJlZyB8PSBCSVQobWEz NWQxX3Jlc2V0X21hcFtpZF0uYml0KTsKPj4gKwllbHNlCj4+ICsJCXJlZyAmPSB+KEJJVChtYTM1 ZDFfcmVzZXRfbWFwW2lkXS5iaXQpKTsKPj4gKwl3cml0ZWxfcmVsYXhlZChyZWcsIGRhdGEtPmJh c2UgKyBtYTM1ZDFfcmVzZXRfbWFwW2lkXS5yZWdfb2ZzKTsKPj4gKwo+PiArCXJldHVybiAwOwo+ PiArfQo+PiArCj4+ICtzdGF0aWMgaW50IG1hMzVkMV9yZXNldF9hc3NlcnQoc3RydWN0IHJlc2V0 X2NvbnRyb2xsZXJfZGV2ICpyY2RldiwKPj4gKwkJCSAgICAgICB1bnNpZ25lZCBsb25nIGlkKQo+ PiArewo+PiArCXJldHVybiBtYTM1ZDFfcmVzZXRfdXBkYXRlKHJjZGV2LCBpZCwgdHJ1ZSk7Cj4+ ICt9Cj4+ICsKPj4gK3N0YXRpYyBpbnQgbWEzNWQxX3Jlc2V0X2RlYXNzZXJ0KHN0cnVjdCByZXNl dF9jb250cm9sbGVyX2RldiAqcmNkZXYsCj4+ICsJCQkJIHVuc2lnbmVkIGxvbmcgaWQpCj4+ICt7 Cj4+ICsJcmV0dXJuIG1hMzVkMV9yZXNldF91cGRhdGUocmNkZXYsIGlkLCBmYWxzZSk7Cj4+ICt9 Cj4+ICsKPj4gK3N0YXRpYyBpbnQgbWEzNWQxX3Jlc2V0X3N0YXR1cyhzdHJ1Y3QgcmVzZXRfY29u dHJvbGxlcl9kZXYgKnJjZGV2LAo+PiArCQkJICAgICAgIHVuc2lnbmVkIGxvbmcgaWQpCj4+ICt7 Cj4+ICsJdTMyIHJlZzsKPj4gKwlzdHJ1Y3QgbWEzNWQxX3Jlc2V0X2RhdGEgKmRhdGEgPSBjb250 YWluZXJfb2YocmNkZXYsCj4+ICsJCQkJCQkgICAgICBzdHJ1Y3QgbWEzNWQxX3Jlc2V0X2RhdGEs Cj4+ICsJCQkJCQkgICAgICByY2Rldik7Cj4gUmV2ZXJzZSB4bWFzIHRyZWUuCj4KPiBBZGQgQVJS QVlfU0laRSB0cmFwIGhlcmUgdG9vLgoKSSB3aWxsIGFkZCBpdC4KCj4+ICsJcmVnID0gcmVhZGxf cmVsYXhlZChkYXRhLT5iYXNlICsgbWEzNWQxX3Jlc2V0X21hcFtpZF0ucmVnX29mcyk7Cj4+ICsJ cmV0dXJuICEhKHJlZyAmIEJJVChtYTM1ZDFfcmVzZXRfbWFwW2lkXS5iaXQpKTsKPj4gK30KPj4g Kwo+PiArc3RhdGljIGNvbnN0IHN0cnVjdCByZXNldF9jb250cm9sX29wcyBtYTM1ZDFfcmVzZXRf b3BzID0gewo+PiArCS5hc3NlcnQgPSBtYTM1ZDFfcmVzZXRfYXNzZXJ0LAo+PiArCS5kZWFzc2Vy dCA9IG1hMzVkMV9yZXNldF9kZWFzc2VydCwKPj4gKwkuc3RhdHVzID0gbWEzNWQxX3Jlc2V0X3N0 YXR1cywKPj4gK307Cj4+ICsKPj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG1h MzVkMV9yZXNldF9kdF9pZHNbXSA9IHsKPj4gKwl7IC5jb21wYXRpYmxlID0gIm51dm90b24sbWEz NWQxLXJlc2V0IiB9LAo+PiArCXsgfSwKPj4gK307Cj4+ICsKPj4gK3N0YXRpYyBpbnQgbWEzNWQx X3Jlc2V0X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4+ICt7Cj4+ICsJaW50 IGVycjsKPj4gKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmcGRldi0+ZGV2Owo+PiArCXN0cnVjdCBy ZXNvdXJjZSAqcmVzID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVN LCAwKTsKPj4gKwlzdHJ1Y3QgbWEzNWQxX3Jlc2V0X2RhdGEgKnJlc2V0X2RhdGE7Cj4gUmV2ZXJz ZSB4bWFzIHRyZWUgb3JkZXIuCgpPa2F5LCBJIHdpbGwgbW9kaWZ5IHRoZSBvcmRlci4KCj4KPj4g Kwo+PiArCWlmICghcGRldi0+ZGV2Lm9mX25vZGUpIHsKPj4gKwkJZGV2X2VycigmcGRldi0+ZGV2 LCAiRGV2aWNlIHRyZWUgbm9kZSBub3QgZm91bmRcbiIpOwo+PiArCQlyZXR1cm4gLUVJTlZBTDsK Pj4gKwl9Cj4+ICsKPj4gKwlyZXNldF9kYXRhID0gZGV2bV9remFsbG9jKGRldiwgc2l6ZW9mKCpy ZXNldF9kYXRhKSwgR0ZQX0tFUk5FTCk7Cj4+ICsJaWYgKCFyZXNldF9kYXRhKQo+PiArCQlyZXR1 cm4gLUVOT01FTTsKPj4gKwo+PiArCXJlc2V0X2RhdGEtPmJhc2UgPSBkZXZtX2lvcmVtYXBfcmVz b3VyY2UoJnBkZXYtPmRldiwgcmVzKTsKPj4gKwlpZiAoSVNfRVJSKHJlc2V0X2RhdGEtPmJhc2Up KQo+IE1pc3NpbmcgaW5jbHVkZSBmb3IgSVNfRVJSKCkKCkkgd2lsbCBhZGQgI2luY2x1ZGUgPGxp bnV4L2Vyci5oPi4KCj4+ICsJCXJldHVybiBQVFJfRVJSKHJlc2V0X2RhdGEtPmJhc2UpOwo+PiAr Cj4+ICsJcmVzZXRfZGF0YS0+cmNkZXYub3duZXIgPSBUSElTX01PRFVMRTsKPj4gKwlyZXNldF9k YXRhLT5yY2Rldi5ucl9yZXNldHMgPSBNQTM1RDFfUkVTRVRfQ09VTlQ7Cj4+ICsJcmVzZXRfZGF0 YS0+cmNkZXYub3BzID0gJm1hMzVkMV9yZXNldF9vcHM7Cj4+ICsJcmVzZXRfZGF0YS0+cmNkZXYu b2Zfbm9kZSA9IGRldi0+b2Zfbm9kZTsKPj4gKwlyZXNldF9kYXRhLT5yZXN0YXJ0X2hhbmRsZXIu bm90aWZpZXJfY2FsbCA9IG1hMzVkMV9yZXN0YXJ0X2hhbmRsZXI7Cj4+ICsJcmVzZXRfZGF0YS0+ cmVzdGFydF9oYW5kbGVyLnByaW9yaXR5ID0gMTkyOwo+PiArCj4+ICsJZXJyID0gcmVnaXN0ZXJf cmVzdGFydF9oYW5kbGVyKCZyZXNldF9kYXRhLT5yZXN0YXJ0X2hhbmRsZXIpOwo+PiArCWlmIChl cnIpCj4+ICsJCWRldl93YXJuKCZwZGV2LT5kZXYsICJmYWlsZWQgdG8gcmVnaXN0ZXIgcmVzdGFy dCBoYW5kbGVyXG4iKTsKPj4gKwo+PiArCXJldHVybiBkZXZtX3Jlc2V0X2NvbnRyb2xsZXJfcmVn aXN0ZXIoZGV2LCAmcmVzZXRfZGF0YS0+cmNkZXYpOwo+PiArfQo+PiArCj4+ICtzdGF0aWMgc3Ry dWN0IHBsYXRmb3JtX2RyaXZlciBtYTM1ZDFfcmVzZXRfZHJpdmVyID0gewo+PiArCS5wcm9iZSA9 IG1hMzVkMV9yZXNldF9wcm9iZSwKPj4gKwkuZHJpdmVyID0gewo+PiArCQkubmFtZSA9ICJtYTM1 ZDEtcmVzZXQiLAo+PiArCQkub2ZfbWF0Y2hfdGFibGUJPSBtYTM1ZDFfcmVzZXRfZHRfaWRzLAo+ PiArCX0sCj4+ICt9Owo+PiArCj4+ICtidWlsdGluX3BsYXRmb3JtX2RyaXZlcihtYTM1ZDFfcmVz ZXRfZHJpdmVyKTsKPj4KCkJlc3QgUmVnYXJkcywKSmFja3kgSHVhbmcKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxp bmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3Rz LmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==