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=-14.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,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 6A97AC4743C for ; Wed, 23 Jun 2021 13:07:05 +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 3461961076 for ; Wed, 23 Jun 2021 13:07:05 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3461961076 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=microchip.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:MIME-Version:References:In-Reply-To: Date:CC:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=bfXflE7pmDHdPbMyiB/yYDMgS/D+tBqzWy4pOMjG6lc=; b=uS+UPbiC6mTgbZ llyjFzNb8DsmICmTcMY0F1bPZM8/nYLXugLLASSvwme+zLqH/7l53SENtF1Gh0hU7h3wvOa4AnJGK 863nuDKUK4/9VCKbQn4QsUwoybRY2IlsnPTAoj7OAQTlXf/XWkChUjdBkW83fugJ+/Za8/ps2rleJ qYT2a125kbgFBw0g/VbOXYa+Tm9wYOA0hrS0yNKsFTVZMsUNgRy5qdQLQKSt2M4JC67/9tB4Cw46E kkLcNbZYThvtIc9BZ/xw+H4Z+ieXdH4PtaVpvigWAj8ZMYWkuxItS3LeNefNdv8RruyRB8fO+rJ/5 9Emh0jU26FRWA/wclqtA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lw2Z6-00Aimn-VK; Wed, 23 Jun 2021 13:05:13 +0000 Received: from esa.microchip.iphmx.com ([68.232.153.233]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lw2Z1-00Aikl-QY for linux-arm-kernel@lists.infradead.org; Wed, 23 Jun 2021 13:05:10 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1624453507; x=1655989507; h=message-id:subject:from:to:cc:date:in-reply-to: references:mime-version:content-transfer-encoding; bh=M7B/HtMHdJOJXKEZrylCHaNSZqDWrKwGNR7ZU9nPVJg=; b=S5kl+nKGTI4TEqVF4++dUBxc9/ti6yRY/+B9nCPpc2nMYHtnwDBAo1sN UIz1p+xgh76MKpt27BveAeVzJKZEkNaOuqPFFgsP7Rn1Qj/8or4eAA5vk vtlif3nvQZVqQE+n0d8Gv+/Ccx6gmEsRtrRRX//yUqTx6i/sSiH2FOm31 NYygZv3zOnExOQmtRXdk6Pr86IJjUjKCx6SRdqG9KRE6oubN1tMAT2Ls5 sRo3e2v8URt64H8Xrg97DlSaCmy4+BL/FW+wbS2/lMI27Dne6BYs29BCR Si+aoF7KiUDAC5lKG4BTt11MCDoto9hzAKtJ66H52FY3A49mRISHGc3/g w==; IronPort-SDR: wnj/F1BCLui7CCja60zDgDzVh1q/ia46tYx2a97QvSKaGlRtnKdXxH+tcT/Udcee4V92Ei0TNQ dyKbzP2wkFRkuoA4tM3s/wLJIWGjmTanhI73CfITcXGWSU7clmOhc3MinZtwM6+Iay/e6PXsmn LaPM6F13O0/Dk9/4ER4xPTLS+nmPYSJ74gPJ9APqt0KWqvkRu/Di6cZdx6jbmNZv1RTbP/WkkQ 2KBlKa4bEC+vlvrdaOoGcPhgejPGl3H5PG6TpHUSeXND7bLcQOJrgIhhPbvm7V9YwWK4LR8RO9 ky8= X-IronPort-AV: E=Sophos;i="5.83,293,1616482800"; d="scan'208";a="133164106" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa1.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 23 Jun 2021 06:05:01 -0700 Received: from chn-vm-ex04.mchp-main.com (10.10.85.152) by chn-vm-ex03.mchp-main.com (10.10.85.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Wed, 23 Jun 2021 06:05:00 -0700 Received: from [10.205.21.35] (10.10.115.15) by chn-vm-ex04.mchp-main.com (10.10.85.152) with Microsoft SMTP Server id 15.1.2176.2 via Frontend Transport; Wed, 23 Jun 2021 06:04:54 -0700 Message-ID: Subject: Re: [PATCH net-next v4 03/10] net: sparx5: add hostmode with phylink support From: Steen Hegelund To: "Russell King (Oracle)" CC: "David S. Miller" , Jakub Kicinski , Andrew Lunn , Microchip Linux Driver Support , Alexandre Belloni , Madalin Bucur , Mark Einon , Masahiro Yamada , Arnd Bergmann , Philipp Zabel , "Simon Horman" , , , , Bjarni Jonasson , Lars Povlsen Date: Wed, 23 Jun 2021 15:04:53 +0200 In-Reply-To: <20210621142628.GM22278@shell.armlinux.org.uk> References: <20210615085034.1262457-1-steen.hegelund@microchip.com> <20210615085034.1262457-4-steen.hegelund@microchip.com> <20210621142628.GM22278@shell.armlinux.org.uk> User-Agent: Evolution 3.40.2 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210623_060507_923355_5B10A60A X-CRM114-Status: GOOD ( 38.76 ) 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 SGkgUnVzc2VsbCwKClRoYW5rcyBmb3IgeW91ciBjb21tZW50cy4KCk9uIE1vbiwgMjAyMS0wNi0y MSBhdCAxNToyNiArMDEwMCwgUnVzc2VsbCBLaW5nIChPcmFjbGUpIHdyb3RlOgo+IEVYVEVSTkFM IEVNQUlMOiBEbyBub3QgY2xpY2sgbGlua3Mgb3Igb3BlbiBhdHRhY2htZW50cyB1bmxlc3MgeW91 IGtub3cgdGhlIGNvbnRlbnQgaXMgc2FmZQo+IAo+IE9uIFR1ZSwgSnVuIDE1LCAyMDIxIGF0IDEw OjUwOjI3QU0gKzAyMDAsIFN0ZWVuIEhlZ2VsdW5kIHdyb3RlOgo+ID4gVGhpcyBwYXRjaCBhZGRz IG5ldGRldnMgYW5kIHBoeWxpbmsgc3VwcG9ydCBmb3IgdGhlIHBvcnRzIGluIHRoZSBzd2l0Y2gu Cj4gPiBJdCBhbHNvIGFkZHMgcmVnaXN0ZXIgYmFzZWQgaW5qZWN0aW9uIGFuZCBleHRyYWN0aW9u IGZvciB0aGVzZSBwb3J0cy4KPiA+IAo+ID4gRnJhbWUgRE1BIHN1cHBvcnQgZm9yIGluamVjdGlv biBhbmQgZXh0cmFjdGlvbiB3aWxsIGJlIGFkZGVkIGluIGEgbGF0ZXIKPiA+IHNlcmllcy4KPiA+ IAo+ID4gU2lnbmVkLW9mZi1ieTogU3RlZW4gSGVnZWx1bmQgPHN0ZWVuLmhlZ2VsdW5kQG1pY3Jv Y2hpcC5jb20+Cj4gPiBTaWduZWQtb2ZmLWJ5OiBCamFybmkgSm9uYXNzb24gPGJqYXJuaS5qb25h c3NvbkBtaWNyb2NoaXAuY29tPgo+ID4gU2lnbmVkLW9mZi1ieTogTGFycyBQb3Zsc2VuIDxsYXJz LnBvdmxzZW5AbWljcm9jaGlwLmNvbT4KPiAKPiBIaSwKPiAKPiBXaGlsZSBsb29raW5nIGF0IHRo aXMgcGF0Y2gsIEkgZm91bmQgc3Bhcng1X2Rlc3Ryb3lfbmV0ZGV2KCkgd2hpY2ggc2VlbXMKPiB0 byBiZSB1bnJlZmVyZW5jZWQgLSBpdCBtYXkgYmUgcmVmZXJlbmNlZCBpbiBhIGZ1dHVyZSBwYXRj aC4gSG93ZXZlciwKPiB0aGlzIG1lYW5zIHRoYXQgd2hpbGUgc3Bhcng1X2NyZWF0ZV9wb3J0KCkg Y3JlYXRlcyB0aGUgcGh5bGluawo+IHN0cnVjdHVyZSwgdGhlcmUgaXMgbm90aGluZyBpbiB0aGlz IHBhdGNoIHRoYXQgY2xlYW5zIGl0IHVwLgoKWWVzIHRoZSBzcGFyeDVfZGVzdHJveV9uZXRkZXYo KSBpcyBjdXJyZW50bHkgYmVpbmcgYWRkZWQgaW4gYSBsYXRlciBwYXRjaC4gCkkgd2lsbCBtb3Zl IGl0IGhlcmUgaW5zdGVhZC4gCgo+IAo+IEknbSBwdXp6bGVkIGJ5IHRoZSBjYWxsIHRvIHBoeWxp bmtfZGlzY29ubmVjdF9waHkoKSBpbgo+IHNwYXJ4NV9kZXN0cm95X25ldGRldigpIHRvbyAtIHN1 cmVseSBpZiB3ZSBnZXQgdG8gdGhlIHBvaW50IG9mIHRlYXJpbmcKPiBkb3duIHN0dWZmIHRoYXQg d2UndmUgY3JlYXRlZCBhdCBpbml0aWFsaXNhdGlvbiwgdGhlIGludGVyZmFjZSBoYWQKPiBiZXR0 ZXIgYmUgZG93bj8KClllcyB0aGUgdW5yZWdpc3Rlcl9uZXRkZXYgaXMgbWlzc2luZy4gSSB3aWxs IGFkZCB0aGF0IGJlZm9yZSB0aGUgcGh5bGluayBpcyBkZXN0cm95ZWQuCgo+IAo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21pY3JvY2hpcC9zcGFyeDUvc3Bhcng1X3BoeWxp bmsuYwo+ID4gYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9taWNyb2NoaXAvc3Bhcng1L3NwYXJ4NV9w aHlsaW5rLmMKPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiBpbmRleCAwMDAwMDAwMDAwMDAu LmMxN2EzNTAyNjQ1YQo+ID4gLS0tIC9kZXYvbnVsbAo+ID4gKysrIGIvZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWljcm9jaGlwL3NwYXJ4NS9zcGFyeDVfcGh5bGluay5jCj4gPiBAQCAtMCwwICsxLDE4 NSBAQAo+ID4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wKwo+ID4gKy8qIE1p Y3JvY2hpcCBTcGFyeDUgU3dpdGNoIGRyaXZlcgo+ID4gKyAqCj4gPiArICogQ29weXJpZ2h0IChj KSAyMDIxIE1pY3JvY2hpcCBUZWNobm9sb2d5IEluYy4gYW5kIGl0cyBzdWJzaWRpYXJpZXMuCj4g PiArICovCj4gPiArCj4gPiArI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgo+ID4gKyNpbmNsdWRl IDxsaW51eC9waHlsaW5rLmg+Cj4gPiArI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgo+ID4gKyNp bmNsdWRlIDxsaW51eC9uZXRkZXZpY2UuaD4KPiA+ICsjaW5jbHVkZSA8bGludXgvc2ZwLmg+Cj4g PiArCj4gPiArI2luY2x1ZGUgInNwYXJ4NV9tYWluX3JlZ3MuaCIKPiA+ICsjaW5jbHVkZSAic3Bh cng1X21haW4uaCIKPiA+ICsKPiA+ICtzdGF0aWMgdm9pZCBzcGFyeDVfcGh5bGlua192YWxpZGF0 ZShzdHJ1Y3QgcGh5bGlua19jb25maWcgKmNvbmZpZywKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGxv bmcgKnN1cHBvcnRlZCwKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBwaHlsaW5rX2xpbmtfc3RhdGUgKnN0 YXRlKQo+ID4gK3sKPiA+ICvCoMKgwqDCoCBzdHJ1Y3Qgc3Bhcng1X3BvcnQgKnBvcnQgPSBuZXRk ZXZfcHJpdih0b19uZXRfZGV2KGNvbmZpZy0+ZGV2KSk7Cj4gPiArwqDCoMKgwqAgX19FVEhUT09M X0RFQ0xBUkVfTElOS19NT0RFX01BU0sobWFzaykgPSB7IDAsIH07Cj4gPiArCj4gPiArwqDCoMKg wqAgcGh5bGlua19zZXQobWFzaywgQXV0b25lZyk7Cj4gPiArwqDCoMKgwqAgcGh5bGlua19zZXRf cG9ydF9tb2RlcyhtYXNrKTsKPiA+ICvCoMKgwqDCoCBwaHlsaW5rX3NldChtYXNrLCBQYXVzZSk7 Cj4gPiArwqDCoMKgwqAgcGh5bGlua19zZXQobWFzaywgQXN5bV9QYXVzZSk7Cj4gPiArCj4gPiAr wqDCoMKgwqAgc3dpdGNoIChzdGF0ZS0+aW50ZXJmYWNlKSB7Cj4gPiArwqDCoMKgwqAgY2FzZSBQ SFlfSU5URVJGQUNFX01PREVfNUdCQVNFUjoKPiA+ICvCoMKgwqDCoCBjYXNlIFBIWV9JTlRFUkZB Q0VfTU9ERV8xMEdCQVNFUjoKPiA+ICvCoMKgwqDCoCBjYXNlIFBIWV9JTlRFUkZBQ0VfTU9ERV8y NUdCQVNFUjoKPiA+ICvCoMKgwqDCoCBjYXNlIFBIWV9JTlRFUkZBQ0VfTU9ERV9OQToKPiA+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKHBvcnQtPmNvbmYuYmFuZHdpZHRoID09IFNQRUVE XzUwMDApCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwaHls aW5rX3NldChtYXNrLCA1MDAwYmFzZVRfRnVsbCk7Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGlmIChwb3J0LT5jb25mLmJhbmR3aWR0aCA9PSBTUEVFRF8xMDAwMCkgewo+ID4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcGh5bGlua19zZXQobWFzaywgNTAw MGJhc2VUX0Z1bGwpOwo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgcGh5bGlua19zZXQobWFzaywgMTAwMDBiYXNlVF9GdWxsKTsKPiA+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBoeWxpbmtfc2V0KG1hc2ssIDEwMDAwYmFzZUNS X0Z1bGwpOwo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcGh5 bGlua19zZXQobWFzaywgMTAwMDBiYXNlU1JfRnVsbCk7Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwaHlsaW5rX3NldChtYXNrLCAxMDAwMGJhc2VMUl9GdWxs KTsKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBoeWxpbmtf c2V0KG1hc2ssIDEwMDAwYmFzZUxSTV9GdWxsKTsKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHBoeWxpbmtfc2V0KG1hc2ssIDEwMDAwYmFzZUVSX0Z1bGwpOwo+ ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGlmIChwb3J0LT5jb25mLmJhbmR3aWR0aCA9PSBTUEVFRF8yNTAwMCkgewo+ID4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcGh5bGlua19zZXQobWFzaywgNTAw MGJhc2VUX0Z1bGwpOwo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgcGh5bGlua19zZXQobWFzaywgMTAwMDBiYXNlVF9GdWxsKTsKPiA+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBoeWxpbmtfc2V0KG1hc2ssIDEwMDAwYmFzZUNS X0Z1bGwpOwo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcGh5 bGlua19zZXQobWFzaywgMTAwMDBiYXNlU1JfRnVsbCk7Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwaHlsaW5rX3NldChtYXNrLCAxMDAwMGJhc2VMUl9GdWxs KTsKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBoeWxpbmtf c2V0KG1hc2ssIDEwMDAwYmFzZUxSTV9GdWxsKTsKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHBoeWxpbmtfc2V0KG1hc2ssIDEwMDAwYmFzZUVSX0Z1bGwpOwo+ ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcGh5bGlua19zZXQo bWFzaywgMjUwMDBiYXNlQ1JfRnVsbCk7Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBwaHlsaW5rX3NldChtYXNrLCAyNTAwMGJhc2VTUl9GdWxsKTsKPiA+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfQo+IAo+IEkgcmVhbGx5IG5lZWQgdG8gZml4IHBoeWxp bmsgc28gd2Ugc2hvdWxkbid0IGJlIGx5aW5nIGFib3V0IHdoaWNoCj4gc3BlZWRzIGFyZSBzdXBw b3J0ZWQgb3ZlciBhIDEwR0JBU0VSIGxpbmsuLi4gYnV0IHRoYXQncyBzb21ldGhpbmcKPiBmb3Ig dGhlIGZ1dHVyZS4KPiAKPiA+ICtzdGF0aWMgYm9vbCBwb3J0X2NvbmZfaGFzX2NoYW5nZWQoc3Ry dWN0IHNwYXJ4NV9wb3J0X2NvbmZpZyAqYSwgc3RydWN0IHNwYXJ4NV9wb3J0X2NvbmZpZyAqYikK PiA+ICt7Cj4gPiArwqDCoMKgwqAgaWYgKGEtPnNwZWVkICE9IGItPnNwZWVkIHx8Cj4gPiArwqDC oMKgwqDCoMKgwqDCoCBhLT5wb3J0bW9kZSAhPSBiLT5wb3J0bW9kZSB8fAo+ID4gK8KgwqDCoMKg wqDCoMKgwqAgYS0+YXV0b25lZyAhPSBiLT5hdXRvbmVnIHx8Cj4gPiArwqDCoMKgwqDCoMKgwqDC oCBhLT5wYXVzZSAhPSBiLT5wYXVzZSB8fAo+ID4gK8KgwqDCoMKgwqDCoMKgwqAgYS0+cG93ZXJf ZG93biAhPSBiLT5wb3dlcl9kb3duIHx8Cj4gPiArwqDCoMKgwqDCoMKgwqDCoCBhLT5tZWRpYSAh PSBiLT5tZWRpYSkKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHRydWU7Cj4g PiArwqDCoMKgwqAgcmV0dXJuIGZhbHNlOwo+ID4gK30KPiAKPiBTaG91bGQgdGhpcyBiZSBwb3Np dGlvbmVkIHNvbWV3aGVyZSBlbHNlIHJhdGhlciB0aGFuIGluIHRoZSBtaWRkbGUgb2YKPiB0aGUg c3Bhcng1IHBoeWxpbmsgZnVuY3Rpb25zICh0b3Agb2YgZmlsZSBtYXliZT8pCgpJIHdpbGwgbW92 ZSBpdCB0byB0aGUgdG9wLgoKPiAKPiA+ICtzdGF0aWMgdm9pZCBzcGFyeDVfcGh5bGlua19tYWNf Y29uZmlnKHN0cnVjdCBwaHlsaW5rX2NvbmZpZyAqY29uZmlnLAo+ID4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVu c2lnbmVkIGludCBtb2RlLAo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbnN0IHN0cnVjdCBwaHlsaW5rX2xp bmtfc3RhdGUgKnN0YXRlKQo+ID4gK3sKPiA+ICvCoMKgwqDCoCBzdHJ1Y3Qgc3Bhcng1X3BvcnQg KnBvcnQgPSBuZXRkZXZfcHJpdih0b19uZXRfZGV2KGNvbmZpZy0+ZGV2KSk7Cj4gPiArCj4gPiAr wqDCoMKgwqAgcG9ydC0+Y29uZi5hdXRvbmVnID0gc3RhdGUtPmFuX2VuYWJsZWQ7Cj4gPiArwqDC oMKgwqAgcG9ydC0+Y29uZi5wYXVzZSA9IHN0YXRlLT5wYXVzZTsKPiAKPiBXaGF0IGFyZSB5b3Ug ZG9pbmcgd2l0aCBzdGF0ZS0+cGF1c2U/IEl0IGxvb2tzIHRvIG1lIGxpa2UgeW91J3JlIHVzaW5n Cj4gYm90aCBvZiB0aGVzZSB0byBjYXJyeSBjb25maWd1cmF0aW9uIHRvIHBjc19jb25maWc/CgpI bW0uICBJIGhhdmUgbm93IHJlbW92ZWQgdGhhdCwgYW5kIHdpbGwgdGhlIHBjc19jb25maWcoKSB0 byBjb2xsZWN0IHRoZSBhZHZlcnRpc2VkIHBhdXNlIG1vZGUuCgo+IAo+IEdlbmVyYWxseSwgYW5f ZW5hYmxlZCBjYW4gYmUgcHVsbGVkIG91dCBvZiB0aGUgYWR2ZXJ0aXNpbmcgbWFzaywgaXQKPiBz aG91bGQgYWx3YXlzIHJlZmxlY3QgRVRIVE9PTF9MSU5LX01PREVfQXV0b25lZ19CSVQuIFRoZSAi cGF1c2UiCj4gaW50ZXJwcmV0YXRpb24gb2YgdGhlIHBhdXNlIGJpdHMgaGVyZSBhcmUgc29tZXdo YXQgaGFyZHdhcmUgc3BlY2lmaWMuCj4gSXQgZGVwZW5kcyB3aGV0aGVyIHRoZSBNQUMgYXV0b21h dGljYWxseSByZWNlaXZlcyBzdGF0ZSBpbmZvcm1hdGlvbgo+IGZyb20gdGhlIFBDUyBvciBub3Qu IElmIHRoZSBoYXJkd2FyZSBkb2VzLCB0aGVuIE1MT19QQVVTRV9BTiBpbmRpY2F0ZXMKPiB3aGV0 aGVyIHRoYXQgc2hvdWxkIGJlIHBlcm1pdHRlZCBvciBub3QuCj4gCj4gT3RoZXJ3aXNlLCB0aGUg YWR2ZXJ0aXNpbmcgbWFzayBpbiBwY3NfY29uZmlnKCkgaW5kaWNhdGVzIHdoaWNoIHBhdXNlCj4g bW9kZXMgc2hvdWxkIGJlIGFkdmVydGlzZWQsIGFuZCB0aGUgdHhfcGF1c2UvcnhfcGF1c2UgaW4g dGhlCj4gKl9saW5rX3VwKCkgaW5kaWNhdGVzIHdoYXQgc2hvdWxkIGFjdHVhbGx5IGJlIHNldC4K Ck9LLiBJIHdpbGwgdXNlIHRoZSBwY3NfY29uZmlnKCkgdG8gY29sbGVjdCB0aGUgYWR2ZXJ0aXNp bmcgbW9kZSBhbmQgdGhlIC4uX2xpbmtfdXAoKSB0byBjb2xsZWN0IHRoZQpjb25maWd1cmF0aW9u IHZhbHVlLgoKPiAKPiBUaGFua3MuCj4gCj4gLS0KPiBSTUsncyBQYXRjaCBzeXN0ZW06IGh0dHBz Oi8vd3d3LmFybWxpbnV4Lm9yZy51ay9kZXZlbG9wZXIvcGF0Y2hlcy8KPiBGVFRQIGlzIGhlcmUh IDQwTWJwcyBkb3duIDEwTWJwcyB1cC4gRGVjZW50IGNvbm5lY3Rpdml0eSBhdCBsYXN0IQoKLS0g CkJSClN0ZWVuCgotPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09CnN0ZWVuLmhlZ2VsdW5kQG1p Y3JvY2hpcC5jb20KCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlz dHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2xpbnV4LWFybS1rZXJuZWwK