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 26C4EC25B78 for ; Tue, 4 Jun 2024 10:38:25 +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=gxy9Dk+oyRHz69hugBzRUDhwa1eCRZoy/CnpKPH5Z4U=; b=ZGCQKdlvgl74ql 9KnvkeF2Jnc6yM3cVg2ft5aCwzpgcMIIIxw4LFLbmAJq1eYXG8S0YQMtCIp863EG5guSiZCJ2SE21 B2seF0aKnzG7ReaqcIwejy98aQXdQdEy8fdjNhGDWvfL44Y7nVsjwmiqgzl/r4NURDnEXrijiT2ae Zw66TLICOiHwbgYjrw3i6k03WNeAGtUPhQdZtnyTn9N4FlFtYmXdie1FtRYSKDCJ3IX2PgRkFbe9D 0EfrebyHGIfMkrxRbr2xcxhuOtCo7hl9j/tNUOpQc5iCmaL5X2qpfr9LKhXyS7bncnHlWjxO1DFw3 1l/99N9ePI69MMUWUp6w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sERYS-000000020DH-2Ixp; Tue, 04 Jun 2024 10:38:12 +0000 Received: from madrid.collaboradmins.com ([46.235.227.194]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sERYP-000000020CZ-0ezE; Tue, 04 Jun 2024 10:38:10 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1717497486; bh=83qgTD6GQKD17zryJJer2RaJbdNVFmS+NMwIUzNFP2U=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=ajzzr07WHRA3SgHRuBDCGrgT90Benyyh2fvI3m5ZL1ML0Ytj8ma90RiDPSTJtxBGC z614fqAVpWsLRylzPGu0BKDiOJ8IVxxF94KDPE7b16HP8VBJzeZq6oWf4NBpZdxDck BHCnZjYTl5RSR8HgSSqpmLUlJtTlzUDi5532SvlyJpT7lcdNUaZfZUtF7jyqD58O4P U5DgXMKmsMvhTvoGiOBz3jQ1RuWK+AwEz/1jguOV+f+Qrxh1oFSan5MXKdu0qEAUZh 99huVFDrNcTGrfvlY8YVotC/qdBtYL5lGMUukd6jdOQxkv5ruYz8yJYtYsmT5NmGv5 BRHqt/Cc1vAMA== Received: from [100.113.186.2] (cola.collaboradmins.com [195.201.22.229]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: kholk11) by madrid.collaboradmins.com (Postfix) with ESMTPSA id C690937821DC; Tue, 4 Jun 2024 10:38:04 +0000 (UTC) Message-ID: <84f1c58c-0a5d-4131-a16b-b76bf28862ee@collabora.com> Date: Tue, 4 Jun 2024 12:38:04 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v1 2/4] iio: adc: Add support for MediaTek MT6357/8/9 Auxiliary ADC To: Andy Shevchenko Cc: jic23@kernel.org, lars@metafoo.de, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, matthias.bgg@gmail.com, lee@kernel.org, andy@kernel.org, nuno.sa@analog.com, bigunclemax@gmail.com, dlechner@baylibre.com, marius.cristea@microchip.com, marcelo.schmitt@analog.com, fr0st61te@gmail.com, mitrutzceclan@gmail.com, mike.looijmans@topic.nl, marcus.folkesson@gmail.com, linux-iio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, kernel@collabora.com References: <20240530093410.112716-1-angelogioacchino.delregno@collabora.com> <20240530093410.112716-3-angelogioacchino.delregno@collabora.com> From: AngeloGioacchino Del Regno Content-Language: en-US In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240604_033809_384935_58550ECB X-CRM114-Status: GOOD ( 38.95 ) 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 SWwgMzAvMDUvMjQgMTU6MzQsIEFuZHkgU2hldmNoZW5rbyBoYSBzY3JpdHRvOgo+IE9uIFRodSwg TWF5IDMwLCAyMDI0IGF0IDEyOjM04oCvUE0gQW5nZWxvR2lvYWNjaGlubyBEZWwgUmVnbm8KPiA8 YW5nZWxvZ2lvYWNjaGluby5kZWxyZWdub0Bjb2xsYWJvcmEuY29tPiB3cm90ZToKPj4KPj4gQWRk IGEgZHJpdmVyIHRvIHN1cHBvcnQgcmVhZGluZyB0aGUgQXV4aWxpYXJ5IEFEQyBJUCBmb3VuZCBp biB0aGUKPj4gTWVkaWFUZWsgTVQ2MzU3LCBNVDYzNTggYW5kIE1UNjM1OSBQb3dlciBNYW5hZ2Vt ZW50IElDcy4KPj4KPj4gVGhpcyBkcml2ZXIgcHJvdmlkZXMgbXVsdGlwbGUgQURDIGNoYW5uZWxz IGZvciBzeXN0ZW0gbW9uaXRvcmluZywKPj4gc3VjaCBhcyBiYXR0ZXJ5IHZvbHRhZ2UsIFBNSUMg dGVtcGVyYXR1cmUsIFBNSUMtaW50ZXJuYWwgdm9sdGFnZQo+PiByZWd1bGF0b3JzIHRlbXBlcmF0 dXJlLCBhbmQgb3RoZXJzLgo+IAo+PiAtLS0KPiAKPiBIZXJlIGlzIG5vIGV4cGxhbmF0aW9uIG9u IGhvdyB0aGlzIGlzIGRpZmZlciB0byBhbnkgb2YgdGhlIHRocmVlCj4gZXhpc3RpbmcgZHJpdmVy cz8gSS5vLncuIHdoeSBkbyB3ZSBuZWVkIGEgYnJhbmQgbmV3IG9uZT8KPiAKCk5vdCBhIFNvQyBB VVhBREMgYnV0IGEgUE1JQyBBVVhBREMsIGRpZmZlcmVudCByZWdpc3RlciBsYXlvdXQgYW5kIGRp ZmZlcmVudApoYW5kbGluZyBmb3IgY29uZmlndXJhdGlvbiwgcmVzZXQsIGFuZCByZWFkaW5nLgoK U28gb2theSBJJ20gYWRkaW5nIGEgbmljZXIgdGV4dCBvZiB3aGF0IEkganVzdCB3cm90ZSB0byB0 aGUgY29tbWl0IGRlc2NyaXB0aW9uLgoKPiAuLi4KPiAKPiArIGJpdHMuaAo+IAo+PiArI2luY2x1 ZGUgPGxpbnV4L2RlbGF5Lmg+Cj4gCj4+ICsjaW5jbHVkZSA8bGludXgva2VybmVsLmg+Cj4gCj4g V2h5Pwo+IAoKQmVjYXVzZSBJIGZvcmdvdCB0byBjbGVhbnVwIHRoZSBoZWFkZXJzIDotXAoKPiAr IG1vZF9kZXZpY2V0YWJsZS5oCj4+ICsjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Cj4gCj4+ICsj aW5jbHVkZSA8bGludXgvb2YuaD4KPiAKPiBXaHk/Cj4gCgpTYW1lIHJlYXNvbiA6JykKCi4uLkFu ZCB5ZXMgdGhhdCBzaG91bGQgYmUgbGludXgvcHJvcGVydHkuaCBpbnN0ZWFkLCBmb3IgZGV2aWNl X2dldF9tYXRjaF9kYXRhKCkuCgo+PiArI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5o Pgo+PiArI2luY2x1ZGUgPGxpbnV4L3JlZ21hcC5oPgo+IAo+ICsgdHlwZXMuaAo+IAo+ICsgYmxh bmsgbGluZQo+IAo+PiArI2luY2x1ZGUgPGxpbnV4L2lpby9paW8uaD4KPiAKPiArIEJsYW5rIGxp bmUKPiAKPj4gKyNpbmNsdWRlIDxsaW51eC9tZmQvbXQ2Mzk3L2NvcmUuaD4KPiAKPiAuLi4KPiAK Pj4gKyNkZWZpbmUgUE1JQ19SR19SRVNFVF9WQUwgICAgICAgICAgICAgIChCSVQoMCkgfCBCSVQo MykpCj4gCj4gSW4gdGhpcyBmb3JtIGl0IHJlcXVpcmVzIGEgY29tbWVudCBleHBsYWluaW5nIGVh Y2ggbWVudGlvbmVkIGJpdC4KPiAKCkkgZG9uJ3QgaGF2ZSBhbiBleHBsYW5hdGlvbiBmb3IgdGhp cywgSSBrbm93IGl0J3MgdHdvIGRpZmZlcmVudCBiaXRzIGZyb20gc29tZQpyZXZlbmcsIGJ1dCB0 aGUgZG93bnN0cmVhbSBkcml2ZXIgZGVjbGFyZXMgdGhhdCBzaW1wbHkgYXMgMHg5LgoKU2hvdWxk IEkganVzdCAibWFzayIgdGhpcyBhcyAweDkgaW5zdGVhZD8KCj4+ICsjZGVmaW5lIFBNSUNfQVVY QURDX0FEQ3goeCkgICAgICAgICAgICAoKHgpIDw8IDEpCj4gCj4gU2VlbXMgbGlrZSBhIHVzZWxl c3MgbWFjcm8sIGl0IG9jY3VwaWVzIG11Y2ggbW9yZSBzcGFjZSB0aGFuIGluLXBsYWNlIHNoaWZ0 Lgo+IAoKV2VsbCB0aGF0IHdhcyBkb25lIHRvIGVuaGFuY2UgaHVtYW4gcmVhZGFiaWxpdHksIGJ1 dCBva2F5IEkgd2lsbCBqdXN0IHVzZSBhbgppbi1wbGFjZSBzaGlmdC4KCj4gLi4uCj4gCj4+ICsj ZGVmaW5lIE1UNjM1OF9JTVAwX0NMRUFSICAgICAgICAgICAgICAoQklUKDE0KSB8IEJJVCg3KSkK PiAKPiBBcyBwZXIgYWJvdmUuCj4gCgpTYW1lLCBJIGRvbid0IGhhdmUgYW55IGV4cGxhbmF0aW9u IGZvciB0aGF0LgoKSWYgeW91IHByZWZlciwgSSBjYW4gZGVmaW5lIHRoaXMgYXMgMHg0MDgwLCBi dXQgaG9uZXN0bHkgSSBwcmVmZXIga2VlcGluZwppdCBhcy1pcyBzaW5jZSBJIGFtIHN1cmUgaXQn cyBub3QgYSBtYWdpYyBudW1iZXIgYnV0IHJlYWxseSB0d28gYml0cyB0byBmbGlwCmluIGEgcmVn aXN0ZXIuCgo+IC4uLgo+IAo+PiArLyoqCj4+ICsgKiBzdHJ1Y3QgbXRrX3BtaWNfYXV4YWRjX2No YW4gLSBQTUlDIEFVWEFEQyBjaGFubmVsIGRhdGEKPj4gKyAqIEByZXFfaWR4OiAgICAgICBSZXF1 ZXN0IHJlZ2lzdGVyIG51bWJlcgo+PiArICogQHJlcV9tYXNrOiAgICAgIEJpdG1hc2sgdG8gYWN0 aXZhdGUgYSBjaGFubmVsCj4+ICsgKiBAbnVtX3NhbXBsZXM6ICAgTnVtYmVyIG9mIEFVWEFEQyBz YW1wbGVzIGZvciBhdmVyYWdpbmcKPj4gKyAqIEByX251bWVyYXRvcjogICBSZXNpc3RhbmNlIHJh dGlvIG51bWVyYXRvcgo+PiArICogQHJfZGVub21pbmF0b3I6IFJlc2lzdGFuY2UgcmF0aW8gZGVu b21pbmF0b3IKPj4gKyAqLwo+PiArc3RydWN0IG10a19wbWljX2F1eGFkY19jaGFuIHsKPj4gKyAg ICAgICB1OCByZXFfaWR4Owo+PiArICAgICAgIHUxNiByZXFfbWFzazsKPj4gKyAgICAgICB1MTYg bnVtX3NhbXBsZXM7Cj4gCj4+ICsgICAgICAgdTggcl9udW1lcmF0b3I7Cj4+ICsgICAgICAgdTgg cl9kZW5vbWluYXRvcjsKPiAKPiBDYW4geW91IGFkZCBzdHJ1Y3QgdThfZnJhY3QgdG8gdGhlIG1h dGguaCBhbmQgdXNlIGl0PyBJIHdpbGwgQWNrL1IgdGhlCj4gcmVzcGVjdGl2ZSBwYXRjaC4KPiAK ClllYWgsIEkgZGlkIHRoYXQgZXhhY3RseSBiZWNhdXNlIHU4X2ZyYWN0IHdhc24ndCB0aGVyZSBh bmQgSSBkaWRuJ3Qgd2FudAp0byB3YXN0ZSBtb3JlIGJpdHMsIGJ1dCBzaW5jZSB5b3UganVzdCBh c2tlZCBmb3IgaXQuLi4gd2VsbCwgSSdtIGhhcHBpZXIgOi0pCgo+PiArfTsKPiAKPiAuLi4KPiAK Pj4gK3N0cnVjdCBtdGtfcG1pY19hdXhhZGNfcGRhdGEgewo+PiArICAgICAgIGNvbnN0IHN0cnVj dCBpaW9fY2hhbl9zcGVjICpjaGFubmVsczsKPj4gKyAgICAgICBpbnQgbnVtX2NoYW5uZWxzOwo+ IAo+IFdoeSBzaWduZWQ/Cj4gCgpZZWFoLCB0aGF0IGRvZXNuJ3QgbWFrZSBhbnkgc2Vuc2UsIHRo YXQncyBnb2luZyB0byBiZSB1OC4KCj4+ICsgICAgICAgY29uc3Qgc3RydWN0IG10a19wbWljX2F1 eGFkY19jaGFuICpkZXNjOwo+PiArICAgICAgIGNvbnN0IHUxNiAqcmVnczsKPj4gKyAgICAgICB1 MTYgc2VjX3VubG9ja19rZXk7Cj4+ICsgICAgICAgdTggaW1wX2FkY19udW07Cj4+ICsgICAgICAg aW50ICgqcmVhZF9pbXApKHN0cnVjdCBtdDYzNTlfYXV4YWRjICphZGNfZGV2LCBpbnQgKnZiYXQs IGludCAqaWJhdCk7Cj4+ICt9Owo+IAo+IC4uLgo+IAo+PiArc3RhdGljIGNvbnN0IHUxNiBtdDYz NTdfYXV4YWRjX3JlZ3NbXSA9IHsKPj4gKyAgICAgICBbUE1JQ19IS19UT1BfUlNUX0NPTjBdICA9 IDB4ZjkwLAo+IAo+IENhbiB3ZSB1c2UgdGhlIGZpeGVkLXdpZHRoIHZhbHVlcyBzbyBhbGwgb2Yg dGhlbSB3aWxsIGxvb2sgbmljZSBhbmQKPiBlYXN5IHRvIHBhcnNlPwo+IAoKV2Ugb2J2aW91c2x5 IGNhbiwgbGV0J3MgZG8gdGhhdC4KCj4+ICsgICAgICAgW1BNSUNfQVVYQURDX0RDTV9DT05dICAg PSAweDEyMmUsCj4+ICsgICAgICAgW1BNSUNfQVVYQURDX0FEQzBdICAgICAgPSAweDEwODgsCj4+ ICsgICAgICAgW1BNSUNfQVVYQURDX0lNUDBdICAgICAgPSAweDExOWMsCj4+ICsgICAgICAgW1BN SUNfQVVYQURDX0lNUDFdICAgICAgPSAweDExOWUsCj4+ICsgICAgICAgW1BNSUNfQVVYQURDX1JR U1QwXSAgICAgPSAweDExMGUsCj4+ICsgICAgICAgW1BNSUNfQVVYQURDX1JRU1QxXSAgICAgPSAw eDExMTQsCj4+ICt9Owo+IAo+IC4uLgo+IAo+PiArc3RhdGljIGNvbnN0IHUxNiBtdDYzNThfYXV4 YWRjX3JlZ3NbXSA9IHsKPiAKPiBEaXR0by4KPiAKPj4gKyAgICAgICBbUE1JQ19IS19UT1BfUlNU X0NPTjBdICA9IDB4ZjkwLAo+PiArICAgICAgIFtQTUlDX0FVWEFEQ19EQ01fQ09OXSAgID0gMHgx MjYwLAo+PiArICAgICAgIFtQTUlDX0FVWEFEQ19BREMwXSAgICAgID0gMHgxMDg4LAo+PiArICAg ICAgIFtQTUlDX0FVWEFEQ19JTVAwXSAgICAgID0gMHgxMjA4LAo+PiArICAgICAgIFtQTUlDX0FV WEFEQ19JTVAxXSAgICAgID0gMHgxMjBhLAo+PiArICAgICAgIFtQTUlDX0FVWEFEQ19SUVNUMF0g ICAgID0gMHgxMTA4LAo+PiArICAgICAgIFtQTUlDX0FVWEFEQ19SUVNUMV0gICAgID0gMHgxMTBh LAo+PiArfTsKPiAKPiAuLi4KPiAKPj4gK3N0YXRpYyBjb25zdCB1MTYgbXQ2MzU5X2F1eGFkY19y ZWdzW10gPSB7Cj4gCj4gRGl0dG8uCj4gCj4+ICsgICAgICAgW1BNSUNfRkdBRENfUl9DT04wXSAg ICAgPSAweGQ4OCwKPj4gKyAgICAgICBbUE1JQ19IS19UT1BfV0tFWV0gICAgICA9IDB4ZmI0LAo+ PiArICAgICAgIFtQTUlDX0hLX1RPUF9SU1RfQ09OMF0gID0gMHhmOTAsCj4+ICsgICAgICAgW1BN SUNfQVVYQURDX1JRU1QwXSAgICAgPSAweDExMDgsCj4+ICsgICAgICAgW1BNSUNfQVVYQURDX1JR U1QxXSAgICAgPSAweDExMGEsCj4+ICsgICAgICAgW1BNSUNfQVVYQURDX0FEQzBdICAgICAgPSAw eDEwODgsCj4+ICsgICAgICAgW1BNSUNfQVVYQURDX0lNUDBdICAgICAgPSAweDEyMDgsCj4+ICsg ICAgICAgW1BNSUNfQVVYQURDX0lNUDFdICAgICAgPSAweDEyMGEsCj4+ICsgICAgICAgW1BNSUNf QVVYQURDX0lNUDNdICAgICAgPSAweDEyMGUsCj4+ICt9Owo+IAo+IC4uLgo+IAo+PiArICAgICAg IHJldCA9IHJlZ21hcF9yZWFkX3BvbGxfdGltZW91dChhZGNfZGV2LT5yZWdtYXAsIHBkYXRhLT5y ZWdzW1BNSUNfQVVYQURDX0lNUDBdLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB2YWwsICEhKHZhbCAmIE1UNjM1OF9JTVAwX0lSUV9SRFkpLAo+PiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTVBfUE9MTF9ERUxBWV9VUywgQVVYQURDX1RJ TUVPVVRfVVMpOwo+PiArICAgICAgIGlmIChyZXQpIHsKPj4gKyAgICAgICAgICAgICAgIG10NjM1 OF9zdG9wX2ltcF9jb252KGFkY19kZXYpOwo+IAo+PiArICAgICAgICAgICAgICAgcmV0dXJuIHJl dDsKPj4gKyAgICAgICB9Cj4+ICsKPj4gKyAgICAgICByZXR1cm4gMDsKPiAKPiAgICBpZiAocmV0 KQo+ICAgICAgZm9vKCkKPiAKPiAgICByZXR1cm4gcmV0Owo+IAo+IAo+IC4uLgo+IAo+PiArICAg ICAgIGludCB2YWxfdiwgcmV0Owo+IAo+IFdoeSBpcyB2YWxfdiBzaWduZWQ/Cj4gCj4gLi4uCj4g Cj4+ICsgICAgICAgaW50IHZhbF92LCB2YWxfaSwgcmV0Owo+IAo+IERpdHRvIGZvciBhbGwgdmFs XyouCj4gCgpZdXAsIGNoYW5nZWQgdG8gdTMyLgoKPiAuLi4KPiAKPj4gKyAgICAgICAvKiBJZiBp dCBzdWNjZWVkZWQsIHdhaXQgZm9yIHRoZSByZWdpc3RlcnMgdG8gYmUgcG9wdWxhdGVkICovCj4+ ICsgICAgICAgdXNsZWVwX3JhbmdlKElNUF9TVE9QX0RFTEFZX1VTLCBJTVBfU1RPUF9ERUxBWV9V UyArIDUwKTsKPiAKPiBmc2xlZXAoKSA/Cj4gCgpPa2F5Cgo+IC4uLgo+IAo+PiArICAgICAgIC8q IEFzc2VydCBBREMgcmVzZXQgKi8KPj4gKyAgICAgICByZWdtYXBfc2V0X2JpdHMocmVnbWFwLCBw ZGF0YS0+cmVnc1tQTUlDX0hLX1RPUF9SU1RfQ09OMF0sIFBNSUNfUkdfUkVTRVRfVkFMKTsKPiAK PiBObyByZXF1aXJlZCBkZWxheSBpbiBiZXR3ZWVuPwo+IAoKTm8sIGFzIHN0cmFuZ2UgYXMgaXQg bWF5IGxvb2ssIHRoZXJlIGlzIG5vIGRlbGF5IHJlcXVpcmVkIGluIGJldHdlZW46IHRoaXMgaXMK YmVjYXVzZSB0aGUgcmVnaXN0ZXIgUi9XIGlzIGJlaGluZCB0aGUgUE1JQyBXcmFwcGVyIGFzIG11 Y2ggYXMgYWxsIG9mIHRoZSBvdGhlcgpNZWRpYVRlayBQTUlDIChzdWIpZGV2aWNlcywgc28sIG1p c3NpbmcgZGVsYXlzIHdhcyBpbnRlbnRpb25hbCBoZXJlLCB5ZXMuCgo+PiArICAgICAgIC8qIERl LWFzc2VydCBBREMgcmVzZXQgKi8KPj4gKyAgICAgICByZWdtYXBfY2xlYXJfYml0cyhyZWdtYXAs IHBkYXRhLT5yZWdzW1BNSUNfSEtfVE9QX1JTVF9DT04wXSwgUE1JQ19SR19SRVNFVF9WQUwpOwo+ IAo+IC4uLgo+IAo+PiArICAgICAgIC8qIFdhaXQgdW50aWwgYWxsIHNhbXBsZXMgYXJlIGF2ZXJh Z2VkICovCj4+ICsgICAgICAgdXNsZWVwX3JhbmdlKGRlc2MtPm51bV9zYW1wbGVzICogQVVYQURD X0FWR19USU1FX1VTLAo+PiArICAgICAgICAgICAgICAgICAgICAoZGVzYy0+bnVtX3NhbXBsZXMg KyAxKSAqIEFVWEFEQ19BVkdfVElNRV9VUyk7Cj4gCj4gZnNsZWVwKCkKPiAKPiAuLi4KPiAKPj4g KyAgICAgICByZXQgPSByZWdtYXBfcmVhZF9wb2xsX3RpbWVvdXQocmVnbWFwLAo+PiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocGRhdGEtPnJlZ3NbUE1JQ19BVVhBRENf QURDMF0gKwo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUE1JQ19B VVhBRENfQURDeChjaGFuLT5hZGRyZXNzKSksCj4gCj4gRHJvcCB1bm5lZWRlZCBwYXJlbnRoZXNl cyBhbmQgcG9zc2libHkgbWFrZSBpdCBvbmUgbGluZS4KPiAKPj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdmFsLCAodmFsICYgUE1JQ19BVVhBRENfUkRZX0JJVCksCj4g Cj4gVW5uZWVkZWQgcGFyZW50aGVzZXMuCj4gCgpZZWFoLCBmb3Jnb3QgdGhvc2UgdGhlcmUgZHVy aW5nIGNsZWFudXAsIHdob29wcyEKCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEFVWEFEQ19QT0xMX0RFTEFZX1VTLCBBVVhBRENfVElNRU9VVF9VUyk7Cj4+ICsgICAg ICAgaWYgKHJldCkKPj4gKyAgICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4gCj4gLi4uCj4gCj4+ ICsgICAgICAgbXV0ZXhfbG9jaygmYWRjX2Rldi0+bG9jayk7Cj4gCj4gV2h5IG5vdCB1c2UgY2xl YW51cC5oPwo+IAoKSSB3YW50IHRvIHVubG9jayB0aGUgbXV0ZXggaW1tZWRpYXRlbHkgcmlnaHQg YWZ0ZXIgZXhlY3V0aW5nIHJlYWRfaW1wKCkgb3IKbXQ2MzU5X2F1eGFkY19yZWFkX2FkYygpLCBh bmQgSSBkb24ndCB3YW50IHRoZSByZXNldCB0byBiZSBkb25lIHdoaWxlIGEgbXV0ZXgKaXMgYmVp bmcgaGVsZCwgYXMgdGhhdCBtYWtlcyBubyBzZW5zZSBmb3IgdGhpcyBkcml2ZXIuCgpCZXNpZGVz LCBJIGZpbmQgdGhlIG1hY3JvcyBpbiBjbGVhbnVwLmggdG8gYmUgY3J5cHRpYyAtIGluIG15IG9w aW5pb24sIHRoZXkKcmVxdWlyZSBiZXR0ZXIgZG9jdW1lbnRhdGlvbiBhcywgZm9yIGV4YW1wbGUs IEkgZG9uJ3QgdW5kZXJzdGFuZCB3aGVuIHRoZQpndWFyZChtdXRleCkobXlfbXV0ZXgpIGlzIHN1 cHBvc2VkIHRvIGFjcXVpcmUgdGhlIGxvY2sgYW5kIHdoZW4gaXQncyBzdXBwb3NlZAp0byByZWxl YXNlIGl0LgoKCj4gLi4uCj4gCj4+ICtzdGF0aWMgaW50IG10NjM1OV9hdXhhZGNfcHJvYmUoc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPj4gK3sKPiAKPiAgICBzdHJ1Y3QgZGV2aWNlICpk ZXYgPSAmcGRldi0+ZGV2OwoKWWVhaCB3aXRob3V0IHRoYXQgaXQgc2ltcGx5IGxvb2tlZCBtb3Jl ICJiZWF1dGlmdWwiIHRvIHJlYWQsIGJ1dCBva2F5LCBhZGRlZC4KCj4gCj4+ICsgICAgICAgc3Ry dWN0IGRldmljZSAqbXQ2Mzk3X21mZF9kZXYgPSBwZGV2LT5kZXYucGFyZW50Owo+IAo+ICAgIC4u LiA9IGRldi0+cGFyZW50Owo+IAo+PiArICAgICAgIHN0cnVjdCBtdDYzNTlfYXV4YWRjICphZGNf ZGV2Owo+PiArICAgICAgIHN0cnVjdCBpaW9fZGV2ICppbmRpb19kZXY7Cj4+ICsgICAgICAgc3Ry dWN0IHJlZ21hcCAqcmVnbWFwOwo+PiArICAgICAgIGludCByZXQ7Cj4+ICsKPj4gKyAgICAgICAv KiBSZWdtYXAgaXMgZnJvbSBTb0MgUE1JQyBXcmFwcGVyLCBwYXJlbnQgb2YgdGhlIG10NjM5NyBN RkQgKi8KPj4gKyAgICAgICByZWdtYXAgPSBkZXZfZ2V0X3JlZ21hcChtdDYzOTdfbWZkX2Rldi0+ cGFyZW50LCBOVUxMKTsKPj4gKyAgICAgICBpZiAoIXJlZ21hcCkKPj4gKyAgICAgICAgICAgICAg IHJldHVybiBkZXZfZXJyX3Byb2JlKCZwZGV2LT5kZXYsIC1FTk9ERVYsICJGYWlsZWQgdG8gZ2V0 IHJlZ21hcFxuIik7Cj4+ICsKPj4gKyAgICAgICBpbmRpb19kZXYgPSBkZXZtX2lpb19kZXZpY2Vf YWxsb2MoJnBkZXYtPmRldiwgc2l6ZW9mKCphZGNfZGV2KSk7Cj4+ICsgICAgICAgaWYgKCFpbmRp b19kZXYpCj4+ICsgICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKPj4gKwo+PiArICAgICAg IGFkY19kZXYgPSBpaW9fcHJpdihpbmRpb19kZXYpOwo+PiArICAgICAgIGFkY19kZXYtPnJlZ21h cCA9IHJlZ21hcDsKPj4gKyAgICAgICBhZGNfZGV2LT5kZXYgPSAmcGRldi0+ZGV2Owo+PiArCj4+ ICsgICAgICAgYWRjX2Rldi0+cGRhdGEgPSBkZXZpY2VfZ2V0X21hdGNoX2RhdGEoJnBkZXYtPmRl dik7Cj4+ICsgICAgICAgaWYgKCFhZGNfZGV2LT5wZGF0YSkKPj4gKyAgICAgICAgICAgICAgIHJl dHVybiAtRUlOVkFMOwo+PiArCj4+ICsgICAgICAgbXV0ZXhfaW5pdCgmYWRjX2Rldi0+bG9jayk7 Cj4+ICsKPj4gKyAgICAgICBtdDYzNTlfYXV4YWRjX3Jlc2V0KGFkY19kZXYpOwo+PiArCj4+ICsg ICAgICAgaW5kaW9fZGV2LT5kZXYucGFyZW50ID0gJnBkZXYtPmRldjsKPj4gKyAgICAgICBpbmRp b19kZXYtPm5hbWUgPSBkZXZfbmFtZSgmcGRldi0+ZGV2KTsKPj4gKyAgICAgICBpbmRpb19kZXYt PmluZm8gPSAmbXQ2MzU5X2F1eGFkY19pbmZvOwo+PiArICAgICAgIGluZGlvX2Rldi0+bW9kZXMg PSBJTkRJT19ESVJFQ1RfTU9ERTsKPj4gKyAgICAgICBpbmRpb19kZXYtPmNoYW5uZWxzID0gYWRj X2Rldi0+cGRhdGEtPmNoYW5uZWxzOwo+PiArICAgICAgIGluZGlvX2Rldi0+bnVtX2NoYW5uZWxz ID0gYWRjX2Rldi0+cGRhdGEtPm51bV9jaGFubmVsczsKPj4gKwo+PiArICAgICAgIHJldCA9IGRl dm1faWlvX2RldmljZV9yZWdpc3RlcigmcGRldi0+ZGV2LCBpbmRpb19kZXYpOwo+PiArICAgICAg IGlmIChyZXQgPCAwKQo+IAo+IFdoeSAgJyA8IDAnID8KPiAKClV1dXV1aC4uIHdlbGwuLi4gSSBo YXZlIG5vIGlkZWEgd2h5IHRoaXMgIjwgMCIgaXMgaW4gdGhlcmUsIEkgbXVzdCBoYXZlIGdyZW1s aW5zCmxpdmluZyBpbnNpZGUgbXkga2V5Ym9hcmQsIHNlY3JldGx5IGluc2VydGluZyB0aG9zZSBj aGVja3Mgd2hlbiBJJ20gbm90IGxvb2tpbmcuCgpNdXN0IGRlZmluaXRlbHkgYmUgdGhhdC4KCkpv a2VzIGFwYXJ0LCB0aGFua3MgZm9yIHRoZSByZXZpZXchCi4uLmEgdjIgd2lsbCBjb21lIGFzYXAs IGFsb25nIHdpdGggdGhlIG1hdGguaCBjaGFuZ2UgOi0pCgpDaGVlcnMhCkFuZ2VsbwoKCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2Vy bmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0 cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVs Cg==