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 14DCDD6EBEF for ; Fri, 29 Nov 2024 08:57:02 +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: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=vjZMYOSWor91ImQDjZflVZ3+XZ+KBY62m4/eLECX+mY=; b=4wjGd6Rj3woEax CxZm746pAV+rwkaVm3rxiE82VrTaDDp9+Ae6ePhcyRQlE+hFX7HB9ydE+gv2rMUwsMeARJYKl4fI7 ntiQ4NAWDXAqYEMGM0poAdiMk4j/8NakDNVm+OwSIot5WScyxfkpYrZxxevvBJRqoT6ktkfiTMJKL m47mfkPIvdLZU9M+KiNJRJ0P804azk1WovsXg5ysv7wWWfnJgIYdXdIbSu0+7cU91Jx8eUnQZgkEF il9sH+3L49Qcera9km66rB8rOw8FoTVftZW5nLh42RVYixEZr6nfYno75ya4XcnC2lwv82uroPf2C 9/fhz8GF9cgnYD0f6WUA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tGwo9-0000000HFtx-3OH4; Fri, 29 Nov 2024 08:57:01 +0000 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tGwg7-0000000HEKy-1EZL for linux-phy@lists.infradead.org; Fri, 29 Nov 2024 08:48:44 +0000 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-4349fd77b33so14642875e9.2 for ; Fri, 29 Nov 2024 00:48:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1732870121; x=1733474921; darn=lists.infradead.org; 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=2PkQyuhys7G1VNXO6ofg16FC0sS07Akwiu7JTGVbtJ8=; b=Q1rLOjnIMI4tuucR5tRtqLDhmtfJX9lxpGfjqkrozZ4K5X4fUQDGsLcUOHaJn50g3D eLDW+y7eXqWa2irlsXTsv0/SniLwE1Uj5PpMUfdR3clcBiB837cBUA9P4cLaNZ9tyYkb QFaH7LTvfyM2cQF6JPQL2JIBNdCvOL/FwqpEc8sP4IjamwPIHuCctgP0RtZKdi/3zOql fpOl6AwF51plt+fPLwz8o0MjWRymzoDKPG1b3Z9P0w5eH0YPKn+RleEN3XbKq83Z+5x0 p3sOK2rg/sdP7BTHY7m8Vo819GAFtV+fBtHy91uboGcNXcd/B4CZZNnwYmp73a73Q+Ix 8hBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732870121; x=1733474921; 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=2PkQyuhys7G1VNXO6ofg16FC0sS07Akwiu7JTGVbtJ8=; b=hvIR/l61sizghAYxmyF0QR0m/ox+bm26N1uoh3VHPJawOfIBWA7Btotju97L4exa5O rDnuBBkt3EGBHp1V2szZFe/xhEyzrWbLi1rFU54Ynvm+5EpCLOHDC7LuYPWRxDF4wlaD kYqTngTWS/eQVMSNsuhrCDCYfh/nHzemPpxRmDnV84k0Zw5ZL/omOpVWWVKWgqbxmiSP v98B+wYP9SGiAWWHvjw2t417HJSC5Kcncu5GDI2MAw1cMWG+ABB8hLjoibJZYwvW86Zk KVNqIk28VHWbhkiPO88NoI8ntr+V3Xs77krZyMwnsDMyHJoYopdCsHqPXpRc2w4dEv6a l3+w== X-Forwarded-Encrypted: i=1; AJvYcCUgO9sKgdLbwTH9OflygnwLEMnAjiICzuiCeIMYvpz7tdHz7S/97UNPqNXaAhtvsBEPhv+WU/HmLS8=@lists.infradead.org X-Gm-Message-State: AOJu0Yy2ryk5GSzLOouYKaoCFz0PA/Xrs3wTosQdiXDdoWGGKzNGKUQW Tlp+hGzYGUjnbtn4HHLdpcYEMn3KLHqq2eQOYOxOj60LBOKoP/dZI+Q8etc2qy0= X-Gm-Gg: ASbGncs9cTKTOtDQD5BA7maHnD/mfdjrBKVnKS6JpyuQ6wmJSCl6++QdjCxoE+JKpla J4ta04Dy4zdey3c5N+YXzHbpOD4+dnxexFLKbrKLst2NeA3lNwRP76QySpcBDtv831h3UFHha/v tgdvUQekZb8JqxZK9zZe3za/J713mXIAODGvOCUVm0kHpFIHJ/o+3BEI7Yd3PtqNajowVr00ceD u7pRYu3rAivztIl9ku7VJzXqmdt1sn5GS1UB7MwqcuOjY0rGWBvaRM8fQ== X-Google-Smtp-Source: AGHT+IHOrdw05njzpGOyCesmp5YA3v4j4ngUQt/RUP7bLsFXyj13G3qk8T1q/D5WDxY5zb5XKDBk4A== X-Received: by 2002:a05:600c:1d18:b0:426:8884:2c58 with SMTP id 5b1f17b1804b1-434a9dbbcc7mr100701195e9.4.1732870119927; Fri, 29 Nov 2024 00:48:39 -0800 (PST) Received: from [192.168.50.4] ([82.78.167.46]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-434b0f70cb2sm45550775e9.37.2024.11.29.00.48.37 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 29 Nov 2024 00:48:39 -0800 (PST) Message-ID: <32fa7eb8-2139-454c-8866-cb264d060616@tuxon.dev> Date: Fri, 29 Nov 2024 10:48:36 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 02/15] soc: renesas: Add SYSC driver for Renesas RZ family Content-Language: en-US To: Geert Uytterhoeven Cc: vkoul@kernel.org, kishon@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, p.zabel@pengutronix.de, magnus.damm@gmail.com, gregkh@linuxfoundation.org, yoshihiro.shimoda.uh@renesas.com, christophe.jaillet@wanadoo.fr, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-usb@vger.kernel.org, Claudiu Beznea References: <20241126092050.1825607-1-claudiu.beznea.uj@bp.renesas.com> <20241126092050.1825607-3-claudiu.beznea.uj@bp.renesas.com> From: Claudiu Beznea In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241129_004843_339154_9AD61FE8 X-CRM114-Status: GOOD ( 40.92 ) X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org SGksIEdlZXJ0LAoKT24gMjguMTEuMjAyNCAxNzoyNCwgR2VlcnQgVXl0dGVyaG9ldmVuIHdyb3Rl Ogo+IEhpIENsYXVkaXUsCj4gCj4gVGhhbmtzIGZvciB5b3VyIHBhdGNoIQo+IAo+IE9uIFR1ZSwg Tm92IDI2LCAyMDI0IGF0IDEwOjIx4oCvQU0gQ2xhdWRpdSA8Y2xhdWRpdS5iZXpuZWFAdHV4b24u ZGV2PiB3cm90ZToKPj4gRnJvbTogQ2xhdWRpdSBCZXpuZWEgPGNsYXVkaXUuYmV6bmVhLnVqQGJw LnJlbmVzYXMuY29tPgo+Pgo+PiBUaGUgUlovRzNTIHN5c3RlbSBjb250cm9sbGVyIChTWVNDKSBo YXMgdmFyaW91cyByZWdpc3RlcnMgdGhhdCBjb250cm9sCj4+IHNpZ25hbHMgc3BlY2lmaWMgdG8g aW5kaXZpZHVhbCBJUHMuIElQIGRyaXZlcnMgbXVzdCBjb250cm9sIHRoZXNlIHNpZ25hbHMKPj4g YXQgZGlmZmVyZW50IGNvbmZpZ3VyYXRpb24gcGhhc2VzLgo+Pgo+PiBBZGQgU1lTQyBkcml2ZXIg dGhhdCBhbGxvd3MgaW5kaXZpZHVhbCBTWVNDIGNvbnN1bWVycyB0byBjb250cm9sIHRoZXNlCj4+ IHNpZ25hbHMuIFRoZSBTWVNDIGRyaXZlciBleHBvcnRzIGEgc3lzY29uIHJlZ21hcCBlbmFibGlu ZyBJUCBkcml2ZXJzIHRvCj4+IHVzZSBhIHNwZWNpZmljIFNZU0Mgb2Zmc2V0IGFuZCBtYXNrIGZy b20gdGhlIGRldmljZSB0cmVlLCB3aGljaCBjYW4gdGhlbiBiZQo+PiBhY2Nlc3NlZCB0aHJvdWdo IHJlZ21hcF91cGRhdGVfYml0cygpLgo+Pgo+PiBDdXJyZW50bHksIHRoZSBTWVNDIGRyaXZlciBw cm92aWRlcyBjb250cm9sIHRvIHRoZSBVU0IgUFdSUkRZIHNpZ25hbCwgd2hpY2gKPj4gaXMgcm91 dGVkIHRvIHRoZSBVU0IgUEhZLiBUaGlzIHNpZ25hbCBuZWVkcyB0byBiZSBtYW5hZ2VkIGJlZm9y ZSBvciBhZnRlcgo+PiBwb3dlcmluZyB0aGUgVVNCIFBIWSBvZmYgb3Igb24uCj4+Cj4+IE90aGVy IFNZU0Mgc2lnbmFscyBjYW5kaWRhdGVzIChhcyBleHBvc2VkIGluIHRoZSB0aGUgaGFyZHdhcmUg bWFudWFsIG9mIHRoZQo+IAo+IHMvdGhlIHRoZS90aGUvCj4gCj4+IFJaL0czUyBTb0MpIGluY2x1 ZGU6Cj4+Cj4+ICogUENJZToKPj4gLSBBTExPV19FTlRFUl9MMSBzaWduYWwgY29udHJvbGxlZCB0 aHJvdWdoIHRoZSBTWVNfUENJRV9DRkcgcmVnaXN0ZXIKPj4gLSBQQ0lFX1JTVF9SU01fQiBzaWdu YWwgY29udHJvbGxlZCB0aHJvdWdoIHRoZSBTWVNfUENJRV9SU1RfUlNNX0IKPj4gICByZWdpc3Rl cgo+PiAtIE1PREVfUlhURVJNSU5BVElPTiBzaWduYWwgY29udHJvbGxlZCB0aHJvdWdoIFNZU19Q Q0lFX1BIWSByZWdpc3Rlcgo+Pgo+PiAqIFNQSToKPj4gLSBTRUxfU1BJX09DVEEgc2lnbmFsIGNv bnRyb2xsZWQgdGhyb3VnaCBTWVNfSVBDT05UX1NFTF9TUElfT0NUQQo+PiAgIHJlZ2lzdGVyCj4+ Cj4+ICogSTJDL0kzQzoKPj4gLSBhZl9ieXBhc3MgSTJDIHNpZ25hbHMgY29udHJvbGxlZCB0aHJv dWdoIFNZU19JMkN4X0NGRyByZWdpc3RlcnMKPj4gICAoeD0wLi4zKQo+PiAtIGFmX2J5cGFzcyBJ M0Mgc2lnbmFsIGNvbnRyb2xsZWQgdGhyb3VnaCBTWVNfSTNDX0NGRyByZWdpc3Rlcgo+Pgo+PiAq IEV0aGVybmV0Ogo+PiAtIEZFQ19HSUdBX0VOQUJMRSBFdGhlcm5ldCBzaWduYWxzIGNvbnRyb2xs ZWQgdGhyb3VnaCBTWVNfR0VUSHhfQ0ZHCj4+ICAgcmVnaXN0ZXJzICh4PTAuLjEpCj4+Cj4+IEFz IGRpZmZlcmVudCBSZW5lc2FzIFJaIFNvQyBzaGFyZXMgbW9zdCBvZiB0aGUgU1lTQyBmdW5jdGlv bmFsaXRpZXMKPj4gYXZhaWxhYmxlIG9uIHRoZSBSWi9HM1MgU29DLCB0aGUgZHJpdmVyIGlmIGZv cm1lZCBvZiBhIFNZU0MgY29yZQo+PiBwYXJ0IGFuZCBhIFNvQyBzcGVjaWZpYyBwYXJ0IGFsbG93 aW5nIGluZGl2aWR1YWwgU1lTQyBTb0MgdG8gcHJvdmlkZQo+PiBmdW5jdGlvbmFsaXRpZXMgdG8g dGhlIFNZU0MgY29yZS4KPj4KPj4gU2lnbmVkLW9mZi1ieTogQ2xhdWRpdSBCZXpuZWEgPGNsYXVk aXUuYmV6bmVhLnVqQGJwLnJlbmVzYXMuY29tPgo+IAo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBi L2RyaXZlcnMvc29jL3JlbmVzYXMvcjlhMDhnMDQ1LXN5c2MuYwo+PiBAQCAtMCwwICsxLDMxIEBA Cj4+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAo+PiArLyoKPj4gKyAqIFJa L0czUyBTeXN0ZW0gY29udHJvbGxlciBkcml2ZXIKPj4gKyAqCj4+ICsgKiBDb3B5cmlnaHQgKEMp IDIwMjQgUmVuZXNhcyBFbGVjdHJvbmljcyBDb3JwLgo+PiArICovCj4+ICsKPj4gKyNpbmNsdWRl IDxsaW51eC9hcnJheV9zaXplLmg+Cj4+ICsjaW5jbHVkZSA8bGludXgvYml0cy5oPgo+PiArI2lu Y2x1ZGUgPGxpbnV4L2luaXQuaD4KPj4gKwo+PiArI2luY2x1ZGUgInJ6LXN5c2MuaCIKPj4gKwo+ PiArI2RlZmluZSBTWVNfVVNCX1BXUlJEWSAgICAgICAgIDB4ZDcwCj4+ICsjZGVmaW5lIFNZU19V U0JfUFdSUkRZX1BXUlJEWV9OICAgICAgICBCSVQoMCkKPj4gKyNkZWZpbmUgU1lTX01BWF9SRUcg ICAgICAgICAgICAweGUyMAo+PiArCj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHJ6X3N5c2Nfc2ln bmFsX2luaXRfZGF0YSByemczc19zeXNjX3NpZ25hbHNfaW5pdF9kYXRhW10gX19pbml0Y29uc3Qg PSB7Cj4gCj4gVGhpcyBpcyBtYXJrZWQgX19pbml0Y29uc3QuLi4KPiAKPj4gKyAgICAgICB7Cj4+ ICsgICAgICAgICAgICAgICAubmFtZSA9ICJ1c2ItcHdycmR5IiwKPj4gKyAgICAgICAgICAgICAg IC5vZmZzZXQgPSBTWVNfVVNCX1BXUlJEWSwKPj4gKyAgICAgICAgICAgICAgIC5tYXNrID0gU1lT X1VTQl9QV1JSRFlfUFdSUkRZX04sCj4+ICsgICAgICAgICAgICAgICAucmVmY250X2luY3JfdmFs ID0gMAo+PiArICAgICAgIH0KPj4gK307Cj4+ICsKPj4gK2NvbnN0IHN0cnVjdCByel9zeXNjX2lu aXRfZGF0YSByemczc19zeXNjX2luaXRfZGF0YSA9IHsKPiAKPiAuLi4gYnV0IHRoaXMgaXMgbm90 IF9faW5pdCwgY2F1c2luZyBhIHNlY3Rpb24gbWlzbWF0Y2guCgpEbyB5b3Uga25vdyBpZiB0aGVy ZSBpcyBhIHdheSB0byBkZXRlY3QgdGhpcz8KCj4gCj4+ICsgICAgICAgLnNpZ25hbHNfaW5pdF9k YXRhID0gcnpnM3Nfc3lzY19zaWduYWxzX2luaXRfZGF0YSwKPj4gKyAgICAgICAubnVtX3NpZ25h bHMgPSBBUlJBWV9TSVpFKHJ6ZzNzX3N5c2Nfc2lnbmFsc19pbml0X2RhdGEpLAo+PiArICAgICAg IC5tYXhfcmVnaXN0ZXJfb2Zmc2V0ID0gU1lTX01BWF9SRUcsCj4+ICt9Owo+IAo+PiAtLS0gL2Rl di9udWxsCj4+ICsrKyBiL2RyaXZlcnMvc29jL3JlbmVzYXMvcnotc3lzYy5jCj4gCj4+ICsvKioK Pj4gKyAqIHN0cnVjdCByel9zeXNjIC0gUlogU1lTQyBwcml2YXRlIGRhdGEgc3RydWN0dXJlCj4+ ICsgKiBAYmFzZTogU1lTQyBiYXNlIGFkZHJlc3MKPj4gKyAqIEBkZXY6IFNZU0MgZGV2aWNlIHBv aW50ZXIKPj4gKyAqIEBzaWduYWxzOiBTWVNDIHNpZ25hbHMKPj4gKyAqIEBudW1fc2lnbmFsczog bnVtYmVyIG9mIFNZU0Mgc2lnbmFscwo+PiArICovCj4+ICtzdHJ1Y3Qgcnpfc3lzYyB7Cj4+ICsg ICAgICAgdm9pZCBfX2lvbWVtICpiYXNlOwo+PiArICAgICAgIHN0cnVjdCBkZXZpY2UgKmRldjsK Pj4gKyAgICAgICBzdHJ1Y3Qgcnpfc3lzY19zaWduYWwgKnNpZ25hbHM7Cj4+ICsgICAgICAgdTgg bnVtX3NpZ25hbHM7Cj4gCj4gWW91IGNvdWxkIGNoYW5nZSBzaWduYWxzIHRvIGEgZmxleGlibGUg YXJyYXkgYXQgdGhlIGVuZCwgdGFnIGl0IHdpdGgKPiBfX2NvdW50ZWRfYnkobnVtX3NpZ25hbHMp LCBhbmQgYWxsb2NhdGUgc3BhY2UgZm9yIGJvdGggc3RydWN0IHJ6X3N5c2MKPiBhbmQgdGhlIHNp Z25hbHMgYXJyYXkgdXNpbmcgc3RydWN0X3NpemUoKSwgcmVkdWNpbmcgdGhlIG51bWJlciBvZgo+ IGFsbG9jYXRpb25zLgoKSSdsbCBsb29rIGludG8gdGhpcy4KCj4gCj4+ICt9Owo+IAo+PiArc3Rh dGljIHN0cnVjdCByel9zeXNjX3NpZ25hbCAqcnpfc3lzY19vZmZfdG9fc2lnbmFsKHN0cnVjdCBy el9zeXNjICpzeXNjLCB1bnNpZ25lZCBpbnQgb2Zmc2V0LAo+PiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG1hc2spCj4+ICt7 Cj4+ICsgICAgICAgc3RydWN0IHJ6X3N5c2Nfc2lnbmFsICpzaWduYWxzID0gc3lzYy0+c2lnbmFs czsKPj4gKwo+PiArICAgICAgIGZvciAodTMyIGkgPSAwOyBpIDwgc3lzYy0+bnVtX3NpZ25hbHM7 IGkrKykgewo+IAo+IHMvdTMyL3Vuc2lnbmVkIGludC8KPiAKPj4gKyAgICAgICAgICAgICAgIGlm IChzaWduYWxzW2ldLmluaXRfZGF0YS0+b2Zmc2V0ICE9IG9mZnNldCkKPj4gKyAgICAgICAgICAg ICAgICAgICAgICAgY29udGludWU7Cj4+ICsKPj4gKyAgICAgICAgICAgICAgIC8qCj4+ICsgICAg ICAgICAgICAgICAgKiBJbiBjYXNlIG1hc2sgPT0gMCB3ZSBqdXN0IHJldHVybiB0aGUgc2lnbmFs IGRhdGEgdy9vIGNoZWNraW5nIHRoZSBtYXNrLgo+PiArICAgICAgICAgICAgICAgICogVGhpcyBp cyB1c2VmdWwgd2hlbiBjYWxsaW5nIHRocm91Z2ggcnpfc3lzY19yZWdfd3JpdGUoKSB0byBjaGVj awo+PiArICAgICAgICAgICAgICAgICogaWYgdGhlIHJlcXVlc3RlZCBzZXR0aW5nIGlzIGZvciBh IG1hcHBlZCBzaWduYWwgb3Igbm90Lgo+PiArICAgICAgICAgICAgICAgICovCj4+ICsgICAgICAg ICAgICAgICBpZiAobWFzaykgewo+PiArICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2lnbmFs c1tpXS5pbml0X2RhdGEtPm1hc2sgPT0gbWFzaykKPj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICByZXR1cm4gJnNpZ25hbHNbaV07Cj4+ICsgICAgICAgICAgICAgICB9IGVsc2Ugewo+ PiArICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJnNpZ25hbHNbaV07Cj4+ICsgICAgICAg ICAgICAgICB9Cj4gCj4gaWYgKCFtYXNrIHx8IHNpZ25hbHNbaV0uaW5pdF9kYXRhLT5tYXNrID09 IG1hc2spCj4gICAgICAgICByZXR1cm4gJnNpZ25hbHNbaV07CgpMb29rcyBiZXR0ZXIsIGluZGVl ZCEKCj4gCj4+ICsgICAgICAgfQo+PiArCj4+ICsgICAgICAgcmV0dXJuIE5VTEw7Cj4+ICt9Cj4+ ICsKPj4gK3N0YXRpYyBpbnQgcnpfc3lzY19yZWdfdXBkYXRlX2JpdHModm9pZCAqY29udGV4dCwg dW5zaWduZWQgaW50IG9mZiwKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 bnNpZ25lZCBpbnQgbWFzaywgdW5zaWduZWQgaW50IHZhbCkKPj4gK3sKPj4gKyAgICAgICBzdHJ1 Y3Qgcnpfc3lzYyAqc3lzYyA9IGNvbnRleHQ7Cj4+ICsgICAgICAgc3RydWN0IHJ6X3N5c2Nfc2ln bmFsICpzaWduYWw7Cj4+ICsgICAgICAgYm9vbCB1cGRhdGUgPSBmYWxzZTsKPj4gKwo+PiArICAg ICAgIHNpZ25hbCA9IHJ6X3N5c2Nfb2ZmX3RvX3NpZ25hbChzeXNjLCBvZmYsIG1hc2spOwo+PiAr ICAgICAgIGlmIChzaWduYWwpIHsKPj4gKyAgICAgICAgICAgICAgIGlmIChzaWduYWwtPmluaXRf ZGF0YS0+cmVmY250X2luY3JfdmFsID09IHZhbCkgewo+PiArICAgICAgICAgICAgICAgICAgICAg ICBpZiAoIXJlZmNvdW50X3JlYWQoJnNpZ25hbC0+cmVmY250KSkgewo+PiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHJlZmNvdW50X3NldCgmc2lnbmFsLT5yZWZjbnQsIDEpOwo+PiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZSA9IHRydWU7Cj4+ICsgICAgICAg ICAgICAgICAgICAgICAgIH0gZWxzZSB7Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcmVmY291bnRfaW5jKCZzaWduYWwtPnJlZmNudCk7Cj4+ICsgICAgICAgICAgICAgICAgICAg ICAgIH0KPj4gKyAgICAgICAgICAgICAgIH0gZWxzZSB7Cj4+ICsgICAgICAgICAgICAgICAgICAg ICAgIHVwZGF0ZSA9IHJlZmNvdW50X2RlY19hbmRfdGVzdCgmc2lnbmFsLT5yZWZjbnQpOwo+PiAr ICAgICAgICAgICAgICAgfQo+PiArICAgICAgIH0gZWxzZSB7Cj4+ICsgICAgICAgICAgICAgICB1 cGRhdGUgPSB0cnVlOwo+PiArICAgICAgIH0KPiAKPiBZb3UgY291bGQgcmVkdWNlIGluZGVudGF0 aW9uL251bWJlciBvZiBsaW5lcyBieSByZW9yZGVyaW5nIHRoZSBsb2dpYzoKPiAKPiAgICAgaWYg KCFzaWduYWwpIHsKPiAgICAgICAgICAgICB1cGRhdGUgPSB0cnVlOwo+ICAgICB9IGVsc2UgaWYg KHNpZ25hbC0+aW5pdF9kYXRhLT5yZWZjbnRfaW5jcl92YWwgIT0gdmFsKSB7Cj4gICAgICAgICAg ICAgdXBkYXRlID0gcmVmY291bnRfZGVjX2FuZF90ZXN0KCZzaWduYWwtPnJlZmNudCk7Cj4gICAg IH0gZWxzZSBpZiAoIXJlZmNvdW50X3JlYWQoJnNpZ25hbC0+cmVmY250KSkgewo+ICAgICAgICAg ICAgIHJlZmNvdW50X3NldCgmc2lnbmFsLT5yZWZjbnQsIDEpOwo+ICAgICAgICAgICAgIHVwZGF0 ZSA9IHRydWU7Cj4gICAgIH0gZWxzZSB7Cj4gICAgICAgICAgICAgcmVmY291bnRfaW5jKCZzaWdu YWwtPnJlZmNudCk7Cj4gICAgIH0KCkxvb2tzIGJldHRlciwgaW5kZWVkIQoKPiAKPj4gKwo+PiAr ICAgICAgIGlmICh1cGRhdGUpIHsKPj4gKyAgICAgICAgICAgICAgIHUzMiB0bXA7Cj4+ICsKPj4g KyAgICAgICAgICAgICAgIHRtcCA9IHJlYWRsKHN5c2MtPmJhc2UgKyBvZmYpOwo+PiArICAgICAg ICAgICAgICAgdG1wICY9IH5tYXNrOwo+PiArICAgICAgICAgICAgICAgdG1wIHw9IHZhbCAmIG1h c2s7Cj4+ICsgICAgICAgICAgICAgICB3cml0ZWwodG1wLCBzeXNjLT5iYXNlICsgb2ZmKTsKPj4g KyAgICAgICB9Cj4+ICsKPj4gKyAgICAgICByZXR1cm4gMDsKPj4gK30KPj4gKwo+PiArc3RhdGlj IGludCByel9zeXNjX3JlZ193cml0ZSh2b2lkICpjb250ZXh0LCB1bnNpZ25lZCBpbnQgb2ZmLCB1 bnNpZ25lZCBpbnQgdmFsKQo+PiArewo+PiArICAgICAgIHN0cnVjdCByel9zeXNjICpzeXNjID0g Y29udGV4dDsKPj4gKyAgICAgICBzdHJ1Y3Qgcnpfc3lzY19zaWduYWwgKnNpZ25hbDsKPj4gKwo+ PiArICAgICAgIC8qCj4+ICsgICAgICAgICogRm9yY2UgdXNpbmcgcmVnbWFwX3VwZGF0ZV9iaXRz KCkgZm9yIHNpZ25hbHMgdG8gaGF2ZSByZWZlcmVuY2UgY291bnRlcgo+PiArICAgICAgICAqIHBl ciBpbmRpdmlkdWFsIHNpZ25hbCBpbiBjYXNlIHRoZXJlIGFyZSBtdWx0aXBsZSBzaWduYWxzIGNv bnRyb2xsZWQKPj4gKyAgICAgICAgKiB0aHJvdWdoIHRoZSBzYW1lIHJlZ2lzdGVyLgo+PiArICAg ICAgICAqLwo+PiArICAgICAgIHNpZ25hbCA9IHJ6X3N5c2Nfb2ZmX3RvX3NpZ25hbChzeXNjLCBv ZmYsIDApOwo+PiArICAgICAgIGlmIChzaWduYWwpIHsKPj4gKyAgICAgICAgICAgICAgIGRldl9l cnIoc3lzYy0+ZGV2LAo+PiArICAgICAgICAgICAgICAgICAgICAgICAicmVnbWFwX3dyaXRlKCkg bm90IGFsbG93ZWQgb24gcmVnaXN0ZXIgY29udHJvbGxpbmcgYSBzaWduYWwuIFVzZSByZWdtYXBf dXBkYXRlX2JpdHMoKSEiKTsKPj4gKyAgICAgICAgICAgICAgIHJldHVybiAtRU9QTk9UU1VQUDsK Pj4gKyAgICAgICB9Cj4+ICsKPiAKPiBDYW4geW91IGV2ZXIgZ2V0IGhlcmUsIGdpdmVuIHJ6X3N5 c2Nfd3JpdGVhYmxlX3JlZygpIGJlbG93IHdvdWxkIGhhdmUKPiByZXR1cm5lZCBmYWxzZT8gCgpZ ZXMsIGluIGNhc2UgdGhlIHVzZXIgd2FudHMgdG8gYWNjZXNzIGEgcmVnaXN0ZXIgaGF2aW5nIGEg c2lnbmFsIGFzc29jaWF0ZWQuCgpJZiB1c2VyIGRvZXMgdGhpczoKCnJlZ21hcF93cml0ZShyZWdt YXAsIHNpZ25hbF9vZmZzZXQsIHZhbHVlKTsKClRoZSByel9zeXNjX3dyaXRlYWJsZV9yZWcoKSBy ZXR1cm5zIHRydWUgKGFzIGl0IGNoZWNrcyBvbmx5IHRoZSBzaWduYWwKb2Zmc2V0IGJ1dCBub3Qg dGhlIG1hc2spIGFuZCB0aGUgcnpfc3lzY19yZWdfd3JpdGUoKSByZWFjaCB0aGlzIHBvaW50LiBJ Zgp3ZSBhbGxvdyBpdCB0byBjb250aW51ZSB3ZSBjYW4gYnJlYWsgcmVmZXJlbmNlIGNvdW50aW5n IGZvciB0aGUgZXhpc3RpbmcKaW1wbGVtZW50ZWQgc2lnbmFscywgb3IsIGlmIHRoZXJlIGFyZSBt dWx0aXBsZSBzaWduYWxzIGhhbmRsZWQgdGhvcm91Z2ggdGhlCnNhbWUgcmVnaXN0ZXIsIHdlIGNh biBicmVhayBvdGhlciBzaWduYWxzLgoKPiBJZiBub3QsIGlzIHRoZXJlIGFueSBwb2ludCBpbiBo YXZpbmcgdGhpcyBmdW5jdGlvbj8KCkkgY2hvc2UgdG8gaGF2ZSBpdCBmb3IgKGN1cnJlbnRseSB1 bmV4aXN0aW5nKSBvdGhlciB1c2UgY2FzZXMgb2YgdGhlIHN5c2NvbgorIHJlZ21hcCBleHBvcnRl ZCBieSB0aGlzIGRyaXZlci4gRm9yIHRoZSBtb21lbnQsIGl0IGlzIG5vdCBuZWNlc3NhcnksCmlu ZGVlZC4gSSBjYW4gZHJvcCBpdCBpZiB5b3UgcHJlZmVyLgoKPiAKPj4gKyAgICAgICB3cml0ZWwo dmFsLCBzeXNjLT5iYXNlICsgb2ZmKTsKPj4gKwo+PiArICAgICAgIHJldHVybiAwOwo+PiArfQo+ PiArCj4+ICtzdGF0aWMgYm9vbCByel9zeXNjX3dyaXRlYWJsZV9yZWcoc3RydWN0IGRldmljZSAq ZGV2LCB1bnNpZ25lZCBpbnQgb2ZmKQo+PiArewo+PiArICAgICAgIHN0cnVjdCByel9zeXNjICpz eXNjID0gZGV2X2dldF9kcnZkYXRhKGRldik7Cj4+ICsgICAgICAgc3RydWN0IHJ6X3N5c2Nfc2ln bmFsICpzaWduYWw7Cj4+ICsKPj4gKyAgICAgICAvKiBBbnkgcmVnaXN0ZXIgY29udGFpbmluZyBh IHNpZ25hbCBpcyB3cml0ZWFibGUuICovCj4+ICsgICAgICAgc2lnbmFsID0gcnpfc3lzY19vZmZf dG9fc2lnbmFsKHN5c2MsIG9mZiwgMCk7Cj4+ICsgICAgICAgaWYgKHNpZ25hbCkKPj4gKyAgICAg ICAgICAgICAgIHJldHVybiB0cnVlOwo+PiArCj4+ICsgICAgICAgcmV0dXJuIGZhbHNlOwo+PiAr fQo+IAo+PiArc3RhdGljIGludCByel9zeXNjX3NpZ25hbHNfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUg KnMsIHZvaWQgKndoYXQpCj4+ICt7Cj4+ICsgICAgICAgc3RydWN0IHJ6X3N5c2MgKnN5c2MgPSBz LT5wcml2YXRlOwo+PiArCj4+ICsgICAgICAgc2VxX3ByaW50ZihzLCAiJS0yMHMgRW5hYmxlIGNv dW50XG4iLCAiU2lnbmFsIik7Cj4+ICsgICAgICAgc2VxX3ByaW50ZihzLCAiJS0yMHMgLS0tLS0t LS0tLS0tXG4iLCAiLS0tLS0tLS0tLS0tLS0tLS0tLS0iKTsKPj4gKwo+PiArICAgICAgIGZvciAo dTggaSA9IDA7IGkgPCBzeXNjLT5udW1fc2lnbmFsczsgaSsrKSB7Cj4+ICsgICAgICAgICAgICAg ICBzZXFfcHJpbnRmKHMsICIlLTIwcyAlZFxuIiwgc3lzYy0+c2lnbmFsc1tpXS5pbml0X2RhdGEt Pm5hbWUsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZmNvdW50X3JlYWQoJnN5c2Mt PnNpZ25hbHNbaV0ucmVmY250KSk7Cj4+ICsgICAgICAgfQo+PiArCj4+ICsgICAgICAgcmV0dXJu IDA7Cj4+ICt9Cj4+ICtERUZJTkVfU0hPV19BVFRSSUJVVEUocnpfc3lzY19zaWduYWxzKTsKPiAK PiBXaGF0IGlzIHRoZSB1c2UtY2FzZSBmb3IgdGhpcz8gSnVzdCAoaW5pdGlhbCkgZGVidWdnaW5n PwoKT25seSBkZWJ1Z2dpbmcuCgo+IAo+PiArCj4+ICtzdGF0aWMgdm9pZCByel9zeXNjX2RlYnVn ZnNfcmVtb3ZlKHZvaWQgKmRhdGEpCj4+ICt7Cj4+ICsgICAgICAgZGVidWdmc19yZW1vdmVfcmVj dXJzaXZlKGRhdGEpOwo+PiArfQo+PiArCj4+ICtzdGF0aWMgaW50IHJ6X3N5c2Nfc2lnbmFsc19p bml0KHN0cnVjdCByel9zeXNjICpzeXNjLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IHN0cnVjdCByel9zeXNjX3NpZ25hbF9pbml0X2RhdGEgKmluaXRfZGF0YSwKPj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1MzIgbnVtX3NpZ25hbHMpCj4+ICt7Cj4+ ICsgICAgICAgc3RydWN0IGRlbnRyeSAqcm9vdDsKPj4gKyAgICAgICBpbnQgcmV0Owo+PiArCj4+ ICsgICAgICAgc3lzYy0+c2lnbmFscyA9IGRldm1fa2NhbGxvYyhzeXNjLT5kZXYsIG51bV9zaWdu YWxzLCBzaXplb2YoKnN5c2MtPnNpZ25hbHMpLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgR0ZQX0tFUk5FTCk7Cj4+ICsgICAgICAgaWYgKCFzeXNjLT5zaWduYWxzKQo+ PiArICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07Cj4+ICsKPj4gKyAgICAgICBmb3IgKHUz MiBpID0gMDsgaSA8IG51bV9zaWduYWxzOyBpKyspIHsKPiAKPiB1bnNpZ25lZCBpbnQKPiAKPj4g KyAgICAgICAgICAgICAgIHN0cnVjdCByel9zeXNjX3NpZ25hbF9pbml0X2RhdGEgKmlkOwo+PiAr Cj4+ICsgICAgICAgICAgICAgICBpZCA9IGRldm1fa3phbGxvYyhzeXNjLT5kZXYsIHNpemVvZigq aWQpLCBHRlBfS0VSTkVMKTsKPj4gKyAgICAgICAgICAgICAgIGlmICghaWQpCj4+ICsgICAgICAg ICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwo+PiArCj4+ICsgICAgICAgICAgICAgICBp ZC0+bmFtZSA9IGRldm1fa3N0cmR1cChzeXNjLT5kZXYsIGluaXRfZGF0YS0+bmFtZSwgR0ZQX0tF Uk5FTCk7Cj4+ICsgICAgICAgICAgICAgICBpZiAoIWlkLT5uYW1lKQo+PiArICAgICAgICAgICAg ICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKPj4gKwo+PiArICAgICAgICAgICAgICAgaWQtPm9m ZnNldCA9IGluaXRfZGF0YS0+b2Zmc2V0Owo+PiArICAgICAgICAgICAgICAgaWQtPm1hc2sgPSBp bml0X2RhdGEtPm1hc2s7Cj4+ICsgICAgICAgICAgICAgICBpZC0+cmVmY250X2luY3JfdmFsID0g aW5pdF9kYXRhLT5yZWZjbnRfaW5jcl92YWw7Cj4+ICsKPj4gKyAgICAgICAgICAgICAgIHN5c2Mt PnNpZ25hbHNbaV0uaW5pdF9kYXRhID0gaWQ7Cj4+ICsgICAgICAgICAgICAgICByZWZjb3VudF9z ZXQoJnN5c2MtPnNpZ25hbHNbaV0ucmVmY250LCAwKTsKPj4gKyAgICAgICB9Cj4+ICsKPj4gKyAg ICAgICBzeXNjLT5udW1fc2lnbmFscyA9IG51bV9zaWduYWxzOwo+PiArCj4+ICsgICAgICAgcm9v dCA9IGRlYnVnZnNfY3JlYXRlX2RpcigicmVuZXNhcy1yei1zeXNjIiwgTlVMTCk7Cj4+ICsgICAg ICAgcmV0ID0gZGV2bV9hZGRfYWN0aW9uX29yX3Jlc2V0KHN5c2MtPmRldiwgcnpfc3lzY19kZWJ1 Z2ZzX3JlbW92ZSwgcm9vdCk7Cj4+ICsgICAgICAgaWYgKHJldCkKPj4gKyAgICAgICAgICAgICAg IHJldHVybiByZXQ7Cj4+ICsgICAgICAgZGVidWdmc19jcmVhdGVfZmlsZSgic2lnbmFscyIsIDA0 NDQsIHJvb3QsIHN5c2MsICZyel9zeXNjX3NpZ25hbHNfZm9wcyk7Cj4+ICsKPj4gKyAgICAgICBy ZXR1cm4gMDsKPj4gK30KPiAKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9kcml2ZXJzL3NvYy9y ZW5lc2FzL3J6LXN5c2MuaAo+PiBAQCAtMCwwICsxLDUyIEBACj4+ICsvKiBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogR1BMLTIuMCAqLwo+PiArLyoKPj4gKyAqIFJlbmVzYXMgUlogU3lzdGVtIENv bnRyb2xsZXIKPj4gKyAqCj4+ICsgKiBDb3B5cmlnaHQgKEMpIDIwMjQgUmVuZXNhcyBFbGVjdHJv bmljcyBDb3JwLgo+PiArICovCj4+ICsKPj4gKyNpZm5kZWYgX19TT0NfUkVORVNBU19SWl9TWVND X0hfXwo+PiArI2RlZmluZSBfX1NPQ19SRU5FU0FTX1JaX1NZU0NfSF9fCj4+ICsKPj4gKyNpbmNs dWRlIDxsaW51eC9yZWZjb3VudC5oPgo+PiArI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Cj4+ICsK Pj4gKy8qKgo+PiArICogc3RydWN0IHJ6X3N5c2Nfc2lnbmFsX2luaXRfZGF0YSAtIFJaIFNZU0Mg c2lnbmFscyBpbml0IGRhdGEKPj4gKyAqIEBuYW1lOiBzaWduYWwgbmFtZQo+PiArICogQG9mZnNl dDogcmVnaXN0ZXIgb2Zmc2V0IGNvbnRyb2xpbmcgdGhpcyBzaWduYWwKPj4gKyAqIEBtYXNrOiBi aXRtYXNrIGluIHJlZ2lzdGVyIHNwZWNpZmljIHRvIHRoaXMgc2lnbmFsCj4+ICsgKiBAcmVmY250 X2luY3JfdmFsOiBpbmNyZW1lbnQgcmVmY250IHdoZW4gc2V0dGluZyB0aGlzIHZhbHVlCj4+ICsg Ki8KPj4gK3N0cnVjdCByel9zeXNjX3NpZ25hbF9pbml0X2RhdGEgewo+PiArICAgICAgIGNvbnN0 IGNoYXIgKm5hbWU7Cj4+ICsgICAgICAgdTMyIG9mZnNldDsKPj4gKyAgICAgICB1MzIgbWFzazsK Pj4gKyAgICAgICB1MzIgcmVmY250X2luY3JfdmFsOwo+PiArfTsKPj4gKwo+PiArLyoqCj4+ICsg KiBzdHJ1Y3Qgcnpfc3lzY19zaWduYWwgLSBSWiBTWVNDIHNpZ25hbHMKPj4gKyAqIEBpbml0X2Rh dGE6IHNpZ25hbHMgaW5pdGlhbGl6YXRpb24gZGF0YQo+PiArICogQHJlZmNudDogcmVmZXJlbmNl IGNvdW50ZXIKPj4gKyAqLwo+PiArc3RydWN0IHJ6X3N5c2Nfc2lnbmFsIHsKPj4gKyAgICAgICBj b25zdCBzdHJ1Y3Qgcnpfc3lzY19zaWduYWxfaW5pdF9kYXRhICppbml0X2RhdGE7Cj4gCj4gQ2Fu J3QgeW91IGp1c3QgZW1iZWQgc3RydWN0IHJ6X3N5c2Nfc2lnbmFsX2luaXRfZGF0YT8KCk1lYW5p bmcgdG8gaGF2ZSBkaXJlY3RseSB0aGUgbWVtYmVycyBvZiBzdHJ1Y3Qgcnpfc3lzY19zaWduYWxf aW5pdF9kYXRhCmhlcmUgb3IgdG8gZHJvcCB0aGUgY29uc3QgcXVhbGlmaWVyIGFsb25nIHdpdGgg X19pbml0Y29uc3Qgb24KcnpnM3Nfc3lzY19zaWduYWxzX2luaXRfZGF0YVtdICBhbmQgcmUtdXNl IHRoZSBwbGF0Zm9tIGRhdGEgdy9vIGFsbG9jYXRlCm5ldyBtZW1vcnk/CgpUaGFuayB5b3UgZm9y IHlvdXIgcmV2aWV3LApDbGF1ZGl1CgoKPiBUaGF0IHdheSB5b3UgY291bGQgYWxsb2NhdGUgdGhl IHJ6X3N5c2Nfc2lnbmFsIGFuZAo+IHJ6X3N5c2Nfc2lnbmFsX2luaXRfZGF0YSBzdHJ1Y3R1cmVz IGluIGEgc2luZ2xlIGFsbG9jYXRpb24uCj4gCj4+ICsgICAgICAgcmVmY291bnRfdCByZWZjbnQ7 Cj4+ICt9Owo+IAo+IEdye29ldGplLGVldGluZ31zLAo+IAo+ICAgICAgICAgICAgICAgICAgICAg ICAgIEdlZXJ0Cj4gCj4gLS0KPiBHZWVydCBVeXR0ZXJob2V2ZW4gLS0gVGhlcmUncyBsb3RzIG9m IExpbnV4IGJleW9uZCBpYTMyIC0tIGdlZXJ0QGxpbnV4LW02OGsub3JnCj4gCj4gSW4gcGVyc29u YWwgY29udmVyc2F0aW9ucyB3aXRoIHRlY2huaWNhbCBwZW9wbGUsIEkgY2FsbCBteXNlbGYgYSBo YWNrZXIuIEJ1dAo+IHdoZW4gSSdtIHRhbGtpbmcgdG8gam91cm5hbGlzdHMgSSBqdXN0IHNheSAi cHJvZ3JhbW1lciIgb3Igc29tZXRoaW5nIGxpa2UgdGhhdC4KPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC0tIExpbnVzIFRvcnZhbGRzCgotLSAKbGludXgtcGh5IG1haWxpbmcgbGlz dApsaW51eC1waHlAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwczovL2xpc3RzLmluZnJhZGVhZC5v cmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1waHkK