Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp5272358rdb; Wed, 13 Dec 2023 04:18:20 -0800 (PST) X-Google-Smtp-Source: AGHT+IHxzkUJn9vKRuQevzsZqTHknBcKx/nZCcAWTj+FTq8flhc4a46jTPXtRdGlrk4hlRZ/aTl2 X-Received: by 2002:a17:903:451:b0:1d3:482d:a96a with SMTP id iw17-20020a170903045100b001d3482da96amr875152plb.95.1702469900069; Wed, 13 Dec 2023 04:18:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702469900; cv=none; d=google.com; s=arc-20160816; b=Qr6PCzOa3YTY/xoPGYxO6xN5bf3Z3lVQ0dPQJK70gYRIMlAxuwqXbtaw3l85tj4BME 5RZ3reuOqrnmTJ0pECdFhhnXj0LetMmOsxaBGyADPqRsmzUCUwY2XvXfq5IftCNfACg+ NV3IkfvAWmH5fInYNqgAyh2DK1MjrsVmX/FRlfBh/e0TfNyZ4oMgQP983nOVUKUWbwq1 J7+LagG/NuAuheA3WsmYjf4CVP95EnjJyGTQOJtysCtd0pFCJXMCJQstDFbMVVPWNc49 tDaPZOzT1f4x/hP1gzdHFIMGJfiAHVuBzcPCypLLPHnRu5QfphlmB0fjNbct1odbBA8f bNZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent :content-transfer-encoding:references:in-reply-to:date:cc:to:from :subject:message-id:dkim-signature; bh=Fb1JaePVR0fJwILpc3yyM5yj78LV/m+momHnaokZdOw=; fh=UQHc23Rgn0gasPLMnes+1I/lUozPL0NqmmA4e3VeAfA=; b=qh9zjWmbxYsDxP88kCAd3Uj8Ewl57ome8Am6dHVtJQBlNDs/kfTXKmRkv2EmUtn0Ro 9GFTu3C5VGWO/gcQpqgV8EVgYYmUrWpG2Rz/GMg7Or+iOGDJeKjt+Tg7Uv87dRjZumD0 VtFoYlHccXLrItstEfYJ95BONLG6pyNnQKh2SHdQgSeBimoqHMnJT2p9Yt9eRylgsMyI 4OiUtfgw5PGseV0R4Kq63EI6AgOCj/1//bJ83GhE8L0MFgcxY9WLcUZCFvusTlol5w5s yfu99cfrUqarHqTlCpu/LFzb9KBUB5JduQkSykkP0erlzsVHxa7uAnSW6BFpT9uU0Y+s Izfw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=nW+oJ4IK; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id j9-20020a17090276c900b001cfc4d8eddfsi9387370plt.602.2023.12.13.04.18.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Dec 2023 04:18:20 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=nW+oJ4IK; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 0E6CB8061B61; Wed, 13 Dec 2023 04:18:19 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1377582AbjLMMSE (ORCPT + 99 others); Wed, 13 Dec 2023 07:18:04 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49712 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233399AbjLMMSC (ORCPT ); Wed, 13 Dec 2023 07:18:02 -0500 Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com [IPv6:2a00:1450:4864:20::532]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7B130E4; Wed, 13 Dec 2023 04:18:07 -0800 (PST) Received: by mail-ed1-x532.google.com with SMTP id 4fb4d7f45d1cf-54cd8f5bb5cso8699048a12.1; Wed, 13 Dec 2023 04:18:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1702469886; x=1703074686; darn=vger.kernel.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=Fb1JaePVR0fJwILpc3yyM5yj78LV/m+momHnaokZdOw=; b=nW+oJ4IKLIAavVsiI+jDSyw4uzGB5NFlO4x7O67Swnn/7m5upWLO4Z/4jCL7J0aAUE yeBzejokzc4ZqK5tnGYqNWNQx+1U9tC6RtL+zOSETxB03OaLAdAgQ0JsoBce52tuZmgr yTPCZTBczkWutYucEFnOI1aF7L+49ACYbutE5L+NlvH86w1KPATDqz9N/kHU9foa/zHi juewqF5dhKUQ1OJIfx2hn09NHuBSnRn1HCxnlIu8ESh1amu285bPzeOezmceECjZT5so Dm4cNzfcrKn1ZBfLSu+zm7kxqXTs34/+6BlE7PQLSZ429tqYe21sMwhn0v577UgPOvRa KgiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702469886; x=1703074686; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=Fb1JaePVR0fJwILpc3yyM5yj78LV/m+momHnaokZdOw=; b=e0GiDmXwqCYpYgjzIqqisWNCkoCRlTtR1bPFV8vAR3Yj04HjwTm2l7ZATQsjEKIEtB ISP92M91kkzR4g3xSYZHAAD8i6N8aR2Mgka/QkqYUJQXtkD7rqRaEt/8jjHIzt2V5ziU ZEVdZTJ97RlTzkuOmkfYGuc1jd2L3r1LoA5Z+qUWxrKFPFTDHnRVgZ0VD0c20g8H8SWT Lw29TS/pO8xkbvjH2NMeGs5Yz/uO7z+O0UWilPqXj2CDiqtFItwj5h6uaI9ALsT7yWf/ N5LV4o4w6w6oVNjit9dEmNwv7CvcajsotHHNBZFJFF4WxkYwxXK/Uk6a4cw9pIuwI8wo yfVQ== X-Gm-Message-State: AOJu0YxgkXQqlWjnjSBIzaRqOZZn4grwfieKqR92piezEfpD5SBW4XiT ku8R4dhwnPSTiaGtZf4XUzurw+wpYpDznEeWsao= X-Received: by 2002:a17:906:2244:b0:a22:fc0f:9870 with SMTP id 4-20020a170906224400b00a22fc0f9870mr423888ejr.108.1702469885420; Wed, 13 Dec 2023 04:18:05 -0800 (PST) Received: from ?IPv6:2001:a61:3456:4e01:6ae:b55a:bd1d:57fc? ([2001:a61:3456:4e01:6ae:b55a:bd1d:57fc]) by smtp.gmail.com with ESMTPSA id uv8-20020a170907cf4800b00a1d232b39b9sm7601923ejc.184.2023.12.13.04.18.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Dec 2023 04:18:05 -0800 (PST) Message-ID: <5f7a1c60ccebe13ba6cdfa5d8f9632bc9b838137.camel@gmail.com> Subject: Re: [PATCH v2 3/3] iio: adc: ad7380: new driver for AD7380 ADCs From: Nuno =?ISO-8859-1?Q?S=E1?= To: David Lechner , linux-iio@vger.kernel.org, devicetree@vger.kernel.org Cc: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jonathan Cameron , Michael Hennerich , Nuno =?ISO-8859-1?Q?S=E1?= , Liam Girdwood , Mark Brown , linux-kernel@vger.kernel.org, Stefan Popa Date: Wed, 13 Dec 2023 13:18:04 +0100 In-Reply-To: <20231213-ad7380-mainline-v2-3-cd32150d84a3@baylibre.com> References: <20231213-ad7380-mainline-v2-0-cd32150d84a3@baylibre.com> <20231213-ad7380-mainline-v2-3-cd32150d84a3@baylibre.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Wed, 13 Dec 2023 04:18:19 -0800 (PST) T24gV2VkLCAyMDIzLTEyLTEzIGF0IDA1OjIxIC0wNjAwLCBEYXZpZCBMZWNobmVyIHdyb3RlOgo+ IFRoaXMgYWRkcyBhIG5ldyBkcml2ZXIgZm9yIHRoZSBBRDczODAgZmFtaWx5IEFEQ3MuCj4gCj4g VGhlIGRyaXZlciBjdXJyZW50bHkgaW1wbGVtZW50cyBiYXNpYyBzdXBwb3J0IGZvciB0aGUgQUQ3 MzgwLCBBRDczODEsCj4gQUQ3MzgzLCBhbmQgQUQ3Mzg0IDItY2hhbm5lbCBkaWZmZXJlbnRpYWwg QURDcy4gU3VwcG9ydCBmb3IgYWRkaXRpb25hbAo+IHNpbmdsZS1lbmRlZCBhbmQgNC1jaGFubmVs IGNoaXBzIHRoYXQgdXNlIHRoZSBzYW1lIHJlZ2lzdGVyIG1hcCBhcyB3ZWxsCj4gYXMgYWRkaXRp b25hbCBmZWF0dXJlcyBvZiB0aGUgY2hpcCB3aWxsIGJlIGFkZGVkIGluIGZ1dHVyZSBwYXRjaGVz Lgo+IAo+IENvLWRldmVsb3BlZC1ieTogU3RlZmFuIFBvcGEgPHN0ZWZhbi5wb3BhQGFuYWxvZy5j b20+Cj4gU2lnbmVkLW9mZi1ieTogU3RlZmFuIFBvcGEgPHN0ZWZhbi5wb3BhQGFuYWxvZy5jb20+ Cj4gU2lnbmVkLW9mZi1ieTogRGF2aWQgTGVjaG5lciA8ZGxlY2huZXJAYmF5bGlicmUuY29tPgo+ IC0tLQo+IAo+IHYyIGNoYW5nZXM6Cj4gLSBGaXhlZCBDT05GSUdfQUQ3MzgwIGluIE1ha2VmaWxl Cj4gLSByeF9idWYgPSBzdC0+c2Nhbl9kYXRhLnJhdyBpbnN0ZWFkIG9mIHJ4X2J1ZiA9ICZzdC0+ c2Nhbl9kYXRhCj4gLSBNb3ZlZCBpaW9fcHVzaF90b19idWZmZXJzX3dpdGhfdGltZXN0YW1wKCkg b3V0c2lkZSBvZiBpZiBzdGF0ZW1lbnQKPiAtIFJlbW92ZWQgZXh0cmEgYmxhbmsgbGluZXMKPiAt IFJlbmFtZWQgcmVndWxhdG9yIGRpc2FibGUgZnVuY3Rpb24KPiAtIERyb3BwZWQgY2hlY2tpbmcg b2YgYWRpLHNkby1tb2RlIHByb3BlcnR5IChyZWdhcmRsZXNzIG9mIHRoZSBhY3R1YWwKPiDCoMKg wqDCoMKgwqDCoMKgd2lyaW5nLCB3ZSBjYW4gYWx3YXlzIHVzZSAxLXdpcmUgbW9kZSkKPiAtIEFk ZGVkIGF2YWlsYWJsZV9zY2FuX21hc2tzICh3ZSBhbHdheXMgc2FtcGxlIHR3byBjaGFubmVscyBh dCB0aGUgc2FtZSB0aW1lCj4gwqAgc28gd2UgbmVlZCB0byBsZXQgdXNlcnNwYWNlIGtub3cgdGhp cykKPiAtIEFkZGVkIGNoZWNrIGZvciBtaXNzaW5nIGRyaXZlciBtYXRjaCBkYXRhCj4gCj4gwqBN QUlOVEFJTkVSU8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDEgKwo+IMKgZHJpdmVy cy9paW8vYWRjL0tjb25maWfCoCB8wqAgMTYgKysKPiDCoGRyaXZlcnMvaWlvL2FkYy9NYWtlZmls ZSB8wqDCoCAxICsKPiDCoGRyaXZlcnMvaWlvL2FkYy9hZDczODAuYyB8IDQ2NCArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+IMKgNCBmaWxlcyBjaGFuZ2Vk LCA0ODIgaW5zZXJ0aW9ucygrKQo+IAo+IGRpZmYgLS1naXQgYS9NQUlOVEFJTkVSUyBiL01BSU5U QUlORVJTCj4gaW5kZXggZTJhOTk4YmU1ODc5Li41YTU0NjIwYTMxYjggMTAwNjQ0Cj4gLS0tIGEv TUFJTlRBSU5FUlMKPiArKysgYi9NQUlOVEFJTkVSUwo+IEBAIC00MzgsNiArNDM4LDcgQEAgUzrC oMKgU3VwcG9ydGVkCj4gwqBXOsKgwqDCoMKgwqAKPiBodHRwczovL3dpa2kuYW5hbG9nLmNvbS9y ZXNvdXJjZXMvdG9vbHMtc29mdHdhcmUvbGludXgtZHJpdmVycy9paW8tYWRjL2FkNzM4eAo+IMKg VzrCoMKgwqDCoMKgaHR0cHM6Ly9lei5hbmFsb2cuY29tL2xpbnV4LXNvZnR3YXJlLWRyaXZlcnMK PiDCoEY6wqDCoMKgwqDCoERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9paW8vYWRj L2FkaSxhZDczODAueWFtbAo+ICtGOsKgwqDCoMKgwqBkcml2ZXJzL2lpby9hZGMvYWQ3MzgwLmMK PiDCoAo+IMKgQUQ3ODc3IFRPVUNIU0NSRUVOIERSSVZFUgo+IMKgTTrCoMKgwqDCoMKgTWljaGFl bCBIZW5uZXJpY2ggPG1pY2hhZWwuaGVubmVyaWNoQGFuYWxvZy5jb20+Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvaWlvL2FkYy9LY29uZmlnIGIvZHJpdmVycy9paW8vYWRjL0tjb25maWcKPiBpbmRl eCAzNWY5ODY3ZGExMmMuLmNiZmQ2MjY3MTJlMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2lpby9h ZGMvS2NvbmZpZwo+ICsrKyBiL2RyaXZlcnMvaWlvL2FkYy9LY29uZmlnCj4gQEAgLTEyMiw2ICsx MjIsMjIgQEAgY29uZmlnIEFENzI5OAo+IMKgwqDCoMKgwqDCoMKgwqDCoCBUbyBjb21waWxlIHRo aXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGUKPiDCoMKgwqDCoMKgwqDC oMKgwqAgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIGFkNzI5OC4KPiDCoAo+ICtjb25maWcgQUQ3Mzgw Cj4gK8KgwqDCoMKgwqDCoMKgdHJpc3RhdGUgIkFuYWxvZyBEZXZpY2VzIEFENzM4MCBBREMgZHJp dmVyIgo+ICvCoMKgwqDCoMKgwqDCoGRlcGVuZHMgb24gU1BJX01BU1RFUgo+ICvCoMKgwqDCoMKg wqDCoHNlbGVjdCBJSU9fQlVGRkVSCj4gK8KgwqDCoMKgwqDCoMKgc2VsZWN0IElJT19UUklHR0VS Cj4gK8KgwqDCoMKgwqDCoMKgc2VsZWN0IElJT19UUklHR0VSRURfQlVGRkVSCj4gK8KgwqDCoMKg wqDCoMKgaGVscAo+ICvCoMKgwqDCoMKgwqDCoMKgIEFENzM4MCBpcyBhIGZhbWlseSBvZiBzaW11 bHRhbmVvdXMgc2FtcGxpbmcgQURDcyB0aGF0IHNoYXJlIHRoZSBzYW1lCj4gK8KgwqDCoMKgwqDC oMKgwqAgU1BJIHJlZ2lzdGVyIG1hcCBhbmQgaGF2ZSBzaW1pbGFyIHBpbm91dHMuCj4gKwo+ICvC oMKgwqDCoMKgwqDCoMKgIFNheSB5ZXMgaGVyZSB0byBidWlsZCBzdXBwb3J0IGZvciBBbmFsb2cg RGV2aWNlcyBBRDczODAgQURDIGFuZAo+ICvCoMKgwqDCoMKgwqDCoMKgIHNpbWlsYXIgY2hpcHMu Cj4gKwo+ICvCoMKgwqDCoMKgwqDCoMKgIFRvIGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBtb2R1 bGUsIGNob29zZSBNIGhlcmU6IHRoZSBtb2R1bGUgd2lsbCBiZQo+ICvCoMKgwqDCoMKgwqDCoMKg IGNhbGxlZCBhZDczODAuCj4gKwo+IMKgY29uZmlnIEFENzQ3Ngo+IMKgwqDCoMKgwqDCoMKgwqB0 cmlzdGF0ZSAiQW5hbG9nIERldmljZXMgQUQ3NDc2IDEtY2hhbm5lbCBBRENzIGRyaXZlciBhbmQg b3RoZXIgc2ltaWxhcgo+IGRldmljZXMgZnJvbSBBRCBhbmQgVEkiCj4gwqDCoMKgwqDCoMKgwqDC oGRlcGVuZHMgb24gU1BJCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWlvL2FkYy9NYWtlZmlsZSBi L2RyaXZlcnMvaWlvL2FkYy9NYWtlZmlsZQo+IGluZGV4IGJlZTExZDQ0MmFmNC4uOWM5MjFjNDk3 NjU1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvaWlvL2FkYy9NYWtlZmlsZQo+ICsrKyBiL2RyaXZl cnMvaWlvL2FkYy9NYWtlZmlsZQo+IEBAIC0xNiw2ICsxNiw3IEBAIG9iai0kKENPTkZJR19BRDcy OTEpICs9IGFkNzI5MS5vCj4gwqBvYmotJChDT05GSUdfQUQ3MjkyKSArPSBhZDcyOTIubwo+IMKg b2JqLSQoQ09ORklHX0FENzI5OCkgKz0gYWQ3Mjk4Lm8KPiDCoG9iai0kKENPTkZJR19BRDc5MjMp ICs9IGFkNzkyMy5vCj4gK29iai0kKENPTkZJR19BRDczODApICs9IGFkNzM4MC5vCj4gwqBvYmot JChDT05GSUdfQUQ3NDc2KSArPSBhZDc0NzYubwo+IMKgb2JqLSQoQ09ORklHX0FENzYwNl9JRkFD RV9QQVJBTExFTCkgKz0gYWQ3NjA2X3Bhci5vCj4gwqBvYmotJChDT05GSUdfQUQ3NjA2X0lGQUNF X1NQSSkgKz0gYWQ3NjA2X3NwaS5vCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWlvL2FkYy9hZDcz ODAuYyBiL2RyaXZlcnMvaWlvL2FkYy9hZDczODAuYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4g aW5kZXggMDAwMDAwMDAwMDAwLi5iODAyNWI2MzZiNjcKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIv ZHJpdmVycy9paW8vYWRjL2FkNzM4MC5jCj4gQEAgLTAsMCArMSw0NjQgQEAKPiArLy8gU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQo+ICsvKgo+ICsgKiBBbmFsb2cgRGV2aWNl cyBBRDczOHggU2ltdWx0YW5lb3VzIFNhbXBsaW5nIFNBUiBBRENzCj4gKyAqCj4gKyAqIENvcHly aWdodCAyMDE3IEFuYWxvZyBEZXZpY2VzIEluYy4KPiArICogQ29weXJpZ2h0IDIwMjMgQmF5TGli cmUsIFNBUwo+ICsgKi8KPiArCj4gKyNpbmNsdWRlIDxsaW51eC9iaXRmaWVsZC5oPgo+ICsjaW5j bHVkZSA8bGludXgvYml0b3BzLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9jbGVhbnVwLmg+Cj4gKyNp bmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KPiArI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgo+ICsjaW5j bHVkZSA8bGludXgva2VybmVsLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KPiArI2lu Y2x1ZGUgPGxpbnV4L3JlZ21hcC5oPgo+ICsjaW5jbHVkZSA8bGludXgvcmVndWxhdG9yL2NvbnN1 bWVyLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9zcGkv c3BpLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9zeXNmcy5oPgo+ICsKPiArI2luY2x1ZGUgPGxpbnV4 L2lpby9idWZmZXIuaD4KPiArI2luY2x1ZGUgPGxpbnV4L2lpby9paW8uaD4KPiArI2luY2x1ZGUg PGxpbnV4L2lpby9zeXNmcy5oPgo+ICsjaW5jbHVkZSA8bGludXgvaWlvL3RyaWdnZXJfY29uc3Vt ZXIuaD4KPiArI2luY2x1ZGUgPGxpbnV4L2lpby90cmlnZ2VyZWRfYnVmZmVyLmg+Cj4gKwoKLi4u Cgo+IAo+ICtzdGF0aWMgaW50IGFkNzM4MF9wcm9iZShzdHJ1Y3Qgc3BpX2RldmljZSAqc3BpKQo+ ICt7Cj4gK8KgwqDCoMKgwqDCoMKgc3RydWN0IGlpb19kZXYgKmluZGlvX2RldjsKPiArwqDCoMKg wqDCoMKgwqBzdHJ1Y3QgYWQ3MzgwX3N0YXRlICpzdDsKPiArwqDCoMKgwqDCoMKgwqBpbnQgcmV0 Owo+ICsKPiArwqDCoMKgwqDCoMKgwqBpbmRpb19kZXYgPSBkZXZtX2lpb19kZXZpY2VfYWxsb2Mo JnNwaS0+ZGV2LCBzaXplb2YoKnN0KSk7Cj4gK8KgwqDCoMKgwqDCoMKgaWYgKCFpbmRpb19kZXYp Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJldHVybiAtRU5PTUVNOwo+ICsKPiAr wqDCoMKgwqDCoMKgwqBzdCA9IGlpb19wcml2KGluZGlvX2Rldik7Cj4gK8KgwqDCoMKgwqDCoMKg c3QtPnNwaSA9IHNwaTsKPiArwqDCoMKgwqDCoMKgwqBzdC0+Y2hpcF9pbmZvID0gc3BpX2dldF9k ZXZpY2VfbWF0Y2hfZGF0YShzcGkpOwo+ICvCoMKgwqDCoMKgwqDCoGlmICghc3QtPmNoaXBfaW5m bykKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGRldl9lcnJfcHJvYmUo JnNwaS0+ZGV2LCAtRUlOVkFMLCAibWlzc2luZyBtYXRjaCBkYXRhXG4iKTsKPiArCj4gK8KgwqDC oMKgwqDCoMKgc3QtPnZyZWYgPSBkZXZtX3JlZ3VsYXRvcl9nZXRfb3B0aW9uYWwoJnNwaS0+ZGV2 LCAicmVmaW8iKTsKPiArwqDCoMKgwqDCoMKgwqBpZiAoSVNfRVJSKHN0LT52cmVmKSkgewo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAvKgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgKiBJZiB0aGVyZSBpcyBubyBSRUZJTyBzdXBwbHksIHRoZW4gaXQgbWVhbnMgdGhh dCB3ZSBhcmUgdXNpbmcKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogdGhlIGlu dGVybmFsIDIuNVYgcmVmZXJlbmNlLgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg Ki8KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKFBUUl9FUlIoc3QtPnZyZWYp ID09IC1FTk9ERVYpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqBzdC0+dnJlZiA9IE5VTEw7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGVs c2UKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJldHVy biBkZXZfZXJyX3Byb2JlKCZzcGktPmRldiwgUFRSX0VSUihzdC0+dnJlZiksCj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgICJGYWlsZWQgdG8gZ2V0IHJlZmlvIHJlZ3VsYXRvclxuIik7 Cj4gK8KgwqDCoMKgwqDCoMKgfQo+ICsKPiArwqDCoMKgwqDCoMKgwqBpZiAoc3QtPnZyZWYpIHsK PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0ID0gcmVndWxhdG9yX2VuYWJsZShz dC0+dnJlZik7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlmIChyZXQpCj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gcmV0Owo+ ICsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0ID0gZGV2bV9hZGRfYWN0aW9u X29yX3Jlc2V0KCZzcGktPmRldiwgYWQ3MzgwX3JlZ3VsYXRvcl9kaXNhYmxlLAo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3QtPnZyZWYpOwo+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBpZiAocmV0KQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiArwqDCoMKgwqDCoMKgwqB9Cj4gKwo+ICvCoMKg wqDCoMKgwqDCoHN0LT5yZWdtYXAgPSBkZXZtX3JlZ21hcF9pbml0KCZzcGktPmRldiwgTlVMTCwg c3QsICZhZDczODBfcmVnbWFwX2NvbmZpZyk7Cj4gK8KgwqDCoMKgwqDCoMKgaWYgKElTX0VSUihz dC0+cmVnbWFwKSkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIGRldl9l cnJfcHJvYmUoJnNwaS0+ZGV2LCBQVFJfRVJSKHN0LT5yZWdtYXApLAo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg ICJmYWlsZWQgdG8gYWxsb2NhdGUgcmVnaXN0ZXIgbWFwXG4iKTsKClN0aWxsIG5vdCB1c2luZyBh IHJlZ21hcF9idXMuLi4gWW91IGNvdWxkIGF0IGxlYXN0IGFyZ3VlIGluIHRoZSBsYXN0IHZlcnNp b24gd2h5CnlvdSdyZSBub3QgZG9pbmcgaXQgcmF0aGVyIHRoYW4gaWdub3JpbmcgdGhlIGNvbW1l bnQgOikuCgpJJ20gYXNraW5nIGZvciBpdCBiZWNhdXNlIGl0IGFscmVhZHkgaGFwcGVuZWQgKGlu IElJTykgdG8gbWUgYW5kIEkgd2FzIGFza2VkIGZvcgppbXBsZW1lbnRpbmcgdGhlIGJ1cy4gWW91 IGFsc28gZ2FpbiB0aGluZ3MgbGlrZSByZWdtYXAgY29yZSBoYW5kbGluZyBlbmRpYW5pc20gYW5k CmZvcm1hdHRpbmcgdGhlIHdvcmsgYnVmZmVyIGZvciB5b3UgKGVnOiByZWdtYXBfYnVsa19yZWFk KCkgY291bGQgYmUgbW9yZSBlZmZpY2llbnQpLAoKPiArwqDCoMKgwqDCoMKgwqBpbmRpb19kZXYt PmNoYW5uZWxzID0gc3QtPmNoaXBfaW5mby0+Y2hhbm5lbHM7Cj4gK8KgwqDCoMKgwqDCoMKgaW5k aW9fZGV2LT5udW1fY2hhbm5lbHMgPSBzdC0+Y2hpcF9pbmZvLT5udW1fY2hhbm5lbHM7Cj4gK8Kg wqDCoMKgwqDCoMKgaW5kaW9fZGV2LT5kZXYucGFyZW50ID0gJnNwaS0+ZGV2OwoKc3RpbGwgbm90 IGFkZHJlc3NlZC4uLgoKV2l0aCBhdCBsZWFzdCB0aGUgYWJvdmUgKGZvciB0aGUgcmVnbWFwX2J1 cyBJJ2xsIGxlYXZlIHRoZSB1bHRpbWF0ZSBkZWNpc2lvbiB0bwpKb25hdGhhbiAtIG5vdCBhIGRl YWwgYnJlYWtlciBmb3IgbWUpOgoKUmV2aWV3ZWQtYnk6IE51bm8gU2EgPG51bm8uc2FAYW5hbG9n LmNvbT4KCgotIE51bm8gU8OhCgo=