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 63C8FC47DA9 for ; Tue, 30 Jan 2024 17:46:36 +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=ZGbpgWcKew164hHpa4mKXZnSGn7xz29zd7HJInOdjIM=; b=A4upO1h4oOFvVh n4Ng3gsvsfQgbPSZBUsvrzd4ZgnD3aM2FoK/gY/kQDXxIbC5RPXFyaqJ1FA3HYYtTVJSjHD82L626 CoUGg2lWbt4TjyOKkzN9gPUlDg/5uk1a8l3uqii59pfDZ8vfNIge0cNoqIpJ02j2n5V5mAoBRvKjJ pprOACtsURdy37USyBejG/j7ZVB6E0cXfmGbDmMF963TC4j0zof1thCgArVKWRRxkgo76vjsxparS StHGmgcN5zMHM5+gVVRmDa1Zhd9wK0L4rC9qm+Z6RnFmxONgtV7Bm8y2Dpv2wn0WePpn0c0TctuPQ gH5vWHntrcyxsh8CLXfQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rUsBf-000000000oI-2XRJ; Tue, 30 Jan 2024 17:46:19 +0000 Received: from relay2-d.mail.gandi.net ([217.70.183.194]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rUsBb-000000000m0-1X1j; Tue, 30 Jan 2024 17:46:17 +0000 Received: by mail.gandi.net (Postfix) with ESMTPSA id 0E81E40008; Tue, 30 Jan 2024 17:46:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arinc9.com; s=gm1; t=1706636770; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=yeYHVBnNtWoSGK1TX7C9Ukvy1zAdkapytps+F5dGU8A=; b=WYZB4kZxCt5DddXc6lJXra4AMcWfbgZXZXYJ/3lAZqO6HfSqEZgrr6Ql8/Edzo/uQQ/m9e +5e3MSh9bra3/HnMcJrMZgDI/dExZTqlcxwagQcOEHp4v8B5Aw80DaMIaFxv53tXsN95Jp 40NUFim7ysWHJRrbCWRZLiBAHr7r3APoSZpyB8H48u82EyQ5J8TI7qZEUpFh7IxrGk696h sbUor2a5hAeME4dA8Yjz5VCaPq1aHTkvJuhfAjiJjHSvvaqTCi53teTpXfmnYDV3Qc7Sf7 eTyp7ivSSCDNAdleux9heW9Zm+ogIeELdgI1lUPqGRX+JQ6z5zxqpa8ldwnndg== Message-ID: <77c38489-8a73-4b00-bd82-48174b4d620f@arinc9.com> Date: Tue, 30 Jan 2024 20:46:04 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH net-next v2 5/7] net: dsa: mt7530: simplify mt7530_setup_port6() and change to void Content-Language: en-US To: Daniel Golle Cc: DENG Qingfang , Sean Wang , Andrew Lunn , Florian Fainelli , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Matthias Brugger , AngeloGioacchino Del Regno , Russell King , mithat.guner@xeront.com, erkin.bozoglu@xeront.com, Bartel Eerdekens , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org References: <20240130-for-netnext-mt7530-improvements-2-v2-0-ba06f5dd9eb0@arinc9.com> <20240130-for-netnext-mt7530-improvements-2-v2-5-ba06f5dd9eb0@arinc9.com> From: =?UTF-8?B?QXLEsW7DpyDDnE5BTA==?= In-Reply-To: X-GND-Sasl: arinc.unal@arinc9.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240130_094616_119703_B7268CCF X-CRM114-Status: GOOD ( 38.45 ) 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 T24gMzAuMDEuMjAyNCAxODo1OSwgRGFuaWVsIEdvbGxlIHdyb3RlOgo+IE9uIFR1ZSwgSmFuIDMw LCAyMDI0IGF0IDA2OjIwOjUxUE0gKzAzMDAsIEFyxLFuw6cgw5xOQUwgdmlhIEI0IFJlbGF5IHdy b3RlOgo+PiBGcm9tOiBBcsSxbsOnIMOcTkFMIDxhcmluYy51bmFsQGFyaW5jOS5jb20+Cj4+Cj4+ IFRoaXMgY29kZSBpcyBmcm9tIGJlZm9yZSB0aGlzIGRyaXZlciB3YXMgY29udmVydGVkIHRvIHBo eWxpbmsgQVBJLiBQaHlsaW5rCj4+IGRlYWxzIHdpdGggdGhlIHVuc3VwcG9ydGVkIGludGVyZmFj ZSBjYXNlcyBiZWZvcmUgbXQ3NTMwX3NldHVwX3BvcnQ2KCkgaXMKPj4gcnVuLiBUaGVyZWZvcmUs IHRoZSBkZWZhdWx0IGNhc2Ugd291bGQgbmV2ZXIgcnVuLiBIb3dldmVyLCBpdCBtdXN0IGJlCj4+ IGRlZmluZWQgbm9uZXRoZWxlc3MgdG8gaGFuZGxlIGFsbCB0aGUgcmVtYWluaW5nIGVudW1lcmF0 aW9uIHZhbHVlcywgdGhlCj4+IHBoeS1tb2Rlcy4KPj4KPj4gU3dpdGNoIHRvIGlmIHN0YXRlbWVu dCBmb3IgUkdNSUkgYW5kIHJldHVybiB3aGljaCBzaW1wbGlmaWVzIHRoZSBjb2RlIGFuZAo+PiBz YXZlcyBhbiBpbmRlbnQuCj4+Cj4+IFNldCBQNl9JTlRGX01PREUsIHdoaWNoIGlzIHRoZSB0aGUg dGhyZWUgbGVhc3Qgc2lnbmlmaWNhbnQgYml0cyBvZiB0aGUKPj4gTVQ3NTMwX1A2RUNSIHJlZ2lz dGVyLCB0byAwIGZvciBSR01JSSBldmVuIHRob3VnaCBpdCB3aWxsIGFscmVhZHkgYmUgMAo+PiBh ZnRlciByZXNldC4gVGhpcyBpcyB0byBrZWVwIHN1cHBvcnRpbmcgZHluYW1pYyByZWNvbmZpZ3Vy YXRpb24gb2YgdGhlIHBvcnQKPj4gaW4gdGhlIGNhc2UgdGhlIGludGVyZmFjZSBjaGFuZ2VzIGZy b20gVFJHTUlJIHRvIFJHTUlJLiBUaGUgY29yZSBvcGVyYXRpb25zCj4+IGZvciBUUkdNSUkgZG9l cyBub3QgaW50ZXJmZXJlIHdpdGggUkdNSUkgc28gbm8gbmVlZCB0byB1bmRvIHRoZW0uCj4gCj4g VGhhdCBsYXN0IHNlbnRlbmNlIGRvZXNuJ3QgcGFyc2UgRW5nbGlzaCBncmFtYXIuCj4gIm9wZXJh dGlvbnMiOiBwbHVyYWwKPiAiZG9lcyI6IHNpbmd1bGFyCj4gCj4gU2hvdWxkIHByb2JhYmx5IGJl IGVpdGhlciAiVGhlIGNvcmUgb3BlcmF0aW9uIGZvciBUUkdNSUkgZG9lcyBub3QuLi4iCj4gb3Ig IlRoZSBjb3JlIG9wZXJhdGlvbnMgZm9yIFRSR01JSSBkbyBub3QuLi4iCgpJJ2xsIHVzZSB0aGUg bGF0dGVyLCB0aGFua3MuCgo+IAo+IEFzIHlvdSBhcmUgbWVudGlvbmluZyBpdCwgSSdtIG5vdyBj dXJpb3VzIGlmIHlvdSBjb25zaWRlciB0bwo+IGR5bmFtaWNhbGx5IHJlY29uZmlndXJpbmcgVFJH SUlJPC0+UkdNSUkgb24gcG9ydCA2IGRlcGVuZGluZyBvbgo+IHdoZXRoZXIgdGhlcmUgaXMgbW9y ZSB0aGVuIDEgR0JpdC9zIHBvc3NpYmxlIGJhbmR3aWR0aCBuZWVkZWQgYmV0d2Vlbgo+IHBvcnQg NiBhbmQgdGhlIHJlbWFpbmluZyBwb3J0cz8gVGhhdCBjb3VsZCBtYWtlIHNlbnNlIGZvciBwb3dl cgo+IG1hbmFnZW1lbnQsIGJ1dCB0aGVuIHdlIHNob3VsZCBhdCBsZWFzdCBhZ2FpbiBzd2l0Y2gg b2ZmIHRoZSBUUkdNSUkKPiBjbG9ja3MgaW4gdGhlIFJHTUlJIGNhc2UgYmVmb3JlIHJldHVybmlu Zywgc2VlIG15IHN1Z2dlc3Rpb24gaW5saW5lCj4gYmVsb3cuCgpUdXJuaW5nIG9mZiB0aGUgVFJH TUlJIGNsb2NrcyBmb3IgUkdNSUkgbWFrZXMgc2Vuc2UgdG8gbWUuIEJ1dCBJIGRvbid0IHNlZQph bnkgY2FzZXMgd2hlcmUgZHluYW1pYyBpbnRlcmZhY2UgY2hhbmdlIGJldHdlZW4gVFJHTUlJIGFu ZCBSR01JSSB3b3VsZApldmVyIG9jY3VyLiBTcGVlZCB0b28uIE5vIFBIWXMgc3VwcG9ydCBUUkdN SUksIG9ubHkgc29tZSBNZWRpYVRlayBTb0MgTUFDcwpkby4gVGhhdCBtZWFucyBUUkdNSUkgd291 bGQgb25seSBiZSB1c2VkIGluIGZpeGVkIGxpbmtzIHdoaWNoIHRoZXJlIGlzIG5vCmR5bmFtaWMg cmVjb25maWd1cmF0aW9uLiBNeSBwYXRjaCBpcyBhYm91dCBzaW1wbGlmeWluZyB0aGUgY29kZSBz byBJIGRvbid0CndhbnQgdG8gY2hhbmdlIHRoZSBkeW5hbWljIHJlY29uZmlndXJhdGlvbiBiZWhh dmlvdXIuCgpUaGF0IHNhaWQsIGxhc3QgeWVhciwgSSBoYXZlIHZlcnkgdGhvcm91Z2hseSB0ZXN0 ZWQgdGhpcyAidHVyYm8iIFJHTUlJCmludGVyZmFjZSBiZXR3ZWVuIE1UNzUzMCBzdGFuZGFsb25l IHN3aXRjaCBhbmQgTVQ3NjIzTkkgU29DLCB3aGljaCB3b3VsZApzdXBwb3NlZGx5IGFjaGlldmUg MiBHYnBzIFRYICYgMiBHYnBzIFJYLiBUaGUgcGVyZm9ybWFuY2Ugd2FzIGFzIGlmIHRoZQpsaW5r IHdhcyByZWd1bGFyIFJHTUlJLiBVbmxlc3MgdGhlIE1lZGlhVGVrIFNvQyBldGhlcm5ldCBkcml2 ZXIgc29tZWhvdwpjYXBzIFRSR01JSSB0byAxIEdicHMsIEkgY29uc2lkZXIgdGhpcyB3aG9sZSBU UkdNSUkgc2hlbmFuaWdhbnMgYSBzY2FtLCB0bwpiZSBleHRyZW1lbHkgYmx1bnQuIEknbGwgZ2l2 ZSB0aGlzIGEgb25lIGxhc3Qgc2hvdCBzb21ldGltZSBiZWZvcmUgSSBwdXNoCmZvciB0aGUgcmVt b3ZhbCBvZiBUUkdNSUkgZnJvbSBMaW51eCBhbHRvZ2V0aGVyIGFuZCBkZWZhdWx0IHRvIFJHTUlJ IHdoZXJlCml0J3MgdXNlZC4gQmVjYXVzZSBvZiB0aGlzLCBJIGRvbid0IHdhbnQgdG8gc3BlbmQg dG9vIG11Y2ggdGltZSBvbiB0aGlzCnBhdGNoIGFzIGl0J3MgcG90ZW50aWFsbHkgd2FzdGVkIGVm Zm9ydC4KCj4gCj4+Cj4+IFJlYWQgWFRBTCBhZnRlciBjaGVja2luZyBmb3IgUkdNSUkgYXMgaXQn cyBvbmx5IG5lZWRlZCBmb3IgdGhlIFRSR01JSQo+PiBpbnRlcmZhY2UgbW9kZS4KPj4KPj4gQ2hh bmdlIG10NzUzMF9zZXR1cF9wb3J0NigpIHRvIHZvaWQgbm93IHRoYXQgdGhlcmUncmUgbm8gZXJy b3IgY2FzZXMgbGVmdC4KPj4KPj4gU2lnbmVkLW9mZi1ieTogQXLEsW7DpyDDnE5BTCA8YXJpbmMu dW5hbEBhcmluYzkuY29tPgo+IAo+IFJldmlld2VkLWJ5OiBEYW5pZWwgR29sbGUgPGRhbmllbEBt YWtyb3RvcGlhLm9yZz4KPiAKPj4gLS0tCj4+ICAgZHJpdmVycy9uZXQvZHNhL210NzUzMC5jIHwg MTAzICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+ICAg MSBmaWxlIGNoYW5nZWQsIDQzIGluc2VydGlvbnMoKyksIDYwIGRlbGV0aW9ucygtKQo+Pgo+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZHNhL210NzUzMC5jIGIvZHJpdmVycy9uZXQvZHNhL210 NzUzMC5jCj4+IGluZGV4IGM0ZDQ5MmUyOWZkZi4uMzZkYzJiYmNmM2I2IDEwMDY0NAo+PiAtLS0g YS9kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMKPj4gKysrIGIvZHJpdmVycy9uZXQvZHNhL210NzUz MC5jCj4+IEBAIC00MTQsNzAgKzQxNCw1NyBAQCBtdDc1M3hfcHJlZmVycmVkX2RlZmF1bHRfbG9j YWxfY3B1X3BvcnQoc3RydWN0IGRzYV9zd2l0Y2ggKmRzKQo+PiAgIH0KPj4gICAKPj4gICAvKiBT ZXR1cCBwb3J0IDYgaW50ZXJmYWNlIG1vZGUgYW5kIFRSR01JSSBUWCBjaXJjdWl0ICovCj4+IC1z dGF0aWMgaW50Cj4+ICtzdGF0aWMgdm9pZAo+PiAgIG10NzUzMF9zZXR1cF9wb3J0NihzdHJ1Y3Qg ZHNhX3N3aXRjaCAqZHMsIHBoeV9pbnRlcmZhY2VfdCBpbnRlcmZhY2UpCj4+ICAgewo+PiAgIAlz dHJ1Y3QgbXQ3NTMwX3ByaXYgKnByaXYgPSBkcy0+cHJpdjsKPj4gLQl1MzIgbmNwbzEsIHNzY19k ZWx0YSwgdHJnaW50LCB4dGFsOwo+PiAtCj4+IC0JeHRhbCA9IG10NzUzMF9yZWFkKHByaXYsIE1U NzUzMF9NSFdUUkFQKSAmIEhXVFJBUF9YVEFMX01BU0s7Cj4+ICsJdTMyIG5jcG8xLCBzc2NfZGVs dGEsIHh0YWw7Cj4+ICAgCj4+IC0Jc3dpdGNoIChpbnRlcmZhY2UpIHsKPj4gLQljYXNlIFBIWV9J TlRFUkZBQ0VfTU9ERV9SR01JSToKPj4gLQkJdHJnaW50ID0gMDsKPj4gLQkJYnJlYWs7Cj4+IC0J Y2FzZSBQSFlfSU5URVJGQUNFX01PREVfVFJHTUlJOgo+PiAtCQl0cmdpbnQgPSAxOwo+PiAtCQlp ZiAoeHRhbCA9PSBIV1RSQVBfWFRBTF8yNU1IWikKPj4gLQkJCXNzY19kZWx0YSA9IDB4NTc7Cj4+ IC0JCWVsc2UKPj4gLQkJCXNzY19kZWx0YSA9IDB4ODc7Cj4+IC0JCWlmIChwcml2LT5pZCA9PSBJ RF9NVDc2MjEpIHsKPj4gLQkJCS8qIFBMTCBmcmVxdWVuY3k6IDEyNU1IejogMS4wR0JpdCAqLwo+ PiAtCQkJaWYgKHh0YWwgPT0gSFdUUkFQX1hUQUxfNDBNSFopCj4+IC0JCQkJbmNwbzEgPSAweDA2 NDA7Cj4+IC0JCQlpZiAoeHRhbCA9PSBIV1RSQVBfWFRBTF8yNU1IWikKPj4gLQkJCQluY3BvMSA9 IDB4MGEwMDsKPj4gLQkJfSBlbHNlIHsgLyogUExMIGZyZXF1ZW5jeTogMjUwTUh6OiAyLjBHYml0 ICovCj4+IC0JCQlpZiAoeHRhbCA9PSBIV1RSQVBfWFRBTF80ME1IWikKPj4gLQkJCQluY3BvMSA9 IDB4MGM4MDsKPj4gLQkJCWlmICh4dGFsID09IEhXVFJBUF9YVEFMXzI1TUhaKQo+PiAtCQkJCW5j cG8xID0gMHgxNDAwOwo+PiAtCQl9Cj4+IC0JCWJyZWFrOwo+PiAtCWRlZmF1bHQ6Cj4+IC0JCWRl dl9lcnIocHJpdi0+ZGV2LCAieE1JSSBpbnRlcmZhY2UgJWQgbm90IHN1cHBvcnRlZFxuIiwKPj4g LQkJCWludGVyZmFjZSk7Cj4+IC0JCXJldHVybiAtRUlOVkFMOwo+PiArCWlmIChpbnRlcmZhY2Ug PT0gUEhZX0lOVEVSRkFDRV9NT0RFX1JHTUlJKSB7Cj4+ICsJCW10NzUzMF9ybXcocHJpdiwgTVQ3 NTMwX1A2RUNSLCBQNl9JTlRGX01PREVfTUFTSywKPj4gKwkJCSAgIFA2X0lOVEZfTU9ERSgwKSk7 Cj4gCj4gTWF5YmUgYXQgbGVhc3Qgc3dpdGNoIG9mZiBUUkdNSUlDSyBoZXJlIGJlY2F1c2Ugd2Ug YXJlIHN1cmUgd2UgZG9uJ3QgbmVlZCBpdAo+IGluIHRoZSBSR01JSSBjYXNlLCBpZToKPiBjb3Jl X2NsZWFyKHByaXYsIENPUkVfVFJHTUlJX0dTV19DTEtfQ0csIFJFR19UUkdNSUlDS19FTik7Cj4g Cj4gQW5kIHRoYXQgdGhlbiBpcyBhbm90aGVyIGxpbmUgb2YgY29kZSBhbHJlYWR5IHByZXNlbnQg anVzdCBiZWxvdyB3aGljaAo+IG1lYW5zIHlvdSBjb3VsZCBrZWVwIHZhcmlhYmxlIHRyZ2ludCBh cyBpdCB3YXMgYW5kIHJldHVybiBhZnRlcgo+IHN3aXRjaGluZyBvZmYgVFJHTUlJQ0sgYmVsb3cg YW55d2F5Li4uCj4gCj4+ICsJCXJldHVybjsKPj4gICAJfQo+PiAgIAo+PiAtCW10NzUzMF9ybXco cHJpdiwgTVQ3NTMwX1A2RUNSLCBQNl9JTlRGX01PREVfTUFTSywKPj4gLQkJICAgUDZfSU5URl9N T0RFKHRyZ2ludCkpOwo+PiArCW10NzUzMF9ybXcocHJpdiwgTVQ3NTMwX1A2RUNSLCBQNl9JTlRG X01PREVfTUFTSywgUDZfSU5URl9NT0RFKDEpKTsKPj4gICAKPj4gLQlpZiAodHJnaW50KSB7Cj4+ IC0JCS8qIERpc2FibGUgdGhlIE1UNzUzMCBUUkdNSUkgY2xvY2tzICovCj4+IC0JCWNvcmVfY2xl YXIocHJpdiwgQ09SRV9UUkdNSUlfR1NXX0NMS19DRywgUkVHX1RSR01JSUNLX0VOKTsKPj4gKwl4 dGFsID0gbXQ3NTMwX3JlYWQocHJpdiwgTVQ3NTMwX01IV1RSQVApICYgSFdUUkFQX1hUQUxfTUFT SzsKPj4gICAKPj4gLQkJLyogU2V0dXAgdGhlIE1UNzUzMCBUUkdNSUkgVHggQ2xvY2sgKi8KPj4g LQkJY29yZV93cml0ZShwcml2LCBDT1JFX1BMTF9HUk9VUDUsIFJHX0xDRERTX1BDV19OQ1BPMShu Y3BvMSkpOwo+PiAtCQljb3JlX3dyaXRlKHByaXYsIENPUkVfUExMX0dST1VQNiwgUkdfTENERFNf UENXX05DUE8wKDApKTsKPj4gLQkJY29yZV93cml0ZShwcml2LCBDT1JFX1BMTF9HUk9VUDEwLCBS R19MQ0REU19TU0NfREVMVEEoc3NjX2RlbHRhKSk7Cj4+IC0JCWNvcmVfd3JpdGUocHJpdiwgQ09S RV9QTExfR1JPVVAxMSwgUkdfTENERFNfU1NDX0RFTFRBMShzc2NfZGVsdGEpKTsKPj4gLQkJY29y ZV93cml0ZShwcml2LCBDT1JFX1BMTF9HUk9VUDQsCj4+IC0JCQkgICBSR19TWVNQTExfRERTRkJL X0VOIHwgUkdfU1lTUExMX0JJQVNfRU4gfAo+PiAtCQkJICAgUkdfU1lTUExMX0JJQVNfTFBGX0VO KTsKPj4gLQkJY29yZV93cml0ZShwcml2LCBDT1JFX1BMTF9HUk9VUDIsCj4+IC0JCQkgICBSR19T WVNQTExfRU5fTk9STUFMIHwgUkdfU1lTUExMX1ZPREVOIHwKPj4gLQkJCSAgIFJHX1NZU1BMTF9Q T1NESVYoMSkpOwo+PiAtCQljb3JlX3dyaXRlKHByaXYsIENPUkVfUExMX0dST1VQNywKPj4gLQkJ CSAgIFJHX0xDRERTX1BDV19OQ1BPX0NIRyB8IFJHX0xDQ0RTX0MoMykgfAo+PiAtCQkJICAgUkdf TENERFNfUFdEQiB8IFJHX0xDRERTX0lTT19FTik7Cj4+ICsJaWYgKHh0YWwgPT0gSFdUUkFQX1hU QUxfMjVNSFopCj4+ICsJCXNzY19kZWx0YSA9IDB4NTc7Cj4+ICsJZWxzZQo+PiArCQlzc2NfZGVs dGEgPSAweDg3Owo+PiAgIAo+PiAtCQkvKiBFbmFibGUgdGhlIE1UNzUzMCBUUkdNSUkgY2xvY2tz ICovCj4+IC0JCWNvcmVfc2V0KHByaXYsIENPUkVfVFJHTUlJX0dTV19DTEtfQ0csIFJFR19UUkdN SUlDS19FTik7Cj4+ICsJaWYgKHByaXYtPmlkID09IElEX01UNzYyMSkgewo+PiArCQkvKiBQTEwg ZnJlcXVlbmN5OiAxMjVNSHo6IDEuMEdCaXQgKi8KPj4gKwkJaWYgKHh0YWwgPT0gSFdUUkFQX1hU QUxfNDBNSFopCj4+ICsJCQluY3BvMSA9IDB4MDY0MDsKPj4gKwkJaWYgKHh0YWwgPT0gSFdUUkFQ X1hUQUxfMjVNSFopCj4+ICsJCQluY3BvMSA9IDB4MGEwMDsKPj4gKwl9IGVsc2UgeyAvKiBQTEwg ZnJlcXVlbmN5OiAyNTBNSHo6IDIuMEdiaXQgKi8KPj4gKwkJaWYgKHh0YWwgPT0gSFdUUkFQX1hU QUxfNDBNSFopCj4+ICsJCQluY3BvMSA9IDB4MGM4MDsKPj4gKwkJaWYgKHh0YWwgPT0gSFdUUkFQ X1hUQUxfMjVNSFopCj4+ICsJCQluY3BvMSA9IDB4MTQwMDsKPj4gICAJfQo+PiAgIAo+PiAtCXJl dHVybiAwOwo+PiArCS8qIERpc2FibGUgdGhlIE1UNzUzMCBUUkdNSUkgY2xvY2tzICovCj4+ICsJ Y29yZV9jbGVhcihwcml2LCBDT1JFX1RSR01JSV9HU1dfQ0xLX0NHLCBSRUdfVFJHTUlJQ0tfRU4p Owo+IAo+IC4uLiBieSBtb3ZpbmcgdGhpcyBsaW5lIHVwIGFuZCBsZXR0aW5nIGl0IGhhcHBlbiB1 bmNvbmRpdGlvbmFsbHkgZm9yCj4gYm90aCBSR01JSSBhbmQgVFJHTUlJIChpbiBjYXNlIHRoYXQg d29ya3MgYW5kIGRvZXNuJ3QgYnJlYWsgdGhlIFJHTUlJCj4gY2FzZSwgYnV0IEkgYXNzdW1lIGl0 IGRvZXNuJ3QpCgpJJ3ZlIGp1c3QgdGVzdGVkIHRoaXMsIHdvcmtzIGZpbmUuIFRoaXMgbG9va3Mg c2ltcGxlciB0aGFuIGJyaW5naW5nIGJhY2sKdGhlIHRyZ2ludCB2YXJpYWJsZS4KCnN0YXRpYyB2 b2lkCm10NzUzMF9zZXR1cF9wb3J0NihzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIHBoeV9pbnRlcmZh Y2VfdCBpbnRlcmZhY2UpCnsKCXN0cnVjdCBtdDc1MzBfcHJpdiAqcHJpdiA9IGRzLT5wcml2OwoJ dTMyIG5jcG8xLCBzc2NfZGVsdGEsIHh0YWw7CgoJLyogRGlzYWJsZSB0aGUgTVQ3NTMwIFRSR01J SSBjbG9ja3MgKi8KCWNvcmVfY2xlYXIocHJpdiwgQ09SRV9UUkdNSUlfR1NXX0NMS19DRywgUkVH X1RSR01JSUNLX0VOKTsKCglpZiAoaW50ZXJmYWNlID09IFBIWV9JTlRFUkZBQ0VfTU9ERV9SR01J SSkgewoJCW10NzUzMF9ybXcocHJpdiwgTVQ3NTMwX1A2RUNSLCBQNl9JTlRGX01PREVfTUFTSywK CQkJICAgUDZfSU5URl9NT0RFKDApKTsKCQlyZXR1cm47Cgl9CgoJbXQ3NTMwX3Jtdyhwcml2LCBN VDc1MzBfUDZFQ1IsIFA2X0lOVEZfTU9ERV9NQVNLLCBQNl9JTlRGX01PREUoMSkpOwoKLi4uCgpB csSxbsOnCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwps aW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJh ZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51 eC1hcm0ta2VybmVsCg==