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 DD2FFEE643D for ; Fri, 15 Sep 2023 08:13:13 +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-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=f28TkvjPdWgPle6chwbusZqx3qTrkP7dmZ99H8cxwYU=; b=pg+RCDGHYNfo3C 8qrnHaDZVSVM2P7zs/whl9oAArOFEkhQSaWFqfIlQVRbup3yFDCt+jzZF43VK6ajOy7oTwaJ+K5oj S3Xbq6gnP5uB7pU80T8fps+k4rh/3w5hE4ETD2XBQGTUh6ar+zWwuq6YX0EFUkwkCTCJPRnN0BmaC Cx/HGwmog4+n/Pa/VsgmjaY3XPmfWpt8/chO/syyUv9d/hsBTdFwqNWUbUiB2MVP+VhwhAVBqA57W dXkmZstVxNFYMlUuR1lJPJns/oXp49Us/eBT63+YpOFHgg4xLhw0NTsUA8rsiuCuDGH8HmKx3oOXV eYFWIvhK7Ox/9yyZWQCg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qh3wQ-00A7DO-2n; Fri, 15 Sep 2023 08:12:42 +0000 Received: from mail-qv1-f48.google.com ([209.85.219.48]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qh3wF-00A73y-2f for linux-arm-kernel@lists.infradead.org; Fri, 15 Sep 2023 08:12:36 +0000 Received: by mail-qv1-f48.google.com with SMTP id 6a1803df08f44-6563c23b356so231866d6.2 for ; Fri, 15 Sep 2023 01:12:30 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694765549; x=1695370349; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=IDdF9uQczjRdjh5DltQ3Kf3WBzjSgTe8Pnr+O7KM1YE=; b=hVm8jP/G92VhyBy9sl/c7bDfYtV4DfQeezD1SthqBtLk+oqEOs64qQQBInJb526uMj x8B2dViIw8knY3NuM2rhrM06DziYtdODq5wEr2LhGKNXspFRjmuzVLGhqmKx8fXa9obI unZugyqbNQr4sfc/ebXV/AkKAeBgCaO3V9D4ahIrZS8LFGpongZdCtQC7saDfcuYMW2Q nZ7iApKL92rB+PbH4cQK2SH8sUV1GgsnfZlCyhlFeKS7WKEtc2tqoy7yYBdeMAa1NG2d GiFWyzbI09fRXAWiDCr0N4+j1sfbxpqtaph9+SPBW68O/l/gKC8caEoHxi+/UdGGWLfo 6p9Q== X-Gm-Message-State: AOJu0YxGhuKkrPGlWhEubwpn+3ByXG208cB5mByl8ix9falrm06QgSLG L9258wuKw3m4bXuSxc8CZTGa9YHzA3Xovg== X-Google-Smtp-Source: AGHT+IGYZwuZREHTJFuUWNwHK3CnGYuVyqTHnTGJTf1R9oSKNFk5Duqs6phHmIwpjXBkCB65U0kS/Q== X-Received: by 2002:a05:6214:57cb:b0:651:7aa8:cb5e with SMTP id lw11-20020a05621457cb00b006517aa8cb5emr1000433qvb.49.1694765548867; Fri, 15 Sep 2023 01:12:28 -0700 (PDT) Received: from mail-qk1-f173.google.com (mail-qk1-f173.google.com. [209.85.222.173]) by smtp.gmail.com with ESMTPSA id a19-20020a0ce353000000b0064f4f9ddc72sm1089017qvm.21.2023.09.15.01.12.28 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 15 Sep 2023 01:12:28 -0700 (PDT) Received: by mail-qk1-f173.google.com with SMTP id af79cd13be357-76ef27a8e4dso121791785a.1 for ; Fri, 15 Sep 2023 01:12:28 -0700 (PDT) X-Received: by 2002:a25:e64d:0:b0:d80:1161:5ec1 with SMTP id d74-20020a25e64d000000b00d8011615ec1mr867800ybh.20.1694765200505; Fri, 15 Sep 2023 01:06:40 -0700 (PDT) MIME-Version: 1.0 References: <20230912045157.177966-1-claudiu.beznea.uj@bp.renesas.com> <20230912045157.177966-19-claudiu.beznea.uj@bp.renesas.com> <1ef2d7d4-93d4-969d-6618-3b81926418d5@tuxon.dev> In-Reply-To: <1ef2d7d4-93d4-969d-6618-3b81926418d5@tuxon.dev> From: Geert Uytterhoeven Date: Fri, 15 Sep 2023 10:06:27 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH 18/37] clk: renesas: rzg2l: refactor sd mux driver To: claudiu beznea , mturquette@baylibre.com, sboyd@kernel.org Cc: robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, ulf.hansson@linaro.org, linus.walleij@linaro.org, gregkh@linuxfoundation.org, jirislaby@kernel.org, magnus.damm@gmail.com, catalin.marinas@arm.com, will@kernel.org, prabhakar.mahadev-lad.rj@bp.renesas.com, biju.das.jz@bp.renesas.com, quic_bjorande@quicinc.com, arnd@arndb.de, konrad.dybcio@linaro.org, neil.armstrong@linaro.org, nfraprado@collabora.com, rafal@milecki.pl, wsa+renesas@sang-engineering.com, linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mmc@vger.kernel.org, linux-gpio@vger.kernel.org, linux-serial@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Claudiu Beznea X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230915_011231_874548_210FF41B X-CRM114-Status: GOOD ( 54.20 ) 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 SGkgQ2xhdWRpdSwKCk9uIEZyaSwgU2VwIDE1LCAyMDIzIGF0IDk6MzDigK9BTSBjbGF1ZGl1IGJl em5lYSA8Y2xhdWRpdS5iZXpuZWFAdHV4b24uZGV2PiB3cm90ZToKPiBPbiAxNC4wOS4yMDIzIDE4 OjE4LCBHZWVydCBVeXR0ZXJob2V2ZW4gd3JvdGU6Cj4gPiBPbiBUdWUsIFNlcCAxMiwgMjAyMyBh dCA2OjUy4oCvQU0gQ2xhdWRpdSA8Y2xhdWRpdS5iZXpuZWFAdHV4b24uZGV2PiB3cm90ZToKPiA+ PiBGcm9tOiBDbGF1ZGl1IEJlem5lYSA8Y2xhdWRpdS5iZXpuZWEudWpAYnAucmVuZXNhcy5jb20+ Cj4gPj4KPiA+PiBSZWZhY3RvciBTRCBNVVggZHJpdmVyIHRvIGJlIGFibGUgdG8gcmV1c2UgdGhl IHNhbWUgY29kZSBvbiBSWi9HM1MuCj4gPj4gUlovRzJ7TCwgVUx9IGhhcyBhIGxpbWl0YXRpb24g d2l0aCByZWdhcmRzIHRvIHN3aXRjaGluZyB0aGUgY2xvY2sgc291cmNlCj4gPj4gZm9yIFNEIE1V WCAoTVVYIGNsb2NrIHNvdXJjZSBoYXMgdG8gYmUgc3dpdGNoZWQgdG8gMjY2TUh6IGJlZm9yZSBz d2l0Y2hpbmcKPiA+PiBiL3cgNTMzTUh6IGFuZCA0MDBNSHopLiBUaGlzIGxpbWl0YXRpb24gaGFz IGJlZW4gaW50cm9kdWNlZCBhcyBhIGNsb2NrCj4gPj4gbm90aWZpZXIgdGhhdCBpcyByZWdpc3Rl cmVkIG9uIHBsYXRmb3JtIGJhc2VkIGluaXRpYWxpemF0aW9uIGRhdGEgdGh1cyB0aGUKPiA+PiBT RCBNVVggY29kZSBjb3VsZCBiZSByZXVzZWQgb24gUlovRzNTLgo+ID4+Cj4gPj4gQXMgYm90aCBS Wi9HMntMLCBVTH0gYW5kIFJaL0czUyBoYXMgc3BlY2lmaWMgYml0cyBpbiBzcGVjaWZpYyByZWdp c3RlcnMKPiA+PiB0byBjaGVjayBpZiB0aGUgY2xvY2sgc3dpdGNoaW5nIGhhcyBiZWVuIGRvbmUs IHRoaXMgY29uZmlndXJhdGlvbiAocmVnaXN0ZXIKPiA+PiBvZmZzZXQsIHJlZ2lzdGVyIGJpdHMg YW5kIGJpdHMgd2lkdGgpIGlzIG5vdyBwYXNzZWQgdGhvdWdoCj4gPj4gc3RydWN0IGNwZ19jb3Jl X2Nsazo6c2NvbmYgKHN0YXR1cyBjb25maWd1cmF0aW9uKSBmcm9tIHBsYXRmb3JtIHNwZWNpZmlj Cj4gPj4gaW5pdGlhbGl6YXRpb24gY29kZS4KPiA+Pgo+ID4+IEFsb25nIHdpdGggc3RydWN0IGNw Z19jb3JlX2Nsazo6c2NvbmYgdGhlIG11eCB0YWJsZSBpbmRleGVzIGlzIGFsc28KPiA+Cj4gPiBp bmRpY2VzIGFyZQo+ID4KPiA+PiBwYXNzZWQgZnJvbSBwbGF0Zm9ybSBzcGVjaWZpYyBpbml0aWFs aXphdGlvbiBjb2RlLgo+ID4KPiA+IFBsZWFzZSBhbHNvIG1lbnRpb24gdGhlIHBhc3Npbmcgb2Yg dGhlIG11eCBmbGFncywgd2hpY2ggaXMgYWRkZWQgc28KPiA+IHlvdSBjYW4gcGFzcyBDTEtfU0VU X1BBUkVOVF9HQVRFIGZvciBHM1NfU0VMX1BMTDQgbGF0ZXIuCj4KPiBPay4KPgo+ID4KPiA+PiBT aWduZWQtb2ZmLWJ5OiBDbGF1ZGl1IEJlem5lYSA8Y2xhdWRpdS5iZXpuZWEudWpAYnAucmVuZXNh cy5jb20+Cj4gPgo+ID4+IC0tLSBhL2RyaXZlcnMvY2xrL3JlbmVzYXMvcjlhMDdnMDQzLWNwZy5j Cj4gPj4gKysrIGIvZHJpdmVycy9jbGsvcmVuZXNhcy9yOWEwN2cwNDMtY3BnLmMKPiA+PiBAQCAt MjEsNiArMjEsMTAgQEAKPiA+PiAgI2RlZmluZSBHMlVMX1NFTF9TREhJMCAgICAgICAgIFNFTF9Q TExfUEFDSyhHMlVMX0NQR19QTDJTREhJX0RTRUwsIDAsIDIpCj4gPj4gICNkZWZpbmUgRzJVTF9T RUxfU0RISTEgICAgICAgICBTRUxfUExMX1BBQ0soRzJVTF9DUEdfUEwyU0RISV9EU0VMLCA0LCAy KQo+ID4+Cj4gPj4gKy8qIENsb2NrIHN0YXR1cyBjb25maWd1cmF0aW9uLiAqLwo+ID4+ICsjZGVm aW5lIEcyVUxfU0VMX1NESEkwX1NUUyAgICAgU0VMX1BMTF9QQUNLKENQR19DTEtTVEFUVVMsIDI4 LCAxKQo+ID4+ICsjZGVmaW5lIEcyVUxfU0VMX1NESEkxX1NUUyAgICAgU0VMX1BMTF9QQUNLKENQ R19DTEtTVEFUVVMsIDI5LCAxKQo+ID4KPiA+IEp1c3QgbGlrZSBpbiBbUEFUQ0ggMTcvMzddLCB0 aGVyZSBpcyBubyByZWFsIG5lZWQgZm9yIHRoZSAiRzJVTF8iLXByZWZpeC4KPgo+IE9rLCBJIHVz dXNsbHkgdGVuZCB0byBndWFyZCBldmVyeXRoaW5nIHdpdGggYSBwcm9wZXIgbmFtZXNwYWNlLgoK U3VyZSwgaW4gbWFueSBjYXNlcywgdGhhdCBtYWtlcyBnb29kIHNlbnNlLgpJbiB0aGlzIGNhc2Us IG5vdCBoYXZpbmcgdGhlIHByZWZpeCBtYWtlcyBpdCBlYXNpZXIgdG8gY29tcGFyZSBjbG9jayB0 YWJsZXM6CgogICAgc29jLWR0cy1kaWZmIC1iIGRyaXZlcnMvY2xrL3JlbmVzYXMvcjlhMDdnMDRb MzRdLWNwZy5jCgooc29jLWR0cy1kaWZmIGlnbm9yZXMgdGhlIFNvQyBwYXJ0IG51bWJlciwgYW5k IGNhbiBiZSBmb3VuZCBhdAogaHR0cHM6Ly9naXRodWIuY29tL2dlZXJ0dS9saW51eC1zY3JpcHRz KQoKPiA+PiAraW50IHJ6ZzJsX2NwZ19zZF9tdXhfY2xrX25vdGlmaWVyKHN0cnVjdCBub3RpZmll cl9ibG9jayAqbmIsIHVuc2lnbmVkIGxvbmcgZXZlbnQsCj4gPj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHZvaWQgKmRhdGEpCj4gPj4gK3sKPiA+PiArICAgICAgIHN0cnVjdCBj bGtfbm90aWZpZXJfZGF0YSAqY25kID0gZGF0YTsKPiA+PiArICAgICAgIHN0cnVjdCBjbGtfaHcg Kmh3ID0gX19jbGtfZ2V0X2h3KGNuZC0+Y2xrKTsKPiA+PiArICAgICAgIHN0cnVjdCBjbGtfaHdf ZGF0YSAqY2xrX2h3X2RhdGEgPSB0b19jbGtfaHdfZGF0YShodyk7Cj4gPj4gKyAgICAgICBzdHJ1 Y3QgcnpnMmxfY3BnX3ByaXYgKnByaXYgPSBjbGtfaHdfZGF0YS0+cHJpdjsKPiA+PiArICAgICAg IHUzMiBvZmYgPSBHRVRfUkVHX09GRlNFVChjbGtfaHdfZGF0YS0+Y29uZik7Cj4gPj4gKyAgICAg ICB1MzIgc2hpZnQgPSBHRVRfU0hJRlQoY2xrX2h3X2RhdGEtPmNvbmYpOwo+ID4+ICsgICAgICAg Y29uc3QgdTMyIGNsa19zcmNfMjY2ID0gMzsKPiA+PiArICAgICAgIHVuc2lnbmVkIGxvbmcgZmxh Z3M7Cj4gPj4gKyAgICAgICB1MzIgYml0bWFzazsKPiA+PiArICAgICAgIGludCByZXQ7Cj4gPj4g Kwo+ID4+ICsgICAgICAgaWYgKGV2ZW50ICE9IFBSRV9SQVRFX0NIQU5HRSB8fCAoY25kLT5uZXdf cmF0ZSAvIE1FR0EgPT0gMjY2KSkKPiA+PiArICAgICAgICAgICAgICAgcmV0dXJuIDA7Cj4gPj4g Kwo+ID4+ICsgICAgICAgc3Bpbl9sb2NrX2lycXNhdmUoJnByaXYtPnJtd19sb2NrLCBmbGFncyk7 Cj4gPj4gKwo+ID4+ICsgICAgICAgLyoKPiA+PiArICAgICAgICAqIEFzIHBlciB0aGUgSFcgbWFu dWFsLCB3ZSBzaG91bGQgbm90IGRpcmVjdGx5IHN3aXRjaCBmcm9tIDUzMyBNSHogdG8KPiA+PiAr ICAgICAgICAqIDQwMCBNSHogYW5kIHZpY2UgdmVyc2EuIFRvIGNoYW5nZSB0aGUgc2V0dGluZyBm cm9tIDLigJliMDEgKDUzMyBNSHopCj4gPj4gKyAgICAgICAgKiB0byAy4oCZYjEwICg0MDAgTUh6 KSBvciB2aWNlIHZlcnNhLCBTd2l0Y2ggdG8gMuKAmWIxMSAoMjY2IE1IeikgZmlyc3QsCj4gPj4g KyAgICAgICAgKiBhbmQgdGhlbiBzd2l0Y2ggdG8gdGhlIHRhcmdldCBzZXR0aW5nICgy4oCZYjAx ICg1MzMgTUh6KSBvciAy4oCZYjEwCj4gPj4gKyAgICAgICAgKiAoNDAwIE1IeikpLgo+ID4+ICsg ICAgICAgICogU2V0dGluZyBhIHZhbHVlIG9mICcwJyB0byB0aGUgU0VMX1NESEkwX1NFVCBvciBT RUxfU0RISTFfU0VUIGNsb2NrCj4gPj4gKyAgICAgICAgKiBzd2l0Y2hpbmcgcmVnaXN0ZXIgaXMg cHJvaGliaXRlZC4KPiA+PiArICAgICAgICAqIFRoZSBjbG9jayBtdXggaGFzIDMgaW5wdXQgY2xv Y2tzKDUzMyBNSHosIDQwMCBNSHosIGFuZCAyNjYgTUh6KSwgYW5kCj4gPj4gKyAgICAgICAgKiB0 aGUgaW5kZXggdG8gdmFsdWUgbWFwcGluZyBpcyBkb25lIGJ5IGFkZGluZyAxIHRvIHRoZSBpbmRl eC4KPiA+PiArICAgICAgICAqLwo+ID4+ICsgICAgICAgYml0bWFzayA9IChHRU5NQVNLKEdFVF9X SURUSChjbGtfaHdfZGF0YS0+Y29uZikgLSAxLCAwKSA8PCBzaGlmdCkgPDwgMTY7Cj4gPj4gKyAg ICAgICB3cml0ZWwoYml0bWFzayB8IChjbGtfc3JjXzI2NiA8PCBzaGlmdCksIHByaXYtPmJhc2Ug KyBvZmYpOwo+ID4+ICsKPiA+PiArICAgICAgIC8qIFdhaXQgZm9yIHRoZSB1cGRhdGUgZG9uZS4g Ki8KPiA+PiArICAgICAgIHJldCA9IHJ6ZzJsX2NwZ193YWl0X2Nsa191cGRhdGVfZG9uZShwcml2 LT5iYXNlLCBjbGtfaHdfZGF0YS0+c2NvbmYpOwo+ID4+ICsKPiA+PiArICAgICAgIHNwaW5fdW5s b2NrX2lycXJlc3RvcmUoJnByaXYtPnJtd19sb2NrLCBmbGFncyk7Cj4gPj4gKwo+ID4+ICsgICAg ICAgaWYgKHJldCkKPiA+PiArICAgICAgICAgICAgICAgZGV2X2Vycihwcml2LT5kZXYsICJmYWls ZWQgdG8gc3dpdGNoIHRvIHNhZmUgY2xrIHNvdXJjZVxuIik7Cj4gPj4gKwo+ID4+ICsgICAgICAg cmV0dXJuIHJldDsKPiA+PiArfQo+ID4+ICsKPiA+PiArc3RhdGljIGludCByemcybF9yZWdpc3Rl cl9ub3RpZmllcihzdHJ1Y3QgY2xrX2h3ICpodywgY29uc3Qgc3RydWN0IGNwZ19jb3JlX2NsayAq Y29yZSwKPiA+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCByemcy bF9jcGdfcHJpdiAqcHJpdikKPiA+PiArewo+ID4+ICsgICAgICAgc3RydWN0IG5vdGlmaWVyX2Js b2NrICpuYjsKPiA+PiArCj4gPj4gKyAgICAgICBpZiAoIWNvcmUtPm5vdGlmaWVyKQo+ID4+ICsg ICAgICAgICAgICAgICByZXR1cm4gMDsKPiA+PiArCj4gPj4gKyAgICAgICBuYiA9IGRldm1fa3ph bGxvYyhwcml2LT5kZXYsIHNpemVvZigqbmIpLCBHRlBfS0VSTkVMKTsKPiA+PiArICAgICAgIGlm ICghbmIpCj4gPj4gKyAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwo+ID4+ICsKPiA+PiAr ICAgICAgIG5iLT5ub3RpZmllcl9jYWxsID0gY29yZS0+bm90aWZpZXI7Cj4gPj4gKwo+ID4+ICsg ICAgICAgcmV0dXJuIGNsa19ub3RpZmllcl9yZWdpc3Rlcihody0+Y2xrLCBuYik7Cj4gPj4gK30K PiA+Cj4gPiBJIGFtIG5vdCBzdXJlIGEgbm90aWZpZXIgaXMgdGhlIGJlc3Qgc29sdXRpb24uICBC YXNpY2FsbHkgb24gUlovRzJMLAo+ID4gd2hlbiBjaGFuZ2luZyB0aGUgcGFyZW50IGNsb2NrLCB5 b3UgbmVlZCB0byBzd2l0Y2ggdG8gYSBmaXhlZAo+ID4gaW50ZXJtZWRpYXRlIHBhcmVudCBmaXJz dC4KPiA+IFdoYXQgYWJvdXQganVzdCByZXBsYWNpbmcgdGhlIGZpeGVkIGNsa19zcmNfMjY2IGlu IHRoZSBvbGQKPiA+IHJ6ZzJsX2NwZ19zZF9tdXhfY2xrX3NldF9wYXJlbnQoKSBieSBhIChzaWdu ZWQpIGludGVnZXIgaW4KPiA+IHNkX211eF9od19kYXRhIChzcGVjaWZpZWQgaW4gREVGX1NEX01V WCgpKSwgcmVwcmVzZW50aW5nIHRoZSBpbmRleAo+ID4gb2YgdGhlIGludGVybWVkaWF0ZSBjbG9j az8KPiA+IC0xIHdvdWxkIG1lYW4gYW4gaW50ZXJtZWRpYXRlIHBhcmVudCBpcyBub3QgbmVlZGVk Lgo+Cj4gVGhhdCBzaG91bGQgd29yayB0b28gYnV0IC5zZXRfcmF0ZSgpIHdpbGwgYmUgYnVsa3kg Zm9yIGJvdGggbXV4IGFuZCBkaXYuCj4KPiBUaGUgaWRlYSB3YXMgdG8gaGF2ZSB0aGUgLnNldF9y YXRlKCkgY29tbW9uIHRvIHRoZSBtdXggYW5kIHRoZSBwbGF0Zm9ybQo+IHNwZWNpZmljaXRpZXMg aW1wbGVtZW50ZWQgYXMgbm90aWZpZXJzIGFuZCBvbmx5IHRoZSBuZWVkZWQgcGxhdGZvcm1zIHRv Cj4gaW5zdGFudGlhdGUgdGhlIG5vdGlmaWVyLiBBbmQgdGhlIHNhbWUgYXBwcm9hY2ggdG8gYmUg dXNlZCBieSB0aGUgZGl2aWRlcgo+IChwYXRjaCAiW1BBVENIIDE5LzM3XSBjbGs6IHJlbmVzYXM6 IHJ6ZzJsOiBhZGQgYSBkaXZpZGVyIGNsb2NrIGZvciBSWi9HM1MiKQo+Cj4gV2l0aCB0aGlzIGl0 IGxvb2tlZCB0byBtZSB0aGF0IHRoZSBmaW5hbCBjb2RlIGlzIG1vcmUgY29tcGFjdCAuc2V0X3Jh dGUKPiBiZWluZyBzaW1wbGUgYW5kIHBsYXRmb3JtIHNwZWNpZmljaXRpZXMgYmVpbmcgaW1wbGVt ZW50ZWQgaW4gbm90aWZpZXIKPiAodmFsaWQgZm9yIGJvdGggTVVYIGFuZCBESVYpLiBUaGUgaW5m cmFzdHJ1Y3R1cmUgaXMgYWxyZWFkeSB0aGVyZSBmb3IKPiBub3RpZmllciB0byBiZSBjYWxsZWQg YmVmb3JlIC5zZXRfcmF0ZSgpLgoKVEJILCBJIGFtIG5vdCB0aGF0IGZhbWlsaWFyIHdpdGggY2xv Y2sgbm90aWZpZXJzLCBzbyBJIGNvdWxkIHVzZSBzb21lCmd1aWRhbmNlIGZyb20gdGhlIGNsb2Nr IG1haW50YWluZXJzLgoKTWlrZS9TdGVwaGVuOiBBcmUgY2xvY2sgbm90aWZpZXJzIHRoZSByaWdo dCBhcHByb2FjaCwgaGVyZSBhbmQgaW4KICAgICAgICAgICAgICBbUEFUQ0ggMTkuMzddPwoKPiA+ PiAtLS0gYS9kcml2ZXJzL2Nsay9yZW5lc2FzL3J6ZzJsLWNwZy5oCj4gPj4gKysrIGIvZHJpdmVy cy9jbGsvcmVuZXNhcy9yemcybC1jcGcuaAo+ID4+IEBAIC0yNzIsNCArMjc4LDkgQEAgZXh0ZXJu IGNvbnN0IHN0cnVjdCByemcybF9jcGdfaW5mbyByOWEwN2cwNDRfY3BnX2luZm87Cj4gPj4gIGV4 dGVybiBjb25zdCBzdHJ1Y3QgcnpnMmxfY3BnX2luZm8gcjlhMDdnMDU0X2NwZ19pbmZvOwo+ID4+ ICBleHRlcm4gY29uc3Qgc3RydWN0IHJ6ZzJsX2NwZ19pbmZvIHI5YTA5ZzAxMV9jcGdfaW5mbzsK PiA+Pgo+ID4+ICtpbnQgcnpnMmxfY3BnX3NkX211eF9jbGtfbm90aWZpZXIoc3RydWN0IG5vdGlm aWVyX2Jsb2NrICpuYiwgdW5zaWduZWQgbG9uZyBldmVudCwgdm9pZCAqZGF0YSk7Cj4gPj4gKwo+ ID4+ICsvKiBNYWNyb3MgdG8gYmUgdXNlZCBpbiBwbGF0Zm9ybSBzcGVjaWZpYyBpbml0aWFsaXph dGlvbiBjb2RlLiAqLwo+ID4+ICsjZGVmaW5lIFNEX01VWF9OT1RJRiAgICAgICAgICAgKCZyemcy bF9jcGdfc2RfbXV4X2Nsa19ub3RpZmllcikKPiA+Cj4gPiBBbnkgc3BlY2lmaWMgcmVhc29uIHlv dSBhcmUgYWRkaW5nIHRoaXMgbWFjcm8/Cj4KPiBJdCBsb29rZWQgdG8gbWUgbGlrZSBhIGJldHRl ciBuYW1lIHRvIGJlIHVzZWQgaW4gcGxhdGZvcm0gc3BlY2lmaWMgZHJpdmVycy4KPgo+ID4gV2hh dCBpcyB3cm9uZyB3aXRoIHVzaW5nICZyemcybF9jcGdfc2RfbXV4X2Nsa19ub3RpZmllciBkaXJl Y3RseT8KPgo+IE5vdGhpbmcsIGp1c3QgdGhhdCBpdCBpcyBhIGxvbmdlciB0aGFuIFNEX01VWF9O T1RJRi4KCkl0IGFkZHMgYW5vdGhlciBsZXZlbCBvZiBpbmRpcmVjdGlvbiBmb3IgdGhlIGNhc3Vh bCByZXZpZXdlciwgYW5kIG5lZWRzCnJlcGxhY2VtZW50IHdoZW4gYW4gU29DIGFycml2ZXMgdGhh dCBuZWVkcyBhIGRpZmZlcmVudCBTRCBtdXggbm90aWZpZXIuCgpUaGFua3MhCgpHcntvZXRqZSxl ZXRpbmd9cywKCiAgICAgICAgICAgICAgICAgICAgICAgIEdlZXJ0CgotLSAKR2VlcnQgVXl0dGVy aG9ldmVuIC0tIFRoZXJlJ3MgbG90cyBvZiBMaW51eCBiZXlvbmQgaWEzMiAtLSBnZWVydEBsaW51 eC1tNjhrLm9yZwoKSW4gcGVyc29uYWwgY29udmVyc2F0aW9ucyB3aXRoIHRlY2huaWNhbCBwZW9w bGUsIEkgY2FsbCBteXNlbGYgYSBoYWNrZXIuIEJ1dAp3aGVuIEknbSB0YWxraW5nIHRvIGpvdXJu YWxpc3RzIEkganVzdCBzYXkgInByb2dyYW1tZXIiIG9yIHNvbWV0aGluZyBsaWtlIHRoYXQuCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0gTGludXMgVG9ydmFsZHMKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwg bWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8v bGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK