Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp370074ybb; Wed, 1 Apr 2020 01:27:37 -0700 (PDT) X-Google-Smtp-Source: APiQypIBTcMHHQjmGjyQidIoA+wE3VWkyNGl1FKTl3Q13ByIDmdgCGABlkBPbChVptc0xTpI7MFE X-Received: by 2002:aca:a9d4:: with SMTP id s203mr2034398oie.106.1585729657791; Wed, 01 Apr 2020 01:27:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585729657; cv=none; d=google.com; s=arc-20160816; b=Hy9cel7xVwJe8mk5+l68c0dTrB0ctpXLEF0d1Z+NKJOfMhk0X2jJ70cHYBpnNwYTff LuP1qy42nitCM1JoKqBSgTAL+iVKfjVk7iww0fENdmMP1ehpOjyzcOuIiry7kiftpKJK CQwETjW9Q202UhZzdlcj4NmUHMbTYqMJcYcwpyuWYo9GE0QtVzknir4qBwL/gkMHXnCi RmoC+XM8yKu/MToeG8wlaA2Ohs9XOGzpOPHLKRzYwMPZQjjIjq+Gr3x1EOsIxdsgkqyv GB11qn66FqFcWgl25+rEmrFKIR4bMGZWNAMzRMJhrB6gTt1RoHsEWvwKL1CzxKwn+oXX cabw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:date:cc:to:from:subject:message-id :dkim-signature; bh=KAc2JVwQuKcaNBn24f4yGzswCmaLnRG+W1Uvy/qyynU=; b=zmGkR1oNv6pkzC1vRwaC50E0G3u5TpCbYEo5ln+6FCioInkSqW0XVolk7lYWt2TGst MiaTlX4p0iJNvFfNhBIUjh0qtCBqqHuudmK1A8dFPyQWxblCFfkAqGiSVz9rvdbnDeXc SdMAXIA9Q95uHBXs2jXQQq2JZXQb3eKEaKXauJg+zBmtfheOH5wRXSYwAhMS8Z2QBEio 7DEWX3Xjd8+NOhzuGZVm63oPg23ekGRNgCrDeYcSH3TcTzY8bgufMzTNWw6inr+54zKr w2wlnUhmj7XfFvW8ne71/JNDJ1ugk6QwxkL3IZaoNvog7mmRI2wj9fNJJsVi1ZfBaDsj aIrQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=VghYf4mc; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z139si459217ooa.70.2020.04.01.01.27.25; Wed, 01 Apr 2020 01:27:37 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=VghYf4mc; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731721AbgDAI0a (ORCPT + 99 others); Wed, 1 Apr 2020 04:26:30 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:21958 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726197AbgDAI0a (ORCPT ); Wed, 1 Apr 2020 04:26:30 -0400 X-UUID: ae987413d5424ad39b5efb26be6d5138-20200401 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=KAc2JVwQuKcaNBn24f4yGzswCmaLnRG+W1Uvy/qyynU=; b=VghYf4mcfYRptzIJ5bf80ffxk+6Wyxc101JWAJ5potRTS6/IiC9Jb211RXWLY/VF+tCdN0LlN8Bskd+6W0qKtVxdrHpmGdWukUdfx+kQLcUR6/4hBELv7j6onzL3i0UcUJDB07CXPttHNwhpCg26mXNSu/164P9e2ydyVfij2ds=; X-UUID: ae987413d5424ad39b5efb26be6d5138-20200401 Received: from mtkcas07.mediatek.inc [(172.21.101.84)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 423719410; Wed, 01 Apr 2020 16:26:23 +0800 Received: from mtkcas09.mediatek.inc (172.21.101.178) by mtkmbs01n1.mediatek.inc (172.21.101.68) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 1 Apr 2020 16:26:19 +0800 Received: from [172.21.77.4] (172.21.77.4) by mtkcas09.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Wed, 1 Apr 2020 16:26:20 +0800 Message-ID: <1585729581.2029.2.camel@mtksdaap41> Subject: Re: [PATCH v10 3/5] mfd: Add support for the MediaTek MT6358 PMIC From: Hsin-hsiung Wang To: Lee Jones CC: Rob Herring , Alexandre Belloni , Matthias Brugger , Mark Rutland , Sean Wang , Sebastian Reichel , Eddie Huang , Alessandro Zummo , "Frank Wunderlich" , Thomas Gleixner , Richard Fontana , Josef Friedl , Ran Bi , , , , , , , Nicolas Boichat , Date: Wed, 1 Apr 2020 16:26:21 +0800 In-Reply-To: <20200325094326.GH442973@dell> References: <1583918223-22506-1-git-send-email-hsin-hsiung.wang@mediatek.com> <1583918223-22506-4-git-send-email-hsin-hsiung.wang@mediatek.com> <20200325094326.GH442973@dell> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGksDQoNCk9uIFdlZCwgMjAyMC0wMy0yNSBhdCAwOTo0MyArMDAwMCwgTGVlIEpvbmVzIHdyb3Rl Og0KPiBPbiBXZWQsIDExIE1hciAyMDIwLCBIc2luLUhzaXVuZyBXYW5nIHdyb3RlOg0KPiANCj4g PiBUaGlzIGFkZHMgc3VwcG9ydCBmb3IgdGhlIE1lZGlhVGVrIE1UNjM1OCBQTUlDLiBUaGlzIGlz IGENCj4gPiBtdWx0aWZ1bmN0aW9uIGRldmljZSB3aXRoIHRoZSBmb2xsb3dpbmcgc3ViIG1vZHVs ZXM6DQo+ID4gDQo+ID4gLSBSZWd1bGF0b3INCj4gPiAtIFJUQw0KPiA+IC0gQ29kZWMNCj4gPiAt IEludGVycnVwdA0KPiA+IA0KPiA+IEl0IGlzIGludGVyZmFjZWQgdG8gdGhlIGhvc3QgY29udHJv bGxlciB1c2luZyBTUEkgaW50ZXJmYWNlDQo+ID4gYnkgYSBwcm9wcmlldGFyeSBoYXJkd2FyZSBj YWxsZWQgUE1JQyB3cmFwcGVyIG9yIHB3cmFwLg0KPiA+IE1UNjM1OCBNRkQgaXMgYSBjaGlsZCBk ZXZpY2Ugb2YgdGhlIHB3cmFwLg0KPiA+IA0KPiA+IFNpZ25lZC1vZmYtYnk6IEhzaW4tSHNpdW5n IFdhbmcgPGhzaW4taHNpdW5nLndhbmdAbWVkaWF0ZWsuY29tPg0KPiA+IC0tLQ0KPiA+ICBkcml2 ZXJzL21mZC9NYWtlZmlsZSAgICAgICAgICAgICAgICAgfCAgIDIgKy0NCj4gPiAgZHJpdmVycy9t ZmQvbXQ2MzU4LWlycS5jICAgICAgICAgICAgIHwgMjM2ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrDQo+ID4gIGRyaXZlcnMvbWZkL210NjM5Ny1jb3JlLmMgICAgICAgICAgICB8ICA1NSAr KysrKystDQo+ID4gIGluY2x1ZGUvbGludXgvbWZkL210NjM1OC9jb3JlLmggICAgICB8IDE1OCAr KysrKysrKysrKysrKysrKysrKw0KPiA+ICBpbmNsdWRlL2xpbnV4L21mZC9tdDYzNTgvcmVnaXN0 ZXJzLmggfCAyODIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiAgaW5j bHVkZS9saW51eC9tZmQvbXQ2Mzk3L2NvcmUuaCAgICAgIHwgICAzICsNCj4gPiAgNiBmaWxlcyBj aGFuZ2VkLCA3MzEgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkNCj4gPiAgY3JlYXRlIG1v ZGUgMTAwNjQ0IGRyaXZlcnMvbWZkL210NjM1OC1pcnEuYw0KPiA+ICBjcmVhdGUgbW9kZSAxMDA2 NDQgaW5jbHVkZS9saW51eC9tZmQvbXQ2MzU4L2NvcmUuaA0KPiA+ICBjcmVhdGUgbW9kZSAxMDA2 NDQgaW5jbHVkZS9saW51eC9tZmQvbXQ2MzU4L3JlZ2lzdGVycy5oDQo+ID4gDQo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvbWZkL01ha2VmaWxlIGIvZHJpdmVycy9tZmQvTWFrZWZpbGUNCj4gPiBp bmRleCBiODNmMTcyLi45YWYxNDE0IDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvbWZkL01ha2Vm aWxlDQo+ID4gKysrIGIvZHJpdmVycy9tZmQvTWFrZWZpbGUNCj4gPiBAQCAtMjM4LDcgKzIzOCw3 IEBAIG9iai0kKENPTkZJR19JTlRFTF9TT0NfUE1JQykJKz0gaW50ZWwtc29jLXBtaWMubw0KPiA+ ICBvYmotJChDT05GSUdfSU5URUxfU09DX1BNSUNfQlhUV0MpCSs9IGludGVsX3NvY19wbWljX2J4 dHdjLm8NCj4gPiAgb2JqLSQoQ09ORklHX0lOVEVMX1NPQ19QTUlDX0NIVFdDKQkrPSBpbnRlbF9z b2NfcG1pY19jaHR3Yy5vDQo+ID4gIG9iai0kKENPTkZJR19JTlRFTF9TT0NfUE1JQ19DSFREQ19U SSkJKz0gaW50ZWxfc29jX3BtaWNfY2h0ZGNfdGkubw0KPiA+IC1tdDYzOTctb2Jqcwk6PSBtdDYz OTctY29yZS5vIG10NjM5Ny1pcnEubw0KPiA+ICttdDYzOTctb2JqcwkJCTo9IG10NjM5Ny1jb3Jl Lm8gbXQ2Mzk3LWlycS5vIG10NjM1OC1pcnEubw0KPiA+ICBvYmotJChDT05GSUdfTUZEX01UNjM5 NykJKz0gbXQ2Mzk3Lm8NCj4gPiAgb2JqLSQoQ09ORklHX0lOVEVMX1NPQ19QTUlDX01SRkxEKQkr PSBpbnRlbF9zb2NfcG1pY19tcmZsZC5vDQo+ID4gIA0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJz L21mZC9tdDYzNTgtaXJxLmMgYi9kcml2ZXJzL21mZC9tdDYzNTgtaXJxLmMNCj4gPiBuZXcgZmls ZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAwMDAwMDAuLjAyMmU1ZjUNCj4gPiAtLS0gL2Rldi9u dWxsDQo+ID4gKysrIGIvZHJpdmVycy9tZmQvbXQ2MzU4LWlycS5jDQo+ID4gQEAgLTAsMCArMSwy MzYgQEANCj4gPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjANCj4gPiArLy8N Cj4gPiArLy8gQ29weXJpZ2h0IChjKSAyMDE5IE1lZGlhVGVrIEluYy4NCj4gDQo+IFRoaXMgaXMg b3V0IG9mIGRhdGUuDQo+IA0KDQpUaGFua3MuIEkgd2lsbCB1cGRhdGUgaXQgaW4gdGhlIG5leHQg cGF0Y2guDQoNCj4gPiArI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPg0KPiA+ICsjaW5jbHVk ZSA8bGludXgvbWZkL210NjM1OC9jb3JlLmg+DQo+ID4gKyNpbmNsdWRlIDxsaW51eC9tZmQvbXQ2 MzU4L3JlZ2lzdGVycy5oPg0KPiA+ICsjaW5jbHVkZSA8bGludXgvbWZkL210NjM5Ny9jb3JlLmg+ DQo+ID4gKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4NCj4gPiArI2luY2x1ZGUgPGxpbnV4L29m Lmg+DQo+ID4gKyNpbmNsdWRlIDxsaW51eC9vZl9kZXZpY2UuaD4NCj4gPiArI2luY2x1ZGUgPGxp bnV4L29mX2lycS5oPg0KPiA+ICsjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+DQo+ ID4gKyNpbmNsdWRlIDxsaW51eC9yZWdtYXAuaD4NCj4gPiArDQo+ID4gK3N0YXRpYyBzdHJ1Y3Qg aXJxX3RvcF90IG10NjM1OF9pbnRzW10gPSB7DQo+ID4gKwlNVDYzNThfVE9QX0dFTihCVUNLKSwN Cj4gPiArCU1UNjM1OF9UT1BfR0VOKExETyksDQo+ID4gKwlNVDYzNThfVE9QX0dFTihQU0MpLA0K PiA+ICsJTVQ2MzU4X1RPUF9HRU4oU0NLKSwNCj4gPiArCU1UNjM1OF9UT1BfR0VOKEJNKSwNCj4g PiArCU1UNjM1OF9UT1BfR0VOKEhLKSwNCj4gPiArCU1UNjM1OF9UT1BfR0VOKEFVRCksDQo+ID4g KwlNVDYzNThfVE9QX0dFTihNSVNDKSwNCj4gPiArfTsNCj4gPiArDQo+ID4gK3N0YXRpYyB2b2lk IHBtaWNfaXJxX2VuYWJsZShzdHJ1Y3QgaXJxX2RhdGEgKmRhdGEpDQo+ID4gK3sNCj4gPiArCXVu c2lnbmVkIGludCBod2lycSA9IGlycWRfdG9faHdpcnEoZGF0YSk7DQo+ID4gKwlzdHJ1Y3QgbXQ2 Mzk3X2NoaXAgKmNoaXAgPSBpcnFfZGF0YV9nZXRfaXJxX2NoaXBfZGF0YShkYXRhKTsNCj4gDQo+ IDYzOTc/DQo+IA0KPiBUaGlzIGRvZXMgbWFrZSBtZSB3b25kZXIgaG93IGRpZmZlcmVudCB0aGlz IGZpbGUgaXMgdG8gdGhlIGV4aXN0aW5nDQo+IHN1cHBvcnQgZm9yIHRoZSBNVDYzOTcuICBXaGF0 IGlzIHRoZSBqdXN0aWZpY2F0aW9uIGZvciBub3QgZXh0ZW5kaW5nDQo+IHRoYXQgaW5zdGVhZCBv ZiBjcmVhdGluZyBhIGJyYW5kIG5ldyBmaWxlPw0KPiANCg0KTVQ2MzU4IGlzIHNpbWlsYXIgdG8g TVQ2Mzk3IGZvciBtZmQgZHJpdmVyIGV4Y2VwdCB0aGUgaGFyZHdhcmUgZGVzaWduIG9mDQppbnRl cnJ1cHQgd2hpY2ggcHJvdmlkZXMgbW9yZSBpbnRlcnJ1cHRzIHRoYW4gTVQ2Mzk3Lg0KSSB0aGlu ayBNVDYzNTggY2FuIHJldXNlIHRoZSBvdGhlciBwYXJ0IG9mIE1UNjM5NyBtZmQgZHJpdmVyLCBz byBJIG9ubHkNCmFkZCB0aGUgaW50ZXJydXB0IHBhcnQgb2YgTVQ2MzU4Lg0KDQo+ID4gKwlzdHJ1 Y3QgcG1pY19pcnFfZGF0YSAqaXJxZCA9IGNoaXAtPmlycV9kYXRhOw0KPiA+ICsNCj4gPiArCWly cWQtPmVuYWJsZV9od2lycVtod2lycV0gPSB0cnVlOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICtzdGF0 aWMgdm9pZCBwbWljX2lycV9kaXNhYmxlKHN0cnVjdCBpcnFfZGF0YSAqZGF0YSkNCj4gPiArew0K PiA+ICsJdW5zaWduZWQgaW50IGh3aXJxID0gaXJxZF90b19od2lycShkYXRhKTsNCj4gPiArCXN0 cnVjdCBtdDYzOTdfY2hpcCAqY2hpcCA9IGlycV9kYXRhX2dldF9pcnFfY2hpcF9kYXRhKGRhdGEp Ow0KPiA+ICsJc3RydWN0IHBtaWNfaXJxX2RhdGEgKmlycWQgPSBjaGlwLT5pcnFfZGF0YTsNCj4g PiArDQo+ID4gKwlpcnFkLT5lbmFibGVfaHdpcnFbaHdpcnFdID0gZmFsc2U7DQo+ID4gK30NCj4g PiArDQo+ID4gK3N0YXRpYyB2b2lkIHBtaWNfaXJxX2xvY2soc3RydWN0IGlycV9kYXRhICpkYXRh KQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3QgbXQ2Mzk3X2NoaXAgKmNoaXAgPSBpcnFfZGF0YV9nZXRf aXJxX2NoaXBfZGF0YShkYXRhKTsNCj4gPiArDQo+ID4gKwltdXRleF9sb2NrKCZjaGlwLT5pcnFs b2NrKTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIHZvaWQgcG1pY19pcnFfc3luY191bmxv Y2soc3RydWN0IGlycV9kYXRhICpkYXRhKQ0KPiA+ICt7DQo+ID4gKwl1bnNpZ25lZCBpbnQgaSwg dG9wX2dwLCBncF9vZmZzZXQsIGVuX3JlZywgaW50X3JlZ3MsIHNoaWZ0Ow0KPiA+ICsJc3RydWN0 IG10NjM5N19jaGlwICpjaGlwID0gaXJxX2RhdGFfZ2V0X2lycV9jaGlwX2RhdGEoZGF0YSk7DQo+ ID4gKwlzdHJ1Y3QgcG1pY19pcnFfZGF0YSAqaXJxZCA9IGNoaXAtPmlycV9kYXRhOw0KPiA+ICsN Cj4gPiArCWZvciAoaSA9IDA7IGkgPCBpcnFkLT5udW1fcG1pY19pcnFzOyBpKyspIHsNCj4gPiAr CQlpZiAoaXJxZC0+ZW5hYmxlX2h3aXJxW2ldID09IGlycWQtPmNhY2hlX2h3aXJxW2ldKQ0KPiA+ ICsJCQljb250aW51ZTsNCj4gPiArDQo+ID4gKwkJLyogRmluZCBvdXQgdGhlIElSUSBncm91cCAq Lw0KPiA+ICsJCXRvcF9ncCA9IDA7DQo+ID4gKwkJd2hpbGUgKCh0b3BfZ3AgKyAxKSA8IGlycWQt Pm51bV90b3AgJiYNCj4gPiArCQkgICAgICAgaSA+PSBtdDYzNThfaW50c1t0b3BfZ3AgKyAxXS5o d2lycV9iYXNlKQ0KPiA+ICsJCQl0b3BfZ3ArKzsNCj4gPiArDQo+ID4gKwkJLyogRmluZCB0aGUg aXJxIHJlZ2lzdGVycyAqLw0KPiANCj4gTml0OiAiSVJRIg0KPiANCg0KVGhhbmtzLiBJIHdpbGwg dXBkYXRlIGl0IGluIHRoZSBuZXh0IHBhdGNoLg0KDQo+ID4gKwkJZ3Bfb2Zmc2V0ID0gaSAtIG10 NjM1OF9pbnRzW3RvcF9ncF0uaHdpcnFfYmFzZTsNCj4gPiArCQlpbnRfcmVncyA9IGdwX29mZnNl dCAvIE1UNjM1OF9SRUdfV0lEVEg7DQo+ID4gKwkJc2hpZnQgPSBncF9vZmZzZXQgJSBNVDYzNThf UkVHX1dJRFRIOw0KPiA+ICsJCWVuX3JlZyA9IG10NjM1OF9pbnRzW3RvcF9ncF0uZW5fcmVnICsN Cj4gPiArCQkJIChtdDYzNThfaW50c1t0b3BfZ3BdLmVuX3JlZ19zaGlmdCAqIGludF9yZWdzKTsN Cj4gPiArDQo+ID4gKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKGNoaXAtPnJlZ21hcCwgZW5fcmVnLCBC SVQoc2hpZnQpLA0KPiA+ICsJCQkJICAgaXJxZC0+ZW5hYmxlX2h3aXJxW2ldIDw8IHNoaWZ0KTsN Cj4gPiArDQo+ID4gKwkJaXJxZC0+Y2FjaGVfaHdpcnFbaV0gPSBpcnFkLT5lbmFibGVfaHdpcnFb aV07DQo+ID4gKwl9DQo+ID4gKwltdXRleF91bmxvY2soJmNoaXAtPmlycWxvY2spOw0KPiA+ICt9 DQo+IA0KPiBbLi4uXQ0KPiANCj4gPiAraW50IG10NjM1OF9pcnFfaW5pdChzdHJ1Y3QgbXQ2Mzk3 X2NoaXAgKmNoaXApDQo+ID4gK3sNCj4gPiArCWludCBpLCBqLCByZXQ7DQo+ID4gKwlzdHJ1Y3Qg cG1pY19pcnFfZGF0YSAqaXJxZDsNCj4gPiArDQo+ID4gKwlpcnFkID0gZGV2bV9remFsbG9jKGNo aXAtPmRldiwgc2l6ZW9mKHN0cnVjdCBwbWljX2lycV9kYXRhICopLA0KPiANCj4gc2l6ZW9mKCpp cnFkKQ0KPiANCg0KVGhhbmtzLiBJIHdpbGwgdXBkYXRlIGl0IGluIHRoZSBuZXh0IHBhdGNoLg0K DQo+IFsuLi5dDQo+IA0KPiA+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGNoaXBfZGF0YSBtdDYzOTdf Y29yZSA9IHsNCj4gPiAgCS5jaWRfYWRkciA9IE1UNjM5N19DSUQsDQo+ID4gIAkuY2lkX3NoaWZ0 ID0gMCwNCj4gPiBAQCAtMTU0LDE5ICsxODQsMzMgQEAgc3RhdGljIGludCBtdDYzOTdfcHJvYmUo c3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCj4gPiAgCWlmIChwbWljLT5pcnEgPD0gMCkN Cj4gPiAgCQlyZXR1cm4gcG1pYy0+aXJxOw0KPiA+ICANCj4gPiAtCXJldCA9IG10NjM5N19pcnFf aW5pdChwbWljKTsNCj4gPiAtCWlmIChyZXQpDQo+ID4gLQkJcmV0dXJuIHJldDsNCj4gPiAtDQo+ ID4gIAlzd2l0Y2ggKHBtaWMtPmNoaXBfaWQpIHsNCj4gPiAgCWNhc2UgTVQ2MzIzX0NISVBfSUQ6 DQo+ID4gKwkJcmV0ID0gbXQ2Mzk3X2lycV9pbml0KHBtaWMpOw0KPiA+ICsJCWlmIChyZXQpDQo+ ID4gKwkJCXJldHVybiByZXQ7DQo+ID4gKw0KPiA+ICAJCXJldCA9IGRldm1fbWZkX2FkZF9kZXZp Y2VzKCZwZGV2LT5kZXYsIFBMQVRGT1JNX0RFVklEX05PTkUsDQo+ID4gIAkJCQkJICAgbXQ2MzIz X2RldnMsIEFSUkFZX1NJWkUobXQ2MzIzX2RldnMpLA0KPiA+ICAJCQkJCSAgIE5VTEwsIDAsIHBt aWMtPmlycV9kb21haW4pOw0KPiA+ICAJCWJyZWFrOw0KPiA+ICANCj4gPiArCWNhc2UgTVQ2MzU4 X0NISVBfSUQ6DQo+ID4gKwkJcmV0ID0gbXQ2MzU4X2lycV9pbml0KHBtaWMpOw0KPiA+ICsJCWlm IChyZXQpDQo+ID4gKwkJCXJldHVybiByZXQ7DQo+ID4gKw0KPiA+ICsJCXJldCA9IGRldm1fbWZk X2FkZF9kZXZpY2VzKCZwZGV2LT5kZXYsIFBMQVRGT1JNX0RFVklEX05PTkUsDQo+ID4gKwkJCQkJ ICAgbXQ2MzU4X2RldnMsIEFSUkFZX1NJWkUobXQ2MzU4X2RldnMpLA0KPiA+ICsJCQkJCSAgIE5V TEwsIDAsIHBtaWMtPmlycV9kb21haW4pOw0KPiANCj4gSW4gYSBzdWJzZXF1ZW50IHBhdGNoIHlv dSBjYW4gY2hvb3NlIHRoZSBjb3JyZWN0IG10WFhYWF9kZXZzIHN0cnVjdHVyZQ0KPiB0byBwYXNz IGFuZCBjYWxsIGRldm1fbWZkX2FkZF9kZXZpY2VzKCkgb25seSBvbmNlIGJlbG93IHRoZSBzd2l0 Y2goKS4NCj4gDQoNClRoYW5rcyBmb3IgeW91ciBjb21tZW50LiBJIHdpbGwgcmV3cml0ZSB0aGlz IGluIHRoZSBuZXh0IHBhdGNoLg0KDQo+ID4gKwkJYnJlYWs7DQo+ID4gKw0KPiA+ICAJY2FzZSBN VDYzOTFfQ0hJUF9JRDoNCj4gPiAgCWNhc2UgTVQ2Mzk3X0NISVBfSUQ6DQo+ID4gKwkJcmV0ID0g bXQ2Mzk3X2lycV9pbml0KHBtaWMpOw0KPiA+ICsJCWlmIChyZXQpDQo+ID4gKwkJCXJldHVybiBy ZXQ7DQo+ID4gKw0KPiA+ICAJCXJldCA9IGRldm1fbWZkX2FkZF9kZXZpY2VzKCZwZGV2LT5kZXYs IFBMQVRGT1JNX0RFVklEX05PTkUsDQo+ID4gIAkJCQkJICAgbXQ2Mzk3X2RldnMsIEFSUkFZX1NJ WkUobXQ2Mzk3X2RldnMpLA0KPiA+ICAJCQkJCSAgIE5VTEwsIDAsIHBtaWMtPmlycV9kb21haW4p Ow0KPiANCj4gWy4uLl0NCj4gDQoNCg==