This message generated a parse failure. Raw output follows here. Please use 'back' to navigate. From devnull@lkml.org Sun May 17 04:54:03 2026 >From mailfetcher Wed Apr 1 04:05:49 2026 Authentication-Results: pi4.bmw12.nl; dmarc=pass (p=quarantine dis=none) header.from=alliedtelesis.co.nz R-Authentication-Results: VERIFYING; spf=temperror (VERIFYING: error in processing during lookup of "linux-kernel+bounces-1106441-lkml=bmw12.nl@vger.kernel.org": DNS error) smtp.mailfrom="linux-kernel+bounces-1106441-lkml=bmw12.nl@vger.kernel.org" Authentication-Results: pi4.bmw12.nl; dkim=pass (Good 2048 bit rsa-sha256 signature) header.d=alliedtelesis.co.nz header.a=rsa-sha256 Received: from secure.jasper.es [188.166.10.231] by 816f7e925980 with IMAP (fetchmail-6.4.37) for (single-drop); Wed, 01 Apr 2026 04:05:49 +0000 (UTC) Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.90.174.1]) by tor.lore.kernel.org (Postfix) with ESMTP id CDA5530858D9 for ; Wed, 1 Apr 2026 04:05:44 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 716971862A; Wed, 1 Apr 2026 04:05:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=alliedtelesis.co.nz header.i=@alliedtelesis.co.nz header.b="gKkjxya5" Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=202.36.163.20 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775016343; cv=none; b=BSm6xC9t9KGYZjwtcEm9NEv1fx8NKv672y/6jTmOqw7330+/Sl8dUilaLmSMBldJ3p9rEDujAfXh1Kd+JljkDLc8bDKNlB2CRWBYk1SToH4r10Y5aFNk/ZQKT1TJ04SbmFXHNPe0YysaMz5HYkzPLfgxUBi3fKdYXO5FecWPYG4= Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=alliedtelesis.co.nz Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=alliedtelesis.co.nz Received: from svr-chch-ex2.atlnz.lc (Not Verified[2001:df5:b000:bc8::76]) by svr-chch-seg1.atlnz.lc with Trustwave SEG (v8,2,6,11305) id ; Wed, 01 Apr 2026 17:05:38 +1300 Received: from svr-chch-ex2.atlnz.lc (2001:df5:b000:bc8::76) by svr-chch-ex2.atlnz.lc (2001:df5:b000:bc8::76) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.39; Wed, 1 Apr 2026 17:05:37 +1300 Received: from svr-chch-ex2.atlnz.lc ([fe80::a9eb:c9b7:8b52:9567]) by svr-chch-ex2.atlnz.lc ([fe80::a9eb:c9b7:8b52:9567%15]) with mapi id 15.02.1748.039; Wed, 1 Apr 2026 17:05:37 +1300 From: Chris Packham To: Guenter Roeck , "robh@kernel.org" , "krzk+dt@kernel.org" , "conor+dt@kernel.org" Cc: "devicetree@vger.kernel.org" , "linux-hwmon@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH v2 2/2] hwmon: pmbus: Add support for Sony APS-379 Thread-Topic: [PATCH v2 2/2] hwmon: pmbus: Add support for Sony APS-379 Thread-Index: AQHcwYFAc5FPTgz6002NsR+CJ1uhhLXIuroAgAAB7IA= Date: Wed, 1 Apr 2026 04:05:37 +0000 Message-Id: References: <20260401024214.804237-1-chris.packham@alliedtelesis.co.nz> <20260401024214.804237-3-chris.packham@alliedtelesis.co.nz> <451d4cca-5966-4817-92b5-b886c7f7271d@roeck-us.net> In-Reply-To: <451d4cca-5966-4817-92b5-b886c7f7271d@roeck-us.net> Accept-Language: en-NZ, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: list-unsubscribe: Mime-Version: 1.0 X-SEG-SpamProfiler-Score: 0 X-Rspamd-Queue-Id: 4flrxl38fSz1wGX X-Rspamd-Action: no action X-Rspamd-Server: pi4 DQpPbiAwMS8wNC8yMDI2IDE2OjU4LCBHdWVudGVyIFJvZWNrIHdyb3RlOg0KPiBPbiAzLzMxLzI2 IDE5OjQyLCBDaHJpcyBQYWNraGFtIHdyb3RlOg0KPj4gQWRkIHBtYnVzIHN1cHBvcnQgZm9yIFNv bnkgQVBTLTM3OSBwb3dlciBzdXBwbGllcy4gVGhlcmUgYXJlIGEgZmV3IFBNQlVTDQo+PiBjb21t YW5kcyB0aGF0IHJldHVybiBkYXRhIHRoYXQgaXMgdW5kb2N1bWVudGVkL2ludmFsaWQgc28gdGhl c2UgbmVlZCB0bw0KPj4gYmUgcmVqZWN0ZWQgd2l0aCAtRU5YSU8uIFRoZSBSRUFEX1ZPVVQgY29t bWFuZCByZXR1cm5zIGRhdGEgaW4gbGluZWFyMTENCj4+IGZvcm1hdCBpbnN0ZWFkIG9mIGxpbmVh cjE2IHNvIHdlIG5lZWQgdG8gd29ya2Fyb3VuZCB0aGlzLg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6 IENocmlzIFBhY2toYW0gPGNocmlzLnBhY2toYW1AYWxsaWVkdGVsZXNpcy5jby5uej4NCj4+IC0t LQ0KPj4NCj4NCj4gSGVyZSBpcyB0aGUgQUkgZmVlZGJhY2s6DQo+DQo+IGh0dHBzOi8vc2Nhbm1h aWwudHJ1c3R3YXZlLmNvbS8/Yz0yMDk4OCZkPS01Zk02UXlpM2tYNDJib1JlWHZwX0YwNm5oTTFf QVZza1VtbFE3MWMzZyZ1PWh0dHBzJTNhJTJmJTJmc2FzaGlrbyUyZWRldiUyZiUyMyUyZnBhdGNo c2V0JTJmMjAyNjA0MDEwMjQyMTQlMmU4MDQyMzctMS1jaHJpcyUyZXBhY2toYW0lMjU0MGFsbGll ZHRlbGVzaXMlMmVjbyUyZW56IA0KPg0KPg0KPiBBbGwgZ29vZCBwb2ludHMgLi4uDQpZZXAgYWdy ZWVkLiBUaGUgbGFjayBvZiBNT0RVTEVfREVWSUNFX1RBQkxFKCkgaXMgYW4gb21pc3Npb24gb24g bXkgcGFydC4gDQpUaGUgb3RoZXIgdHdvIGFyZSBhcmd1YWJseSBzdHlsZSBidXQgSSBmaW5kIG15 c2VsZiBhZ3JlZWluZyB3aXRoIGJvdGggDQpzdWdnZXN0aW9ucy4gSSdsbCB3YWl0IHRvIHNlbmQg YSB2My4NCj4NCj4NCj4gR3VlbnRlcg0KPg0KPj4gTm90ZXM6DQo+PiDCoMKgwqDCoCBDaGFuZ2Vz IGluIHYyOg0KPj4gwqDCoMKgwqAgLSBTaW1wbGlmeSBjb2RlIHBlciByZWNvbW1lbmRhdGlvbnMg ZnJvbSBHdWVudGVyDQo+PiDCoMKgwqDCoCAtIEFkZCBkcml2ZXIgZG9jdW1lbnRhdGlvbg0KPj4N Cj4+IMKgIERvY3VtZW50YXRpb24vaHdtb24vYXBzLTM3OS5yc3QgfMKgIDU4ICsrKysrKysrKysr DQo+PiDCoCBEb2N1bWVudGF0aW9uL2h3bW9uL2luZGV4LnJzdMKgwqAgfMKgwqAgMSArDQo+PiDC oCBkcml2ZXJzL2h3bW9uL3BtYnVzL0tjb25maWfCoMKgwqDCoCB8wqDCoCA2ICsrDQo+PiDCoCBk cml2ZXJzL2h3bW9uL3BtYnVzL01ha2VmaWxlwqDCoMKgIHzCoMKgIDEgKw0KPj4gwqAgZHJpdmVy cy9od21vbi9wbWJ1cy9hcHMtMzc5LmPCoMKgIHwgMTY4ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrDQo+PiDCoCA1IGZpbGVzIGNoYW5nZWQsIDIzNCBpbnNlcnRpb25zKCspDQo+PiDC oCBjcmVhdGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi9od21vbi9hcHMtMzc5LnJzdA0KPj4g wqAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvaHdtb24vcG1idXMvYXBzLTM3OS5jDQo+Pg0K Pj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaHdtb24vYXBzLTM3OS5yc3QgDQo+PiBiL0Rv Y3VtZW50YXRpb24vaHdtb24vYXBzLTM3OS5yc3QNCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ PiBpbmRleCAwMDAwMDAwMDAwMDAuLjQ2OGVjNWE5OGZkNg0KPj4gLS0tIC9kZXYvbnVsbA0KPj4g KysrIGIvRG9jdW1lbnRhdGlvbi9od21vbi9hcHMtMzc5LnJzdA0KPj4gQEAgLTAsMCArMSw1OCBA QA0KPj4gK0tlcm5lbCBkcml2ZXIgYXBzLTM3OQ0KPj4gKz09PT09PT09PT09PT09PT09PT09PQ0K Pj4gKw0KPj4gK1N1cHBvcnRlZCBjaGlwczoNCj4+ICsNCj4+ICvCoCAqIFNvbnkgQVBTLTM3OQ0K Pj4gKw0KPj4gK8KgwqDCoCBQcmVmaXg6ICdhcHMtMzc5Jw0KPj4gKw0KPj4gK8KgwqDCoCBBZGRy ZXNzZXMgc2Nhbm5lZDogLQ0KPj4gKw0KPj4gKyBBdXRob3JzOg0KPj4gK8KgwqDCoMKgwqDCoMKg IC0gQ2hyaXMgUGFja2hhbQ0KPj4gKw0KPj4gK0Rlc2NyaXB0aW9uDQo+PiArLS0tLS0tLS0tLS0N Cj4+ICsNCj4+ICtUaGlzIGRyaXZlciBpbXBsZW1lbnRzIHN1cHBvcnQgZm9yIHRoZSBQTUJ1cyBt b25pdG9yIG9uIHRoZSBTb255IA0KPj4gQVBTLTM3OQ0KPj4gK21vZHVsYXIgcG93ZXIgc3VwcGx5 LiBUaGUgQVBTLTM3OSBkZXZpYXRlcyBmcm9tIHRoZSBQTUJ1cyBzdGFuZGFyZCANCj4+IGZvciB0 aGUNCj4+ICtSRUFEX1ZPVVQgY29tbWFuZCBieSB1c2luZyB0aGUgbGluZWFyMTEgZm9ybWF0IGlu c3RlYWQgb2YgbGluZWFyMTYuDQo+PiArDQo+PiArVGhlIGtub3duIHN1cHBvcnRlZCBQTUJ1cyBj b21tYW5kcyBhcmU6DQo+PiArDQo+PiArPT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 ID09PT09PT09PSA9PT09PT09ID09PT09DQo+PiArQ21kIEZ1bmN0aW9uwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFByb3RvY29swqAgU2NhbGluZyBCeXRlcw0KPj4g Kz09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PSA9PT09PT09PT0gPT09PT09PSA9PT09 PQ0KPj4gKzAxwqAgT24gLyBPZmYgQ29tbWFuZCAoT1BFUkFUSU9OKcKgIEJ5dGUgUi9XwqAgLS3C oMKgwqDCoMKgIDENCj4+ICsxMMKgIFdSSVRFX1BST1RFQ1TCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBCeXRlIFIvV8KgIC0twqDCoMKgwqDCoCAxDQo+PiArM0LCoCBGQU5fQ09NTUFO RF8xwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgV29yZCBSL1fCoCAtLcKgwqDCoMKg wqAgMg0KPj4gKzQ2wqAgQ3VycmVudCBMaW1pdCAoaW4gcGVyY2VudCnCoMKgwqAgV29yZCBSL1fC oCAyXjDCoMKgwqDCoCAyDQo+PiArNDfCoCBDdXJyZW50IExpbWl0IEZhdWx0IFJlc3BvbnNlwqAg Qnl0ZSBSL1fCoCAtLcKgwqDCoMKgwqAgMQ0KPj4gKzc5wqAgQWxhcm0gRGF0YSBCaXRzIChTVEFU VVNfV09SRCkgV29yZCBSZMKgwqAgLS3CoMKgwqDCoMKgIDINCj4+ICs4QsKgIE91dHB1dCBWb2x0 YWdlIChSRUFEX1ZPVVQpwqDCoMKgIFdvcmQgUmTCoMKgIDJeLTTCoMKgwqAgMg0KPj4gKzhDwqAg T3V0cHV0IEN1cnJlbnQgKFJFQURfSU9VVCnCoMKgwqAgV29yZCBSZMKgwqAgMl4tMsKgwqDCoCAy DQo+PiArOETCoCBQb3dlciBTdXBwbHkgQW1iaWVudCBUZW1wwqDCoMKgwqAgV29yZCBSZMKgwqAg Ml4wwqDCoMKgwqAgMg0KPj4gKzkwwqAgUkVBRF9GQU5fU1BFRURfMcKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIFdvcmQgUmTCoMKgIDJeNsKgwqDCoMKgIDINCj4+ICs5McKgIFJFQURfRkFOX1NQ RUVEXzLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBXb3JkIFJkwqDCoCAyXjbCoMKgwqDCoCAy DQo+PiArOTbCoCBPdXRwdXQgV2F0dGFnZSAoUkVBRF9QT1VUKcKgwqDCoCBXb3JkIFJkwqDCoCAy XjHCoMKgwqDCoCAyDQo+PiArOTfCoCBJbnB1dCBXYXR0YWdlIChSRUFEX1BJTinCoMKgwqDCoMKg IFdvcmQgUmTCoMKgIDJeMcKgwqDCoMKgIDINCj4+ICs5QcKgIFVuaXQgTW9kZWwgTnVtYmVyIChN RlJfTU9ERUwpIEJsb2NrIFIvVyAtLcKgwqDCoMKgwqAgMTANCj4+ICs5QsKgIFVuaXQgUmV2aXNp b24gTnVtYmVywqDCoMKgwqDCoMKgwqDCoMKgIEJsb2NrIFIvVyAtLcKgwqDCoMKgwqAgMTANCj4+ ICs5RcKgIFVuaXQgU2VyaWFsIE51bWJlcsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQmxvY2sgUi9X IC0twqDCoMKgwqDCoCA4DQo+PiArOTnCoCBVbml0IE1hbnVmYWN0dXJlciBJRCAoTUZSX0lEKSBC bG9jayBSL1cgLS3CoMKgwqDCoMKgIDgNCj4+ICtEMMKgIFVuaXQgUnVuIFRpbWUgSW5mb3JtYXRp b27CoMKgwqDCoCBCbG9jayBSZMKgIC0twqDCoMKgwqDCoCA0DQo+PiArRDXCoCBGaXJtd2FyZSBW ZXJzaW9uwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgUmQgY3VzdMKgwqAgLS3CoMKgwqDCoMKg IDgNCj4+ICtCMMKgIFVzZXIgRGF0YSAxIChVU0VSX0RBVEFfMDApwqDCoMKgIEJsb2NrIFIvVyAt LcKgwqDCoMKgwqAgNA0KPj4gK0IxwqAgVXNlciBEYXRhIDIgKFVTRVJfREFUQV8wMSnCoMKgwqAg QmxvY2sgUi9XIC0twqDCoMKgwqDCoCA0DQo+PiArQjLCoCBVc2VyIERhdGEgMyAoVVNFUl9EQVRB XzAyKcKgwqDCoCBCbG9jayBSL1cgLS3CoMKgwqDCoMKgIDQNCj4+ICtCM8KgIFVzZXIgRGF0YSA0 IChVU0VSX0RBVEFfMDMpwqDCoMKgIEJsb2NrIFIvVyAtLcKgwqDCoMKgwqAgNA0KPj4gK0I0wqAg VXNlciBEYXRhIDUgKFVTRVJfREFUQV8wNCnCoMKgwqAgQmxvY2sgUi9XIC0twqDCoMKgwqDCoCA0 DQo+PiArQjXCoCBVc2VyIERhdGEgNiAoVVNFUl9EQVRBXzA1KcKgwqDCoCBCbG9jayBSL1cgLS3C oMKgwqDCoMKgIDQNCj4+ICtCNsKgIFVzZXIgRGF0YSA3IChVU0VSX0RBVEFfMDYpwqDCoMKgIEJs b2NrIFIvVyAtLcKgwqDCoMKgwqAgNA0KPj4gK0I3wqAgVXNlciBEYXRhIDggKFVTRVJfREFUQV8w NynCoMKgwqAgQmxvY2sgUi9XIC0twqDCoMKgwqDCoCA0DQo+PiArRjDCoCBDYWxpYnJhdGlvbiBj b21tYW5kwqDCoMKgwqDCoMKgwqDCoMKgwqAgQnl0ZSBSL1fCoCAtLcKgwqDCoMKgwqAgMQ0KPj4g K0YxwqAgQ2FsaWJyYXRpb24gZGF0YcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFdvcmQgV3LC oMKgIDJeOcKgwqDCoMKgIDINCj4+ICtGMsKgIFVubG9jayBDYWxpYnJhdGlvbsKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgQnl0ZSBXcsKgwqAgLS3CoMKgwqDCoMKgIDENCj4+ICs9PT0gPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0gPT09PT09PT09ID09PT09PT0gPT09PT0NCj4+ICsNCj4+IGRp ZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2h3bW9uL2luZGV4LnJzdCANCj4+IGIvRG9jdW1lbnRh dGlvbi9od21vbi9pbmRleC5yc3QNCj4+IGluZGV4IGIyY2E4NTEzY2ZjZC4uMmJjOGQ4OGI1NzI0 IDEwMDY0NA0KPj4gLS0tIGEvRG9jdW1lbnRhdGlvbi9od21vbi9pbmRleC5yc3QNCj4+ICsrKyBi L0RvY3VtZW50YXRpb24vaHdtb24vaW5kZXgucnN0DQo+PiBAQCAtNDEsNiArNDEsNyBAQCBIYXJk d2FyZSBNb25pdG9yaW5nIEtlcm5lbCBEcml2ZXJzDQo+PiDCoMKgwqDCoCBhZHQ3NDc1DQo+PiDC oMKgwqDCoCBhaHQxMA0KPj4gwqDCoMKgwqAgYW1jNjgyMQ0KPj4gK8KgwqAgYXBzLTM3OQ0KPj4g wqDCoMKgwqAgYXF1YWNvbXB1dGVyX2Q1bmV4dA0KPj4gwqDCoMKgwqAgYXNiMTAwDQo+PiDCoMKg wqDCoCBhc2M3NjIxDQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9od21vbi9wbWJ1cy9LY29uZmln IGIvZHJpdmVycy9od21vbi9wbWJ1cy9LY29uZmlnDQo+PiBpbmRleCBmYzEyNzNhYmUzNTcuLjI5 MDc2OTIxZTMzMCAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvaHdtb24vcG1idXMvS2NvbmZpZw0K Pj4gKysrIGIvZHJpdmVycy9od21vbi9wbWJ1cy9LY29uZmlnDQo+PiBAQCAtNzcsNiArNzcsMTIg QEAgY29uZmlnIFNFTlNPUlNfQURQMTA1MF9SRUdVTEFUT1INCj4+IMKgwqDCoMKgwqDCoMKgIMK1 TW9kdWxlIHJlZ3VsYXRvcnMgdGhhdCBjYW4gcHJvdmlkZSBtaWNyb3Byb2Nlc3NvciBwb3dlciBm cm9tIA0KPj4gNTRWDQo+PiDCoMKgwqDCoMKgwqDCoCBwb3dlciBkaXN0cmlidXRpb24gYXJjaGl0 ZWN0dXJlLg0KPj4gwqAgK2NvbmZpZyBTRU5TT1JTX0FQU18zNzkNCj4+ICvCoMKgwqAgdHJpc3Rh dGUgIlNvbnkgQVBTLTM3OSBQb3dlciBTdXBwbGllcyINCj4+ICvCoMKgwqAgaGVscA0KPj4gK8Kg wqDCoMKgwqAgSWYgeW91IHNheSB5ZXMgaGVyZSB5b3UgZ2V0IGhhcmR3YXJlIG1vbml0b3Jpbmcg c3VwcG9ydCBmb3IgU29ueQ0KPj4gK8KgwqDCoMKgwqAgQVBTLTM3OSBQb3dlciBTdXBwbGllcy4N Cj4+ICsNCj4+IMKgIGNvbmZpZyBTRU5TT1JTX0JFTF9QRkUNCj4+IMKgwqDCoMKgwqAgdHJpc3Rh dGUgIkJlbCBQRkUgQ29tcGF0aWJsZSBQb3dlciBTdXBwbGllcyINCj4+IMKgwqDCoMKgwqAgaGVs cA0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaHdtb24vcG1idXMvTWFrZWZpbGUgYi9kcml2ZXJz L2h3bW9uL3BtYnVzL01ha2VmaWxlDQo+PiBpbmRleCBkNmM4NjkyNGY4ODcuLjk0ZjM2YzcwNjll YyAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvaHdtb24vcG1idXMvTWFrZWZpbGUNCj4+ICsrKyBi L2RyaXZlcnMvaHdtb24vcG1idXMvTWFrZWZpbGUNCj4+IEBAIC05LDYgKzksNyBAQCBvYmotJChD T05GSUdfU0VOU09SU19BQ0JFTF9GU0cwMzIpICs9IGFjYmVsLWZzZzAzMi5vDQo+PiDCoCBvYmot JChDT05GSUdfU0VOU09SU19BRE0xMjY2KcKgwqDCoCArPSBhZG0xMjY2Lm8NCj4+IMKgIG9iai0k KENPTkZJR19TRU5TT1JTX0FETTEyNzUpwqDCoMKgICs9IGFkbTEyNzUubw0KPj4gwqAgb2JqLSQo Q09ORklHX1NFTlNPUlNfQURQMTA1MCnCoMKgwqAgKz0gYWRwMTA1MC5vDQo+PiArb2JqLSQoQ09O RklHX1NFTlNPUlNfQVBTXzM3OSnCoMKgwqAgKz0gYXBzLTM3OS5vDQo+PiDCoCBvYmotJChDT05G SUdfU0VOU09SU19CRUxfUEZFKcKgwqDCoCArPSBiZWwtcGZlLm8NCj4+IMKgIG9iai0kKENPTkZJ R19TRU5TT1JTX0JQQV9SUzYwMCnCoMKgwqAgKz0gYnBhLXJzNjAwLm8NCj4+IMKgIG9iai0kKENP TkZJR19TRU5TT1JTX0RFTFRBX0FIRTUwRENfRkFOKSArPSBkZWx0YS1haGU1MGRjLWZhbi5vDQo+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9od21vbi9wbWJ1cy9hcHMtMzc5LmMgDQo+PiBiL2RyaXZl cnMvaHdtb24vcG1idXMvYXBzLTM3OS5jDQo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPj4gaW5k ZXggMDAwMDAwMDAwMDAwLi5lZGM0ODk1NTg0MzcNCj4+IC0tLSAvZGV2L251bGwNCj4+ICsrKyBi L2RyaXZlcnMvaHdtb24vcG1idXMvYXBzLTM3OS5jDQo+PiBAQCAtMCwwICsxLDE2OCBAQA0KPj4g Ky8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyDQo+PiArLyoNCj4+ ICsgKiBIYXJkd2FyZSBtb25pdG9yaW5nIGRyaXZlciBmb3IgU29ueSBBUFMtMzc5IFBvd2VyIFN1 cHBsaWVzDQo+PiArICoNCj4+ICsgKiBDb3B5cmlnaHQgMjAyNiBBbGxpZWQgVGVsZXNpcyBMYWJz DQo+PiArICovDQo+PiArDQo+PiArI2luY2x1ZGUgPGxpbnV4L2kyYy5oPg0KPj4gKyNpbmNsdWRl IDxsaW51eC9pbml0Lmg+DQo+PiArI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPg0KPj4gKyNpbmNs dWRlIDxsaW51eC9tb2R1bGUuaD4NCj4+ICsjaW5jbHVkZSA8bGludXgvcG1idXMuaD4NCj4+ICsj aW5jbHVkZSAicG1idXMuaCINCj4+ICsNCj4+ICtzdHJ1Y3QgYXBzXzM3OV9kYXRhIHsNCj4+ICvC oMKgwqAgc3RydWN0IHBtYnVzX2RyaXZlcl9pbmZvIGluZm87DQo+PiArwqDCoMKgIHU4IHZvdXRf bGluZWFyX2V4cG9uZW50Ow0KPj4gK307DQo+PiArDQo+PiArI2RlZmluZSB0b19hcHNfMzc5X2Rh dGEoeCkgY29udGFpbmVyX29mKHgsIHN0cnVjdCBhcHNfMzc5X2RhdGEsIGluZm8pDQo+PiArDQo+ PiArc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkIGFwc18zNzlfaWRbXSA9IHsNCj4+ ICvCoMKgwqAgeyAiYXBzLTM3OSIsIDAgfSwNCj4+ICvCoMKgwqAge30sDQo+PiArfTsNCj4+ICsN Cj4+ICtzdGF0aWMgaW50IGFwc18zNzlfcmVhZF9ieXRlX2RhdGEoc3RydWN0IGkyY19jbGllbnQg KmNsaWVudCwgaW50IA0KPj4gcGFnZSwgaW50IHJlZykNCj4+ICt7DQo+PiArwqDCoMKgIGNvbnN0 IHN0cnVjdCBwbWJ1c19kcml2ZXJfaW5mbyAqaW5mbyA9IA0KPj4gcG1idXNfZ2V0X2RyaXZlcl9p bmZvKGNsaWVudCk7DQo+PiArwqDCoMKgIHN0cnVjdCBhcHNfMzc5X2RhdGEgKmRhdGEgPSB0b19h cHNfMzc5X2RhdGEoaW5mbyk7DQo+PiArDQo+PiArwqDCoMKgIHN3aXRjaCAocmVnKSB7DQo+PiAr wqDCoMKgIGNhc2UgUE1CVVNfVk9VVF9NT0RFOg0KPj4gK8KgwqDCoMKgwqDCoMKgIC8qDQo+PiAr wqDCoMKgwqDCoMKgwqDCoCAqIFRoZSBWT1VUIGZvcm1hdCB1c2VkIGJ5IHRoZSBjaGlwIGlzIGxp bmVhcjExLA0KPj4gK8KgwqDCoMKgwqDCoMKgwqAgKiBub3QgbGluZWFyMTYuIFJlcG9ydCB0aGF0 IFZPVVQgaXMgaW4gbGluZWFyIG1vZGUNCj4+ICvCoMKgwqDCoMKgwqDCoMKgICogYW5kIHJldHVy biBleHBvbmVudCB2YWx1ZSBleHRyYWN0ZWQgd2hpbGUgcHJvYmluZw0KPj4gK8KgwqDCoMKgwqDC oMKgwqAgKiB0aGUgY2hpcC4NCj4+ICvCoMKgwqDCoMKgwqDCoMKgICovDQo+PiArwqDCoMKgwqDC oMKgwqAgcmV0dXJuIGRhdGEtPnZvdXRfbGluZWFyX2V4cG9uZW50Ow0KPj4gK8KgwqDCoCBkZWZh dWx0Og0KPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiAtRU5PREFUQTsNCj4+ICvCoMKgwqAgfQ0K Pj4gK30NCj4+ICsNCj4+ICsvKg0KPj4gKyAqIFRoZSBBUFMtMzc5IHVzZXMgbGluZWFyMTEgZm9y bWF0IGluc3RlYWQgb2YgbGluZWFyMTYuIFdlJ3ZlIA0KPj4gcmVwb3J0ZWQgdGhlIGV4cG9uZW50 DQo+PiArICogdmlhIHRoZSBQTUJVU19WT1VUX01PREUgc28gd2UganVzdCByZXR1cm4gdGhlIG1h bnRpc3NhIGhlcmUuDQo+PiArICovDQo+PiArc3RhdGljIGludCBhcHNfMzc5X3JlYWRfdm91dChz dHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQ0KPj4gK3sNCj4+ICvCoMKgwqAgaW50IHJldDsNCj4+ ICsNCj4+ICvCoMKgwqAgcmV0ID0gcG1idXNfcmVhZF93b3JkX2RhdGEoY2xpZW50LCAwLCAweGZm LCBQTUJVU19SRUFEX1ZPVVQpOw0KPj4gK8KgwqDCoCBpZiAocmV0IDwgMCkNCj4+ICvCoMKgwqDC oMKgwqDCoCByZXR1cm4gcmV0Ow0KPj4gKw0KPj4gK8KgwqDCoCByZXR1cm4gc2lnbl9leHRlbmQz MihyZXQgJiAweDdmZiwgMTEpOw0KPj4gK30NCj4+ICsNCj4+ICtzdGF0aWMgaW50IGFwc18zNzlf cmVhZF93b3JkX2RhdGEoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgaW50IA0KPj4gcGFnZSwg aW50IHBoYXNlLCBpbnQgcmVnKQ0KPj4gK3sNCj4+ICvCoMKgwqAgc3dpdGNoIChyZWcpIHsNCj4+ ICvCoMKgwqAgY2FzZSBQTUJVU19WT1VUX1VWX1dBUk5fTElNSVQ6DQo+PiArwqDCoMKgIGNhc2Ug UE1CVVNfVk9VVF9PVl9XQVJOX0xJTUlUOg0KPj4gK8KgwqDCoCBjYXNlIFBNQlVTX1ZPVVRfVVZf RkFVTFRfTElNSVQ6DQo+PiArwqDCoMKgIGNhc2UgUE1CVVNfVk9VVF9PVl9GQVVMVF9MSU1JVDoN Cj4+ICvCoMKgwqAgY2FzZSBQTUJVU19QSU5fT1BfV0FSTl9MSU1JVDoNCj4+ICvCoMKgwqAgY2Fz ZSBQTUJVU19QT1VUX09QX1dBUk5fTElNSVQ6DQo+PiArwqDCoMKgIGNhc2UgUE1CVVNfTUZSX0lJ Tl9NQVg6DQo+PiArwqDCoMKgIGNhc2UgUE1CVVNfTUZSX1BJTl9NQVg6DQo+PiArwqDCoMKgIGNh c2UgUE1CVVNfTUZSX1ZPVVRfTUlOOg0KPj4gK8KgwqDCoCBjYXNlIFBNQlVTX01GUl9WT1VUX01B WDoNCj4+ICvCoMKgwqAgY2FzZSBQTUJVU19NRlJfSU9VVF9NQVg6DQo+PiArwqDCoMKgIGNhc2Ug UE1CVVNfTUZSX1BPVVRfTUFYOg0KPj4gK8KgwqDCoCBjYXNlIFBNQlVTX01GUl9NQVhfVEVNUF8x Og0KPj4gK8KgwqDCoMKgwqDCoMKgIC8qIFRoZXNlIGNvbW1hbmRzIHJldHVybiBkYXRhIGJ1dCBp dCBpcyANCj4+IGludmFsaWQvdW4tZG9jdW1lbnRlZCAqLw0KPj4gK8KgwqDCoMKgwqDCoMKgIHJl dHVybiAtRU5YSU87DQo+PiArwqDCoMKgIGNhc2UgUE1CVVNfUkVBRF9WT1VUOg0KPj4gK8KgwqDC oMKgwqDCoMKgIHJldHVybiBhcHNfMzc5X3JlYWRfdm91dChjbGllbnQpOw0KPj4gK8KgwqDCoCBk ZWZhdWx0Og0KPj4gK8KgwqDCoMKgwqDCoMKgIGlmIChyZWcgPj0gUE1CVVNfVklSVF9CQVNFKQ0K Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIC1FTlhJTzsNCj4+ICvCoMKgwqDCoMKg wqDCoCBlbHNlDQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gLUVOT0RBVEE7DQo+ PiArwqDCoMKgIH0NCj4+ICt9DQo+PiArDQo+PiArc3RhdGljIHN0cnVjdCBwbWJ1c19kcml2ZXJf aW5mbyBhcHNfMzc5X2luZm8gPSB7DQo+PiArwqDCoMKgIC5wYWdlcyA9IDEsDQo+PiArwqDCoMKg IC5mb3JtYXRbUFNDX1ZPTFRBR0VfT1VUXSA9IGxpbmVhciwNCj4+ICvCoMKgwqAgLmZvcm1hdFtQ U0NfQ1VSUkVOVF9PVVRdID0gbGluZWFyLA0KPj4gK8KgwqDCoCAuZm9ybWF0W1BTQ19QT1dFUl0g PSBsaW5lYXIsDQo+PiArwqDCoMKgIC5mb3JtYXRbUFNDX1RFTVBFUkFUVVJFXSA9IGxpbmVhciwN Cj4+ICvCoMKgwqAgLmZvcm1hdFtQU0NfRkFOXSA9IGxpbmVhciwNCj4+ICvCoMKgwqAgLmZ1bmNb MF0gPSBQTUJVU19IQVZFX1ZPVVQgfA0KPj4gK8KgwqDCoMKgwqDCoMKgIFBNQlVTX0hBVkVfSU9V VCB8DQo+PiArwqDCoMKgwqDCoMKgwqAgUE1CVVNfSEFWRV9QSU4gfCBQTUJVU19IQVZFX1BPVVQg fA0KPj4gK8KgwqDCoMKgwqDCoMKgIFBNQlVTX0hBVkVfVEVNUCB8DQo+PiArwqDCoMKgwqDCoMKg wqAgUE1CVVNfSEFWRV9GQU4xMiwNCj4+ICvCoMKgwqAgLnJlYWRfYnl0ZV9kYXRhID0gYXBzXzM3 OV9yZWFkX2J5dGVfZGF0YSwNCj4+ICvCoMKgwqAgLnJlYWRfd29yZF9kYXRhID0gYXBzXzM3OV9y ZWFkX3dvcmRfZGF0YSwNCj4+ICt9Ow0KPj4gKw0KPj4gK3N0YXRpYyBpbnQgYXBzXzM3OV9wcm9i ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQ0KPj4gK3sNCj4+ICvCoMKgwqAgc3RydWN0IGRl dmljZSAqZGV2ID0gJmNsaWVudC0+ZGV2Ow0KPj4gK8KgwqDCoCBzdHJ1Y3QgcG1idXNfZHJpdmVy X2luZm8gKmluZm87DQo+PiArwqDCoMKgIHN0cnVjdCBhcHNfMzc5X2RhdGEgKmRhdGE7DQo+PiAr wqDCoMKgIHU4IGJ1ZltJMkNfU01CVVNfQkxPQ0tfTUFYICsgMV07DQo+PiArwqDCoMKgIGludCBy ZXQ7DQo+PiArDQo+PiArwqDCoMKgIGRhdGEgPSBkZXZtX2t6YWxsb2MoJmNsaWVudC0+ZGV2LCBz aXplb2YoKmRhdGEpLCBHRlBfS0VSTkVMKTsNCj4+ICvCoMKgwqAgaWYgKCFkYXRhKQ0KPj4gK8Kg wqDCoMKgwqDCoMKgIHJldHVybiAtRU5PTUVNOw0KPj4gKw0KPj4gK8KgwqDCoCBtZW1jcHkoJmRh dGEtPmluZm8sICZhcHNfMzc5X2luZm8sIHNpemVvZigqaW5mbykpOw0KPj4gK8KgwqDCoCBpbmZv ID0gJmRhdGEtPmluZm87DQo+PiArDQo+PiArwqDCoMKgIGlmICghaTJjX2NoZWNrX2Z1bmN0aW9u YWxpdHkoY2xpZW50LT5hZGFwdGVyLA0KPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgSTJDX0ZVTkNfU01CVVNfUkVBRF9CWVRFX0RBVEENCj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgSTJDX0ZVTkNfU01CVVNfUkVBRF9XT1JE X0RBVEENCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgSTJD X0ZVTkNfU01CVVNfUkVBRF9CTE9DS19EQVRBKSkNCj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4g LUVOT0RFVjsNCj4+ICsNCj4+ICvCoMKgwqAgcmV0ID0gaTJjX3NtYnVzX3JlYWRfYmxvY2tfZGF0 YShjbGllbnQsIFBNQlVTX01GUl9NT0RFTCwgYnVmKTsNCj4+ICvCoMKgwqAgaWYgKHJldCA8IDAp IHsNCj4+ICvCoMKgwqDCoMKgwqDCoCBkZXZfZXJyKGRldiwgIkZhaWxlZCB0byByZWFkIE1hbnVm YWN0dXJlciBNb2RlbFxuIik7DQo+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHJldDsNCj4+ICvC oMKgwqAgfQ0KPj4gKw0KPj4gK8KgwqDCoCBpZiAoc3RybmNhc2VjbXAoYnVmLCANCj4+IGh0dHA6 Ly9zY2FubWFpbC50cnVzdHdhdmUuY29tLz9jPTIwOTg4JmQ9LTVmTTZReWkza1g0MmJvUmVYdnBf RjA2bmhNMV9BVnNrUnp3RS1ZUGlRJnU9aHR0cCUzYSUyZiUyZmFwcyU1ZjM3OSU1ZmlkJTViMCU1 ZCUyZW5hbWUgDQo+PiBzdHJsZW4oYXBzXzM3OV9pZFswXS5uYW1lKSkgIT0gMCkgew0KPj4gK8Kg wqDCoMKgwqDCoMKgIGJ1ZltyZXRdID0gJ1wwJzsNCj4+ICvCoMKgwqDCoMKgwqDCoCBkZXZfZXJy KGRldiwgIlVuc3VwcG9ydGVkIE1hbnVmYWN0dXJlciBNb2RlbCAnJXMnXG4iLCBidWYpOw0KPj4g K8KgwqDCoMKgwqDCoMKgIHJldHVybiAtRU5PREVWOw0KPj4gK8KgwqDCoCB9DQo+PiArDQo+PiAr wqDCoMKgIHJldCA9IGkyY19zbWJ1c19yZWFkX3dvcmRfZGF0YShjbGllbnQsIFBNQlVTX1JFQURf Vk9VVCk7DQo+PiArwqDCoMKgIGlmIChyZXQgPCAwKSB7DQo+PiArwqDCoMKgwqDCoMKgwqAgZGV2 X2VycihkZXYsICJDYW4ndCBnZXQgdm91dCBleHBvbmVudC5cbiIpOw0KPj4gK8KgwqDCoMKgwqDC oMKgIHJldHVybiByZXQ7DQo+PiArwqDCoMKgIH0NCj4+ICvCoMKgwqAgZGF0YS0+dm91dF9saW5l YXJfZXhwb25lbnQgPSAodTgpKChyZXQgPj4gMTEpICYgMHgxZik7DQo+PiArDQo+PiArwqDCoMKg IHJldHVybiBwbWJ1c19kb19wcm9iZShjbGllbnQsIGluZm8pOw0KPj4gK30NCj4+ICsNCj4+ICtz dGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBfX21heWJlX3VudXNlZCBhcHNfMzc5X29m X21hdGNoW10gPSB7DQo+PiArwqDCoMKgIHsgLmNvbXBhdGlibGUgPSAic29ueSxhcHMtMzc5IiB9 LA0KPj4gK8KgwqDCoCB7fSwNCj4+ICt9Ow0KPj4gK01PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIGFw c18zNzlfb2ZfbWF0Y2gpOw0KPj4gKw0KPj4gK3N0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciBhcHNf Mzc5X2RyaXZlciA9IHsNCj4+ICvCoMKgwqAgLmRyaXZlciA9IHsNCj4+ICvCoMKgwqDCoMKgwqDC oCAubmFtZSA9ICJhcHMtMzc5IiwNCj4+ICvCoMKgwqDCoMKgwqDCoCAub2ZfbWF0Y2hfdGFibGUg PSBvZl9tYXRjaF9wdHIoYXBzXzM3OV9vZl9tYXRjaCksDQo+PiArwqDCoMKgIH0sDQo+PiArwqDC oMKgIC5wcm9iZSA9IGFwc18zNzlfcHJvYmUsDQo+PiArwqDCoMKgIC5pZF90YWJsZSA9IGFwc18z NzlfaWQsDQo+PiArfTsNCj4+ICsNCj4+ICttb2R1bGVfaTJjX2RyaXZlcihhcHNfMzc5X2RyaXZl cik7DQo+PiArDQo+PiArTU9EVUxFX0FVVEhPUigiQ2hyaXMgUGFja2hhbSIpOw0KPj4gK01PRFVM RV9ERVNDUklQVElPTigiUE1CdXMgZHJpdmVyIGZvciBTb255IEFQUy0zNzkiKTsNCj4+ICtNT0RV TEVfTElDRU5TRSgiR1BMIik7DQo+PiArTU9EVUxFX0lNUE9SVF9OUygiUE1CVVMiKTs=