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 X-Spam-Level: X-Spam-Status: No, score=-20.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 83D8EC64E7C for ; Wed, 2 Dec 2020 13:07:00 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id F0FD72223C for ; Wed, 2 Dec 2020 13:06:59 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F0FD72223C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Ws6/7uUwLMtJ413s2/djmEJUqH0fl04Ys/M2yuDrq5I=; b=YjxXe+qntqFjprNxYJ+kw6emP NX5x0EvTqBu/YYe+uK2rs6GTIYW9RVUqyIcJfTPTtJxKD5g0FQabUlPKQxIJYCFIsQlhFr8ALjYMx 233P5idnGS4n1eT5g+dJNzR0q+cQg6+sPaRS/qw/6myEiZ4jD6JnFVKcE9WSR6EWVQkgymH5VQsvY fWXhsF62dPL08patXnMSVGnXnFFzL9FfuVO/ee9u73/SBh77PJ3ZIMndLy6lCYjGSGtORMaGR2yp7 e8/dqr4Jv0AaIcIQ5oCLEmyXlFbaFd6bU4b6cNiD54yEIFGPMTxXGg2RUBEZKBYKGOtSSmfoGstkb ps2gcB/4w==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kkRp4-0003bl-Qy; Wed, 02 Dec 2020 13:05:30 +0000 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kkRp0-0003ag-0c for linux-arm-kernel@lists.infradead.org; Wed, 02 Dec 2020 13:05:27 +0000 Received: by mail-wr1-x444.google.com with SMTP id r3so3879029wrt.2 for ; Wed, 02 Dec 2020 05:05:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=YF+WlyCt3rq165R9rPhsAR5qsYk6r1RiPW2tzO/YPhE=; b=kxX9wrHZNwlLIJdTxtKvUwuk/et7M4x5wlpSjhdkxmEz1piNL/IeIIXigGIUl9ipjY dIdTNlI4IAELmPStajXBBI+Klk6ii/r0HMOro78xmzlzKgcDUptC4TlsCbnICCG1LW4D sqnfqrSHnT+1OGJzPA6btCamhetgcJo3iPQvqVq8LVzmPPTMGQLF6VuqcOKjcvYGEL1L KiWHTEX6h8AjrKEAv3Z5D3VNdut9VG0waZ9k1XZTtQSZ14qSl0NGIeiTCBj5Mie7kFY3 8IeGal8nhCIgKtpl50HyJ7RBz+qgk/FWV1+tbFCqgiUa8sVSlrevuMAnmbIkxOKg3Bp5 b0dg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=YF+WlyCt3rq165R9rPhsAR5qsYk6r1RiPW2tzO/YPhE=; b=SpXN1Q2mKbGWjSOIzg6V0BSIH0xpfVgRShfHyUWBM/4utWvZ/+yusf7hLYaPfMvWe7 9MtPibEfE9sXd8qNDXW5mdqrzlQ0Zm4Gugnfy/Uy72Tu5WHMoubw/dp+S2E8iAO1uHn+ iuERkLsB9SNz+JuJ7Uh5Vyps9Hi7U9ykBs7x6iyUlk5FeZtvLCk6ikhlraq9asJOBhO3 zGrQQiqY+sBb9vF1ATOxzJxNCsjh/BjQ45um0x7Uhyoz2OZ0xui22hs0ML0oB7aEAI/J fm99WaU+iFq8HCIy3tDFHuO+waxiqNzDpU1b1hP+gRfGxRcw0ixgs9V9V15oxqNOsEh/ lf7A== X-Gm-Message-State: AOAM5337WDJ1smz+eMsO/f4H4QMBG3jKd4ev3Mn3GNj420J05v7GP6Jf AWETK8cU4OguAt1AIjFL+xtr+A== X-Google-Smtp-Source: ABdhPJyU7nBUV7L/MOKEYhXF3YQLoNB4SBM8Oj1m3Ptw0bfruV++dLrYVysScV65WUtECftiWqkPEg== X-Received: by 2002:a5d:548b:: with SMTP id h11mr3417874wrv.306.1606914323134; Wed, 02 Dec 2020 05:05:23 -0800 (PST) Received: from dell ([91.110.221.235]) by smtp.gmail.com with ESMTPSA id v64sm2059455wme.25.2020.12.02.05.05.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Dec 2020 05:05:22 -0800 (PST) Date: Wed, 2 Dec 2020 13:05:20 +0000 From: Lee Jones To: Jonathan =?iso-8859-1?Q?Neusch=E4fer?= Subject: Re: [PATCH v4 3/7] mfd: Add base driver for Netronix embedded controller Message-ID: <20201202130520.GL4801@dell> References: <20201122222739.1455132-1-j.neuschaefer@gmx.net> <20201122222739.1455132-4-j.neuschaefer@gmx.net> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20201122222739.1455132-4-j.neuschaefer@gmx.net> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201202_080526_114437_A046FC66 X-CRM114-Status: GOOD ( 47.36 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Alexandre Belloni , Heiko Stuebner , devicetree@vger.kernel.org, Linus Walleij , Thierry Reding , Sam Ravnborg , linux-rtc@vger.kernel.org, Arnd Bergmann , Mauro Carvalho Chehab , Fabio Estevam , Daniel Palmer , Andy Shevchenko , Andreas Kemnade , NXP Linux Team , Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= , linux-pwm@vger.kernel.org, Stephan Gerhold , allen , Sascha Hauer , Lubomir Rintel , Mark Brown , linux-arm-kernel@lists.infradead.org, Alessandro Zummo , linux-kernel@vger.kernel.org, Rob Herring , Pengutronix Kernel Team , Heiko Stuebner , Josua Mayer , Shawn Guo , "David S. Miller" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gU3VuLCAyMiBOb3YgMjAyMCwgSm9uYXRoYW4gTmV1c2Now6RmZXIgd3JvdGU6Cgo+IFRoZSBO ZXRyb25peCBlbWJlZGRlZCBjb250cm9sbGVyIGlzIGEgbWljcm9jb250cm9sbGVyIGZvdW5kIGlu IHNvbWUKPiBlLWJvb2sgcmVhZGVycyBkZXNpZ25lZCBieSB0aGUgb3JpZ2luYWwgZGVzaWduIG1h bnVmYWN0dXJlciBOZXRyb25peCwKPiBJbmMuIEl0IGNvbnRhaW5zIFJUQywgYmF0dGVyeSBtb25p dG9yaW5nLCBzeXN0ZW0gcG93ZXIgbWFuYWdlbWVudCwgYW5kCj4gUFdNIGZ1bmN0aW9uYWxpdHku Cj4gCj4gVGhpcyBkcml2ZXIgaW1wbGVtZW50cyByZWdpc3RlciBhY2Nlc3MgYW5kIHZlcnNpb24g ZGV0ZWN0aW9uLgo+IAo+IFRoaXJkLXBhcnR5IGhhcmR3YXJlIGRvY3VtZW50YXRpb24gaXMgYXZh aWxhYmxlIGF0Ogo+IAo+ICAgaHR0cHM6Ly9naXRodWIuY29tL25ldXNjaGFlZmVyL2xpbnV4L3dp a2kvTmV0cm9uaXgtTVNQNDMwLWVtYmVkZGVkLWNvbnRyb2xsZXIKPiAKPiBUaGUgRUMgc3VwcG9y dHMgaW50ZXJydXB0cywgYnV0IHRoZSBkcml2ZXIgZG9lc24ndCBtYWtlIHVzZSBvZiB0aGVtIHNv Cj4gZmFyLgo+IAo+IFNpZ25lZC1vZmYtYnk6IEpvbmF0aGFuIE5ldXNjaMOkZmVyIDxqLm5ldXNj aGFlZmVyQGdteC5uZXQ+Cj4gLS0tCj4gCj4gdjQ6Cj4gLSBpbmNsdWRlIGFzbS91bmFsaWduZWQu aCBhZnRlciBsaW51eC8qCj4gLSBVc2UgcHV0X3VuYWxpZ25lZF9iZTE2IGluc3RlYWQgb2Ygb3Bl bi1jb2RlZCBiaWctZW5kaWFuIHBhY2tpbmcKPiAtIENsYXJpZnkgdGhhdCAweDkwPTB4ZmYwMCBj YXVzZXMgYW4gZXJyb3IgaW4gZG93bnN0cmVhbSBrZXJuZWwgdG9vCj4gLSBBZGQgY29tbWFzIGFm dGVyIG5vbi1zZW50aW5lbCBwb3NpdGlvbnMKPiAtIG50eGVjLmg6IGRlY2xhcmUgc3RydWN0cyBk ZXZpY2UgYW5kIHJlZ21hcAo+IC0gUmVwbGFjZSBXQVJOX09OIHVzYWdlIGFuZCBhZGQgY29tbWVu dHMgdG8gZXhwbGFpbiBlcnJvcnMKPiAtIFJlcGxhY2UgZGV2X2FsZXJ0IHdpdGggZGV2X3dhcm4g d2hlbiB0aGUgcmVzdWx0IGlzbid0IGhhbmRsZWQKPiAtIENoYW5nZSBzdWJkZXZpY2UgcmVnaXN0 cmF0aW9uIGVycm9yIG1lc3NhZ2UgdG8gZGV2X2Vycgo+IC0gRGVjbGFyZSBudHhlY19yZWc4IGFz IHJldHVybmluZyBfX2JlMTYKPiAtIFJlc3RydWN0dXJlIHZlcnNpb24gZGV0ZWN0aW9uIGNvZGUK PiAtIFNwZWxsIG91dCBPRE0KPiAKPiB2MzoKPiAtIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xr bWwvMjAyMDA5MjQxOTI0NTUuMjQ4NDAwNS00LWoubmV1c2NoYWVmZXJAZ214Lm5ldC8KPiAtIEFk ZCAoRUMpIHRvIENPTkZJR19NRkRfTlRYRUMgcHJvbXB0Cj4gLSBSZWxpY2Vuc2UgYXMgR1BMdjIg b3IgbGF0ZXIKPiAtIEFkZCBlbWFpbCBhZGRyZXNzIHRvIGNvcHlyaWdodCBsaW5lCj4gLSByZW1v dmUgZW1wdHkgbGluZXMgaW4gbnR4ZWNfcG93ZXJvZmYgYW5kIG50eGVjX3Jlc3RhcnQgZnVuY3Rp b25zCj4gLSBTcGxpdCBsb25nIGxpbmVzCj4gLSBSZW1vdmUgJ0luc3RhbGwgLi4uIGhhbmRsZXIn IGNvbW1lbnRzCj4gLSBNYWtlIG5hbWluZyBvZiBzdHJ1Y3QgaTJjX2NsaWVudCBwYXJhbWV0ZXIg Y29uc2lzdGVudAo+IC0gUmVtb3ZlIHN0cnVjdCBudHhlY19pbmZvCj4gLSBSZXdvcmsgJ2RlcGVu ZHMgb24nIGxpbmVzIGluIEtjb25maWcsIGhhcmQtZGVwZW5kIG9uIEkyQywgc2VsZWN0IFJFR01B UF9JMkMgYW5kCj4gICBNRkRfQ09SRQo+IC0gUmVnaXN0ZXIgc3ViZGV2aWNlcyB2aWEgbWZkX2Nl bGxzCj4gLSBNb3ZlIDgtYml0IHJlZ2lzdGVyIGNvbnZlcnNpb24gdG8gbnR4ZWMuaAo+IAo+IHYy Ogo+IC0gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGttbC8yMDIwMDkwNTEzMzIzMC4xMDE0NTgx LTQtai5uZXVzY2hhZWZlckBnbXgubmV0Lwo+IC0gQWRkIGEgZGVzY3JpcHRpb24gb2YgdGhlIGRl dmljZSB0byB0aGUgcGF0Y2ggdGV4dAo+IC0gVW5pZnkgc3BlbGxpbmcgYXMgJ05ldHJvbml4IGVt YmVkZGVkIGNvbnRyb2xsZXInLgo+ICAgJ05ldHJvbml4JyBpcyB0aGUgcHJvcGVyIG5hbWUgb2Yg dGhlIG1hbnVmYWN0dXJlciwgYnV0ICdlbWJlZGRlZCBjb250cm9sbGVyJwo+ICAgaXMganVzdCBh IGxhYmVsIHRoYXQgSSBoYXZlIGFzc2lnbmVkIHRvIHRoZSBkZXZpY2UuCj4gLSBTd2l0Y2ggdG8g cmVnbWFwLCBhdm9pZCByZWdtYXAgdXNlIGluIHBvd2Vyb2ZmIGFuZCByZWJvb3QgaGFuZGxlcnMu Cj4gICBJbnNwaXJlZCBieSBjZjg0ZGMwYmI0MGY0ICgibWZkOiBybjV0NjE4OiBNYWtlIHJlc3Rh cnQgaGFuZGxlciBhdG9taWMgc2FmZSIpCj4gLSBVc2UgYSBsaXN0IG9mIGtub3duLXdvcmtpbmcg ZmlybXdhcmUgdmVyc2lvbnMgaW5zdGVhZCBvZiBjaGVja2luZyBmb3IgYQo+ICAga25vd24taW5j b21wYXRpYmxlIHZlcnNpb24KPiAtIFByZWZpeCByZWdpc3RlcnMgd2l0aCBOVFhFQ19SRUdfCj4g LSBEZWZpbmUgcmVnaXN0ZXIgdmFsdWVzIGFzIGNvbnN0YW50cwo+IC0gVmFyaW91cyBzdHlsZSBj bGVhbnVwcyBhcyBzdWdnZXN0ZWQgYnkgTGVlIEpvbmVzCj4gLSBEb24ndCBhbGlnbiA9IHNpZ25z IGluIHN0cnVjdCBpbml0aWFsaXplcnMgW1V3ZSBLbGVpbmUtS8O2bmlnXQo+IC0gRG9uJ3QgdXNl IGRldl9kYmcgZm9yIGFuIGVycm9yIG1lc3NhZ2UKPiAtIEV4cGxhaW4gc2xlZXAgaW4gcG93ZXJv ZmYgaGFuZGxlcgo+IC0gUmVtb3ZlIChzdHJ1Y3QgbnR4ZWMpLmNsaWVudAo+IC0gU3dpdGNoIHRv IC5wcm9iZV9uZXcgaW4gaTJjIGRyaXZlcgo+IC0gQWRkIC5yZW1vdmUgY2FsbGJhY2sKPiAtIE1h a2UgQ09ORklHX01GRF9OVFhFQyBhIHRyaXN0YXRlIG9wdGlvbgo+IC0tLQo+ICBkcml2ZXJzL21m ZC9LY29uZmlnICAgICAgIHwgIDExICsrCj4gIGRyaXZlcnMvbWZkL01ha2VmaWxlICAgICAgfCAg IDEgKwo+ICBkcml2ZXJzL21mZC9udHhlYy5jICAgICAgIHwgMjE2ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCj4gIGluY2x1ZGUvbGludXgvbWZkL250eGVjLmggfCAgMzQg KysrKysrCj4gIDQgZmlsZXMgY2hhbmdlZCwgMjYyIGluc2VydGlvbnMoKykKPiAgY3JlYXRlIG1v ZGUgMTAwNjQ0IGRyaXZlcnMvbWZkL250eGVjLmMKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1 ZGUvbGludXgvbWZkL250eGVjLmgKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZmQvS2NvbmZp ZyBiL2RyaXZlcnMvbWZkL0tjb25maWcKPiBpbmRleCA4Yjk5YTEzNjY5YmZjLi5kOTY3NTFmODg0 ZGM2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWZkL0tjb25maWcKPiArKysgYi9kcml2ZXJzL21m ZC9LY29uZmlnCj4gQEAgLTk5MCw2ICs5OTAsMTcgQEAgY29uZmlnIE1GRF9WSVBFUkJPQVJECj4g IAkgIFlvdSBuZWVkIHRvIHNlbGVjdCB0aGUgbWZkIGNlbGwgZHJpdmVycyBzZXBhcmF0ZWx5Lgo+ ICAJICBUaGUgZHJpdmVycyBkbyBub3Qgc3VwcG9ydCBhbGwgZmVhdHVyZXMgdGhlIGJvYXJkIGV4 cG9zZXMuCj4gCj4gK2NvbmZpZyBNRkRfTlRYRUMKPiArCXRyaXN0YXRlICJOZXRyb25peCBlbWJl ZGRlZCBjb250cm9sbGVyIChFQykiCj4gKwlkZXBlbmRzIG9uIE9GIHx8IENPTVBJTEVfVEVTVAo+ ICsJZGVwZW5kcyBvbiBJMkMKPiArCXNlbGVjdCBSRUdNQVBfSTJDCj4gKwlzZWxlY3QgTUZEX0NP UkUKPiArCWhlbHAKPiArCSAgU2F5IHllcyBoZXJlIGlmIHlvdSB3YW50IHRvIHN1cHBvcnQgdGhl IGVtYmVkZGVkIGNvbnRyb2xsZXIgZm91bmQgaW4KPiArCSAgY2VydGFpbiBlLWJvb2sgcmVhZGVy cyBkZXNpZ25lZCBieSB0aGUgb3JpZ2luYWwgZGVzaWduIG1hbnVmYWN0dXJlcgo+ICsJICBOZXRy b25peC4KPiArCj4gIGNvbmZpZyBNRkRfUkVUVQo+ICAJdHJpc3RhdGUgIk5va2lhIFJldHUgYW5k IFRhaHZvIG11bHRpLWZ1bmN0aW9uIGRldmljZSIKPiAgCXNlbGVjdCBNRkRfQ09SRQo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL21mZC9NYWtlZmlsZSBiL2RyaXZlcnMvbWZkL01ha2VmaWxlCj4gaW5k ZXggMTc4MDAxOWQyNDc0OC4uODE1Yzk5Yjg0MDE5ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21m ZC9NYWtlZmlsZQo+ICsrKyBiL2RyaXZlcnMvbWZkL01ha2VmaWxlCj4gQEAgLTIxOCw2ICsyMTgs NyBAQCBvYmotJChDT05GSUdfTUZEX0lOVEVMX01TSUMpCSs9IGludGVsX21zaWMubwo+ICBvYmot JChDT05GSUdfTUZEX0lOVEVMX1BNQ19CWFQpCSs9IGludGVsX3BtY19ieHQubwo+ICBvYmotJChD T05GSUdfTUZEX1BBTE1BUykJKz0gcGFsbWFzLm8KPiAgb2JqLSQoQ09ORklHX01GRF9WSVBFUkJP QVJEKSAgICArPSB2aXBlcmJvYXJkLm8KPiArb2JqLSQoQ09ORklHX01GRF9OVFhFQykJCSs9IG50 eGVjLm8KPiAgb2JqLSQoQ09ORklHX01GRF9SQzVUNTgzKQkrPSByYzV0NTgzLm8gcmM1dDU4My1p cnEubwo+ICBvYmotJChDT05GSUdfTUZEX1JLODA4KQkJKz0gcms4MDgubwo+ICBvYmotJChDT05G SUdfTUZEX1JONVQ2MTgpCSs9IHJuNXQ2MTgubwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21mZC9u dHhlYy5jIGIvZHJpdmVycy9tZmQvbnR4ZWMuYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5k ZXggMDAwMDAwMDAwMDAwMC4uYzE1MTA3MTFkNzM2Mwo+IC0tLSAvZGV2L251bGwKPiArKysgYi9k cml2ZXJzL21mZC9udHhlYy5jCj4gQEAgLTAsMCArMSwyMTYgQEAKPiArLy8gU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLyoKPiArICogVGhlIE5ldHJvbml4IGVt YmVkZGVkIGNvbnRyb2xsZXIgaXMgYSBtaWNyb2NvbnRyb2xsZXIgZm91bmQgaW4gc29tZQo+ICsg KiBlLWJvb2sgcmVhZGVycyBkZXNpZ25lZCBieSB0aGUgb3JpZ2luYWwgZGVzaWduIG1hbnVmYWN0 dXJlciBOZXRyb25peCwgSW5jLgo+ICsgKiBJdCBjb250YWlucyBSVEMsIGJhdHRlcnkgbW9uaXRv cmluZywgc3lzdGVtIHBvd2VyIG1hbmFnZW1lbnQsIGFuZCBQV00KPiArICogZnVuY3Rpb25hbGl0 eS4KPiArICoKPiArICogVGhpcyBkcml2ZXIgaW1wbGVtZW50cyByZWdpc3RlciBhY2Nlc3MsIHZl cnNpb24gZGV0ZWN0aW9uLCBhbmQgc3lzdGVtCj4gKyAqIHBvd2VyLW9mZi9yZXNldC4KPiArICoK PiArICogQ29weXJpZ2h0IDIwMjAgSm9uYXRoYW4gTmV1c2Now6RmZXIgPGoubmV1c2NoYWVmZXJA Z214Lm5ldD4KPiArICovCj4gKwo+ICsjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KPiArI2luY2x1 ZGUgPGxpbnV4L2Vycm5vLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KPiArI2luY2x1ZGUg PGxpbnV4L21mZC9jb3JlLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9tZmQvbnR4ZWMuaD4KPiArI2lu Y2x1ZGUgPGxpbnV4L21vZHVsZS5oPgo+ICsjaW5jbHVkZSA8bGludXgvcG0uaD4KPiArI2luY2x1 ZGUgPGxpbnV4L3JlYm9vdC5oPgo+ICsjaW5jbHVkZSA8bGludXgvcmVnbWFwLmg+Cj4gKyNpbmNs dWRlIDxsaW51eC90eXBlcy5oPgo+ICsjaW5jbHVkZSA8YXNtL3VuYWxpZ25lZC5oPgo+ICsKPiAr I2RlZmluZSBOVFhFQ19SRUdfVkVSU0lPTgkweDAwCj4gKyNkZWZpbmUgTlRYRUNfUkVHX1BPV0VS T0ZGCTB4NTAKPiArI2RlZmluZSBOVFhFQ19SRUdfUE9XRVJLRUVQCTB4NzAKPiArI2RlZmluZSBO VFhFQ19SRUdfUkVTRVQJCTB4OTAKPiArCj4gKyNkZWZpbmUgTlRYRUNfUE9XRVJPRkZfVkFMVUUJ MHgwMTAwCj4gKyNkZWZpbmUgTlRYRUNfUE9XRVJLRUVQX1ZBTFVFCTB4MDgwMAo+ICsjZGVmaW5l IE5UWEVDX1JFU0VUX1ZBTFVFCTB4ZmYwMAo+ICsKPiArc3RhdGljIHN0cnVjdCBpMmNfY2xpZW50 ICpwb3dlcm9mZl9yZXN0YXJ0X2NsaWVudDsKPiArCj4gK3N0YXRpYyB2b2lkIG50eGVjX3Bvd2Vy b2ZmKHZvaWQpCj4gK3sKPiArCWludCByZXM7Cj4gKwl1OCBidWZbM10gPSB7IE5UWEVDX1JFR19Q T1dFUk9GRiB9Owo+ICsJc3RydWN0IGkyY19tc2cgbXNnc1tdID0gewo+ICsJCXsKPiArCQkJLmFk ZHIgPSBwb3dlcm9mZl9yZXN0YXJ0X2NsaWVudC0+YWRkciwKPiArCQkJLmZsYWdzID0gMCwKPiAr CQkJLmxlbiA9IHNpemVvZihidWYpLAo+ICsJCQkuYnVmID0gYnVmLAo+ICsJCX0sCj4gKwl9Owo+ ICsKPiArCXB1dF91bmFsaWduZWRfYmUxNihOVFhFQ19QT1dFUk9GRl9WQUxVRSwgYnVmICsgMSk7 Cj4gKwo+ICsJcmVzID0gaTJjX3RyYW5zZmVyKHBvd2Vyb2ZmX3Jlc3RhcnRfY2xpZW50LT5hZGFw dGVyLCBtc2dzLCBBUlJBWV9TSVpFKG1zZ3MpKTsKPiArCWlmIChyZXMgPCAwKQo+ICsJCWRldl93 YXJuKCZwb3dlcm9mZl9yZXN0YXJ0X2NsaWVudC0+ZGV2LAo+ICsJCQkgIkZhaWxlZCB0byBwb3dl ciBvZmYgKGVyciA9ICVkKVxuIiwgcmVzKTsKPiArCj4gKwkvKgo+ICsJICogVGhlIHRpbWUgZnJv bSB0aGUgcmVnaXN0ZXIgd3JpdGUgdW50aWwgdGhlIGhvc3QgQ1BVIGlzIHBvd2VyZWQgb2ZmCj4g KwkgKiBoYXMgYmVlbiBvYnNlcnZlZCB0byBiZSBhYm91dCAyLjUgdG8gMyBzZWNvbmRzLiBTbGVl cCBsb25nIGVub3VnaCB0bwo+ICsJICogc2FmZWx5IGF2b2lkIHJldHVybmluZyBmcm9tIHRoZSBw b3dlcm9mZiBoYW5kbGVyLgo+ICsJICovCj4gKwltc2xlZXAoNTAwMCk7Cj4gK30KPiArCj4gK3N0 YXRpYyBpbnQgbnR4ZWNfcmVzdGFydChzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLAo+ICsJCQkg dW5zaWduZWQgbG9uZyBhY3Rpb24sIHZvaWQgKmRhdGEpCj4gK3sKPiArCWludCByZXM7Cj4gKwl1 OCBidWZbM10gPSB7IE5UWEVDX1JFR19SRVNFVCB9Owo+ICsJLyoKPiArCSAqIE5PVEU6IFRoZSBs b3dlciBoYWxmIG9mIHRoZSByZXNldCB2YWx1ZSBpcyBub3Qgc2VudCwgYmVjYXVzZSBzZW5kaW5n Cj4gKwkgKiBpdCBjYXVzZXMgYW4gSTJDIGVycm9yLiAoVGhlIHJlc2V0IGhhbmRsZXIgaW4gdGhl IGRvd25zdHJlYW0gZHJpdmVyCj4gKwkgKiBkb2VzIHNlbmQgdGhlIGZ1bGwgdHdvLWJ5dGUgdmFs dWUsIGJ1dCBkb2Vzbid0IGNoZWNrIHRoZSByZXN1bHQpLgo+ICsJICovCj4gKwlzdHJ1Y3QgaTJj X21zZyBtc2dzW10gPSB7Cj4gKwkJewo+ICsJCQkuYWRkciA9IHBvd2Vyb2ZmX3Jlc3RhcnRfY2xp ZW50LT5hZGRyLAo+ICsJCQkuZmxhZ3MgPSAwLAo+ICsJCQkubGVuID0gc2l6ZW9mKGJ1ZikgLSAx LAo+ICsJCQkuYnVmID0gYnVmLAo+ICsJCX0sCj4gKwl9Owo+ICsKPiArCXB1dF91bmFsaWduZWRf YmUxNihOVFhFQ19SRVNFVF9WQUxVRSwgYnVmICsgMSk7Cj4gKwo+ICsJcmVzID0gaTJjX3RyYW5z ZmVyKHBvd2Vyb2ZmX3Jlc3RhcnRfY2xpZW50LT5hZGFwdGVyLCBtc2dzLCBBUlJBWV9TSVpFKG1z Z3MpKTsKPiArCWlmIChyZXMgPCAwKQo+ICsJCWRldl93YXJuKCZwb3dlcm9mZl9yZXN0YXJ0X2Ns aWVudC0+ZGV2LAo+ICsJCQkgIkZhaWxlZCB0byByZXN0YXJ0IChlcnIgPSAlZClcbiIsIHJlcyk7 Cj4gKwo+ICsJcmV0dXJuIE5PVElGWV9ET05FOwo+ICt9Cj4gKwo+ICtzdGF0aWMgc3RydWN0IG5v dGlmaWVyX2Jsb2NrIG50eGVjX3Jlc3RhcnRfaGFuZGxlciA9IHsKPiArCS5ub3RpZmllcl9jYWxs ID0gbnR4ZWNfcmVzdGFydCwKPiArCS5wcmlvcml0eSA9IDEyOCwKPiArfTsKPiArCj4gK3N0YXRp YyBjb25zdCBzdHJ1Y3QgcmVnbWFwX2NvbmZpZyByZWdtYXBfY29uZmlnID0gewo+ICsJLm5hbWUg PSAibnR4ZWMiLAo+ICsJLnJlZ19iaXRzID0gOCwKPiArCS52YWxfYml0cyA9IDE2LAo+ICsJLmNh Y2hlX3R5cGUgPSBSRUdDQUNIRV9OT05FLAo+ICsJLnZhbF9mb3JtYXRfZW5kaWFuID0gUkVHTUFQ X0VORElBTl9CSUcsCj4gK307Cj4gKwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG1mZF9jZWxsIG50 eGVjX3N1YmRldmljZXNbXSA9IHsKPiArCXsgLm5hbWUgPSAibnR4ZWMtcnRjIiB9LAo+ICsJeyAu bmFtZSA9ICJudHhlYy1wd20iIH0sCj4gK307Cj4gKwo+ICtzdGF0aWMgaW50IG50eGVjX3Byb2Jl KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCj4gK3sKPiArCXN0cnVjdCBudHhlYyAqZWM7Cj4g Kwl1bnNpZ25lZCBpbnQgdmVyc2lvbjsKPiArCWludCByZXM7Cj4gKwo+ICsJZWMgPSBkZXZtX2tt YWxsb2MoJmNsaWVudC0+ZGV2LCBzaXplb2YoKmVjKSwgR0ZQX0tFUk5FTCk7Cj4gKwlpZiAoIWVj KQo+ICsJCXJldHVybiAtRU5PTUVNOwo+ICsKPiArCWVjLT5kZXYgPSAmY2xpZW50LT5kZXY7Cj4g Kwo+ICsJZWMtPnJlZ21hcCA9IGRldm1fcmVnbWFwX2luaXRfaTJjKGNsaWVudCwgJnJlZ21hcF9j b25maWcpOwo+ICsJaWYgKElTX0VSUihlYy0+cmVnbWFwKSkgewo+ICsJCWRldl9lcnIoZWMtPmRl diwgIkZhaWxlZCB0byBzZXQgdXAgcmVnbWFwIGZvciBkZXZpY2VcbiIpOwo+ICsJCXJldHVybiBy ZXM7Cj4gKwl9Cj4gKwo+ICsJLyogRGV0ZXJtaW5lIHRoZSBmaXJtd2FyZSB2ZXJzaW9uICovCj4g KwlyZXMgPSByZWdtYXBfcmVhZChlYy0+cmVnbWFwLCBOVFhFQ19SRUdfVkVSU0lPTiwgJnZlcnNp b24pOwo+ICsJaWYgKHJlcyA8IDApIHsKPiArCQlkZXZfZXJyKGVjLT5kZXYsICJGYWlsZWQgdG8g cmVhZCBmaXJtd2FyZSB2ZXJzaW9uIG51bWJlclxuIik7Cj4gKwkJcmV0dXJuIHJlczsKPiArCX0K PiArCj4gKwkvKiBCYWlsIG91dCBpZiB3ZSBlbmNvdW50ZXIgYW4gdW5rbm93biBmaXJtd2FyZSB2 ZXJzaW9uICovCj4gKwlzd2l0Y2ggKHZlcnNpb24pIHsKPiArCWNhc2UgMHhkNzI2OiAvKiBmb3Vu ZCBpbiBLb2JvIEF1cmEgKi8KCk5vIG1hZ2ljIG51bWJlcnMuCgpQbGVhc2Ugc3VibWl0IGEgc3Vi c2VxdWVudCBwYXRjaCB0byBkZWZpbmUgdGhpcy4KCj4gKwkJYnJlYWs7Cj4gKwlkZWZhdWx0Ogo+ ICsJCWRldl9lcnIoZWMtPmRldiwKPiArCQkJIk5ldHJvbml4IGVtYmVkZGVkIGNvbnRyb2xsZXIg dmVyc2lvbiAlMDR4IGlzIG5vdCBzdXBwb3J0ZWQuXG4iLAo+ICsJCQl2ZXJzaW9uKTsKPiArCQly ZXR1cm4gLUVOT0RFVjsKPiArCX0KCgpBcHBsaWVkLCB0aGFua3MuCgotLSAKTGVlIEpvbmVzIFvm nY7nkLzmlq9dClNlbmlvciBUZWNobmljYWwgTGVhZCAtIERldmVsb3BlciBTZXJ2aWNlcwpMaW5h cm8ub3JnIOKUgiBPcGVuIHNvdXJjZSBzb2Z0d2FyZSBmb3IgQXJtIFNvQ3MKRm9sbG93IExpbmFy bzogRmFjZWJvb2sgfCBUd2l0dGVyIHwgQmxvZwoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgt YXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3Jn L21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=