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=-11.6 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,FSL_HELO_FAKE,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,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 09862C12002 for ; Fri, 16 Jul 2021 07:53:23 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id C173F613CF for ; Fri, 16 Jul 2021 07:53:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C173F613CF 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=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc: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=ljWIiDo1D7hZwnoR0s3xkkFYTGTOOoA9vF8+eEEzNE0=; b=EY5EiHWFQn8EZt AEkxZ7PCp23yo6M69n6hsU78KA2ua5u2iVriIIpOi7KMeQXiiDyJcbr+BHMcc6n1IegNQUeizaKjr N9zG0usbWqnz+68OGml4s8jI8y41gU5wrpPcJMdO29D6b7N+pfg5LpUXQYekB3rO5KuHJBx0sp8Yw qfjJAQgApy9YIe0NJSgvZJGhtquG+4FCu2y2bg3XGd7eM31QXh1ct+wxg9imZFWSuuIqDJktYjv5o ucXZkB3yFFvrfaxGpEWu/XcPnjEXGWtfh8zaAnZHocdJ/yUdTA/lvQ+/p1Kp0zZ7+GKJx5j30XY7O GEOZC07eGV06Z5Z3EJeQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1m4Id7-003ayt-8a; Fri, 16 Jul 2021 07:51:29 +0000 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1m4Id2-003axO-3e for linux-arm-kernel@lists.infradead.org; Fri, 16 Jul 2021 07:51:26 +0000 Received: by mail-wr1-x431.google.com with SMTP id l7so10981821wrv.7 for ; Fri, 16 Jul 2021 00:51:23 -0700 (PDT) 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=75hkuBoWS0vHJJzS2VgnET8y1i2k9hSa3LBfcENdXNE=; b=IACJF3oamyYJKyHVKKuIo/tOKQo2eNT4+6VJNapd37DO/T4wzAQhnnf5kjrlzAGbpl ItKOQHOoLV7ABATBQpiU/J7lR0nhpce41v0Fi/5sQ2wIdLv2PvSP9L2j3jIvn95Qu6by 1fq1QfPpY4nmw+YgC5T9D5Aq3NW9MSi79I3upyj2Rmopj/ItQ8RJOLKa51lf6rMIfw5r 465pcxcGsY5RIlOphtu5k/k0+2C4w3k2hNZFqryuCaYFm3xwFP7oftE/k3Uj7yfkDP7v uwdWU2jL8gL0Xra4JG7mqAgVrhiVZLEUN2CSgJJnZQ/NEXFfTnC/oI63EQboC/uCRaDh XYJw== 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=75hkuBoWS0vHJJzS2VgnET8y1i2k9hSa3LBfcENdXNE=; b=KDSU22jYccOGjdEYugYW92a1ki4gMDed32h/R11ytGi9P8PXoSQS3k5i7OMMNVY2AJ 7wi6DJ6fAeCHlL2t2jCJ9JveWKxHxjk6i1LOvHSTk8pl6X/eFIoH3GOiWzDW24xrqBLL scAZq8wzwRpnzZAnmlS047bK1eCpX0cNosS8OrEWG8Z+XjfdpegXSR8jtOtiuuuFReXu GtwahHOP/aRmOUQQMF8j4+Qqf3B/25+vdMUbwOv1q6pXTFPEDTIleqZ2CjeGtddEkBdY qZylwqrpnncC+idliprNicdDr7IRHAl/vJ57umGUG0aZbx/iyS4roBjqceeImd9s68BD lHHA== X-Gm-Message-State: AOAM531qLOz7FDsxqtoORnZPc0bQsjqc2hjDdTHoIqEqE0bAsnfmFg8N sVTomYUzPSC1t1Sgvds691QsrQ== X-Google-Smtp-Source: ABdhPJyYkCv/M75rt2/Jdzn8hQJLR21YJoYAPwfbuJZyNViAqFSzHnmN2vHdylezaNC5LUwoKRaQWw== X-Received: by 2002:a5d:634e:: with SMTP id b14mr10240122wrw.81.1626421882154; Fri, 16 Jul 2021 00:51:22 -0700 (PDT) Received: from google.com ([31.124.24.141]) by smtp.gmail.com with ESMTPSA id f130sm8758156wmf.23.2021.07.16.00.51.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 16 Jul 2021 00:51:21 -0700 (PDT) Date: Fri, 16 Jul 2021 08:51:19 +0100 From: Lee Jones To: Linus Walleij Cc: linux-gpio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Dmitry Eremin-Solenikov , Dirk Opfer , Robert Jarzmik , Daniel Mack , Haojian Zhuang , Sebastian Reichel , Liam Girdwood , Mark Brown Subject: Re: [PATCH] ARM/pxa/mfd/power/sound: Switch Tosa to GPIO descriptors Message-ID: References: <20210715151625.394960-1-linus.walleij@linaro.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20210715151625.394960-1-linus.walleij@linaro.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210716_005124_218517_4B31B1AD X-CRM114-Status: GOOD ( 47.67 ) 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-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 T24gVGh1LCAxNSBKdWwgMjAyMSwgTGludXMgV2FsbGVpaiB3cm90ZToKCj4gVGhlIFRvc2EgZGV2 aWNlIChTaGFycCBTTC02MDAwKSBoYXMgYSBtaXNobWFzaCBkcml2ZXIgc2V0LXVwCj4gZm9yIHRo ZSBUb3NoaWJhIFRDNjM5M3hiIE1GRCB0aGF0IGluY2x1ZGVzIGEgYmF0dGVyeSBjaGFyZ2VyCj4g YW5kIHRvdWNoc2NyZWVuIGFuZCBoYXMgc29tZSBraW5kIG9mIHJlbGF0aW9uc2hpcCB0byB0aGUg U29DCj4gc291bmQgZHJpdmVyIGZvciB0aGUgQUM5NyBjb2RlYy4gT3RoZXIgZGV2aWNlcyBkZWZp bmUgYSBjaGlwCj4gbGlrZSB0aGlzIGJ1dCBzZWVtIG9ubHkgaGFsZi1pbXBsZW1lbnRlZCwgbm90 IHJlYWxseSBoYW5kbGluZwo+IGJhdHRlcnkgY2hhcmdpbmcgZXRjLgo+IAo+IFRoaXMgcGF0Y2gg c3dpdGNoZXMgdGhlIFRvc2hpYmEgTUZEIGRldmljZSB0byBwcm92aWRlIEdQSU8KPiBkZXNjcmlw dG9ycyB0byB0aGUgYmF0dGVyeSBjaGFyZ2VyIGFuZCBTb0MgY29kZWMuIEFzIGEgcmVzdWx0Cj4g c29tZSBkZXNjcmlwdG9ycyBuZWVkIHRvIGJlIG1vdmVkIG91dCBvZiB0aGUgVG9zYSBib2FyZGZp bGUKPiBhbmQgbmV3IG9uZSBhZGRlZDogYWxsIFNvQyBHUElPIHJlc291cmNlcyB0byB0aGVzZSBk cml2ZXJzCj4gbm93IGNvbWVzIGZyb20gdGhlIG1haW4gYm9hcmRmaWxlLCB3aGlsZSB0aGUgTUZE IHByb3ZpZGUKPiBHUElPcyBmb3IgaXRzIHBvcnRpb25zLgo+IAo+IEFzIGEgcmVzdWx0IHdlIGNh biByZXF1ZXN0IG9uZSBHUElPIGZyb20gb3VyIG93biBHUElPIGNoaXAKPiBhbmQgZHJvcCB0d28g aGFpcnkgY2FsbGJhY2tzIGludG8gdGhlIGJvYXJkIGZpbGUuCj4gCj4gVGhpcyBwbGF0Zm9ybSBi YWRseSBuZWVkcyB0byBoYXZlIGl0cyBkcml2ZXJzIHNwbGl0IHVwIGFuZAo+IGNvbnZlcnRlZCB0 byBkZXZpY2UgdHJlZSBwcm9iaW5nIHRvIGhhbmRsZSB0aGlzIHF1aXRlIGNvbXBsZXgKPiByZWxh dGlvbnNoaXAgaW4gYW4gb3JkZXJseSBtYW5uZXIuIEkganVzdCBkbyBteSBiZXN0IGluIHNvbHZp bmcKPiB0aGUgR1BJTyBkZXNjcmlwdG9yIHBhcnQgb2YgdGhlIHB1enpsZS4gUGxlYXNlIGRvbid0 IGFzayBtZQo+IHRvIGZpeCBldmVyeXRoaW5nIHRoYXQgaXMgd3Jvbmcgd2l0aCB0aGVzZSBkcml2 ZXIgdG8gdG9kYXlzCj4gc3RhbmRhcmRzLCBJIGFtIGp1c3QgdHJ5aW5nIHRvIGZpeCBvbmUgYXNw ZWN0LiBJIGRvIHRyeSB0bwo+IHVzZSBtb2Rlcm4gZGV2cmVzIHJlc291cmNlIG1hbmFnZW1lbnQg YW5kIGhhbmRsZSBkZWZlcnJlZAo+IHByb2JlIHVzaW5nIG5ldyBmdW5jdGlvbnMgd2hlcmUgYXBw cm9wcmlhdGUuCj4gCj4gQ2M6IERtaXRyeSBFcmVtaW4tU29sZW5pa292IDxkYmFyeXNoa292QGdt YWlsLmNvbT4KPiBDYzogRGlyayBPcGZlciA8ZGlya0BvcGZlci1vbmxpbmUuZGU+Cj4gQ2M6IFJv YmVydCBKYXJ6bWlrIDxyb2JlcnQuamFyem1pa0BmcmVlLmZyPgo+IENjOiBEYW5pZWwgTWFjayA8 ZGFuaWVsQHpvbnF1ZS5vcmc+Cj4gQ2M6IEhhb2ppYW4gWmh1YW5nIDxoYW9qaWFuLnpodWFuZ0Bn bWFpbC5jb20+Cj4gQ2M6IExlZSBKb25lcyA8bGVlLmpvbmVzQGxpbmFyby5vcmc+Cj4gQ2M6IFNl YmFzdGlhbiBSZWljaGVsIDxzcmVAa2VybmVsLm9yZz4KPiBDYzogTGlhbSBHaXJkd29vZCA8bGdp cmR3b29kQGdtYWlsLmNvbT4KPiBDYzogTWFyayBCcm93biA8YnJvb25pZUBrZXJuZWwub3JnPgo+ IFNpZ25lZC1vZmYtYnk6IExpbnVzIFdhbGxlaWogPGxpbnVzLndhbGxlaWpAbGluYXJvLm9yZz4K PiAtLS0KPiBEbWl0cnkvRGlyazogaXQnZCBiZSBncmVhdCBpZiB5b3UgY291bGQgdGVzdCB0aGlz IHBhdGNoIG9uCj4gdGhlIFRvc2EgYW5kIHRyeSB0byBoZWxwIG1lIGlyb24gb3V0IGFueSBidWdz Lgo+IAo+IE1lcmdpbmcgc3RyYXRlZ3k6IHBsZWFzZSBwcm92aWRlIEFDS3MgYW5kIEkgd2lsbCBh dHRlbXB0Cj4gdG8gbWVyZ2UgdGhpcyB0aHJvdWdoIHRoZSBTb0MgdHJlZS4KPiAtLS0KPiAgYXJj aC9hcm0vbWFjaC1weGEvZXNlcmllcy5jICAgICAgICAgICB8ICAgMiAtCj4gIGFyY2gvYXJtL21h Y2gtcHhhL2luY2x1ZGUvbWFjaC90b3NhLmggfCAgMTggLS0tCj4gIGFyY2gvYXJtL21hY2gtcHhh L3Rvc2EuYyAgICAgICAgICAgICAgfCAgNjggKysrLS0tLS0tLQo+ICBkcml2ZXJzL21mZC90YzYz OTN4Yi5jICAgICAgICAgICAgICAgIHwgMTQ3ICsrKysrKysrKysrKysrKystLS0tLS0KPiAgZHJp dmVycy9wb3dlci9zdXBwbHkvdG9zYV9iYXR0ZXJ5LmMgICB8IDE3MSArKysrKysrKysrKysrKysr LS0tLS0tLS0tLQo+ICBpbmNsdWRlL2xpbnV4L21mZC90YzYzOTN4Yi5oICAgICAgICAgIHwgICAx IC0KPiAgc291bmQvc29jL3B4YS90b3NhLmMgICAgICAgICAgICAgICAgICB8ICAyMCArKy0KPiAg NyBmaWxlcyBjaGFuZ2VkLCAyNDYgaW5zZXJ0aW9ucygrKSwgMTgxIGRlbGV0aW9ucygtKQoKWy4u Ll0KCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWZkL3RjNjM5M3hiLmMgYi9kcml2ZXJzL21mZC90 YzYzOTN4Yi5jCj4gaW5kZXggM2Q1YjE0YzYwZTIwLi43MmFjNDcxY2IwZjUgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9tZmQvdGM2MzkzeGIuYwo+ICsrKyBiL2RyaXZlcnMvbWZkL3RjNjM5M3hiLmMK PiBAQCAtMjIsNiArMjIsOCBAQAo+ICAjaW5jbHVkZSA8bGludXgvbWZkL3RtaW8uaD4KPiAgI2lu Y2x1ZGUgPGxpbnV4L21mZC90YzYzOTN4Yi5oPgo+ICAjaW5jbHVkZSA8bGludXgvZ3Bpby9kcml2 ZXIuaD4KPiArI2luY2x1ZGUgPGxpbnV4L2dwaW8vbWFjaGluZS5oPiAvKiBQcm92aWRlcyBHUElP IGxpbmVzIHRvIGNoaWxkcmVuICovCj4gKyNpbmNsdWRlIDxsaW51eC9ncGlvL2NvbnN1bWVyLmg+ IC8qIFJlcXVlc3Rpbmcgb3duIEdQSU9zICovCgpBcmUgdGhlc2UgY29tbWVudHMgcmVhbGx5IG5l Y2Vzc2FyeT8KCj4gICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+Cj4gIAo+ICAjZGVmaW5lIFNDUl9S RVZJRAkweDA4CQkvKiBiIFJldmlzaW9uIElECSovCj4gQEAgLTg3LDggKzg5LDEwIEBACj4gIAo+ ICBzdHJ1Y3QgdGM2MzkzeGIgewo+ICAJdm9pZCBfX2lvbWVtCQkqc2NyOwo+ICsJc3RydWN0IGRl dmljZQkJKmRldjsKPiAgCj4gIAlzdHJ1Y3QgZ3Bpb19jaGlwCWdwaW87Cj4gKwlzdHJ1Y3QgZ3Bp b19kZXNjCSp2Y2Nfb247Cj4gIAo+ICAJc3RydWN0IGNsawkJKmNsazsgLyogMyw2IE1oeiAqLwo+ ICAKPiBAQCAtNDk3LDE3ICs1MDEsMTEwIEBAIHN0YXRpYyBpbnQgdGM2MzkzeGJfZ3Bpb19kaXJl Y3Rpb25fb3V0cHV0KHN0cnVjdCBncGlvX2NoaXAgKmNoaXAsCj4gIAlyZXR1cm4gMDsKPiAgfQo+ ICAKPiAtc3RhdGljIGludCB0YzYzOTN4Yl9yZWdpc3Rlcl9ncGlvKHN0cnVjdCB0YzYzOTN4YiAq dGM2MzkzeGIsIGludCBncGlvX2Jhc2UpCj4gKy8qCj4gKyAqIFRDNjM5M1hCIEdQSU9zIGFzIHVz ZWQgb24gVE9TQSwgdGhlIG9ubHkgdXNlciBvZiB0aGlzIGNoaXAuIElmIHlvdSBhZGQgbW9yZQoK TWlzc2luZyBhbiAiYXJlIiBmb3IgY2xhcml0eT8KCj4gKyAqIHBsYXRmb3JtcyB1c2luZyB0aGlz IGNoaXAsIHJld3JpdGUgdGhpbmdzIHRvIHVzZSBkZXZpY2UgdHJlZSBhbmQgcmVnaXN0ZXIgR1BJ TwoKTm90IHN1cmUgd2Ugc2hvdWxkIGJlIGRpY3RhdGluZyBleHRlbnNpb24gbWV0aG9kcyBpbiB0 aGlzIHdheS4KCldoYXQgaWYgRFQgaXMgZGVwcmVjYXRlZCBieSB0aGUgdGltZSB0aGlzIGlzIGV4 cGFuZGVkPwoKPiArICogcmVzb3VyY2VzIHRoZXJlLgo+ICsgKi8KPiArI2RlZmluZSBUT1NBX0dD X05BTUUJCQkidGM2MzkzeGIiCgpQbGVhc2UgdXNlIHRoZSBuYW1lIHN0cmluZyBpbi1wbGFjZS4K Cj4gKyNkZWZpbmUgVE9TQV9HUElPX1RHX09OCQkJMAo+ICsjZGVmaW5lIFRPU0FfR1BJT19MX01V VEUJCTEKPiArI2RlZmluZSBUT1NBX0dQSU9fQkxfQzIwTUEJCTMKPiArI2RlZmluZSBUT1NBX0dQ SU9fQ0FSRF9WQ0NfT04JCTQKPiArI2RlZmluZSBUT1NBX0dQSU9fQ0hBUkdFX09GRgkJNgo+ICsj ZGVmaW5lIFRPU0FfR1BJT19DSEFSR0VfT0ZGX0pDCQk3Cj4gKyNkZWZpbmUgVE9TQV9HUElPX0JB VDBfVl9PTgkJOQo+ICsjZGVmaW5lIFRPU0FfR1BJT19CQVQxX1ZfT04JCTEwCj4gKyNkZWZpbmUg VE9TQV9HUElPX0JVX0NIUkdfT04JCTExCj4gKyNkZWZpbmUgVE9TQV9HUElPX0JBVF9TV19PTgkJ MTIKPiArI2RlZmluZSBUT1NBX0dQSU9fQkFUMF9USF9PTgkJMTQKPiArI2RlZmluZSBUT1NBX0dQ SU9fQkFUMV9USF9PTgkJMTUKCk9rYXksIEkgaGF2ZSB0byBhc2sgLSB3aGF0IGFyZSA1LCA4IGFu ZCAxMz8KCj4gK3N0YXRpYyBzdHJ1Y3QgZ3Bpb2RfbG9va3VwX3RhYmxlIHRvc2FfbGNkX2dwaW9f bG9va3VwID0gewo+ICsJLmRldl9pZCA9ICJzcGkyLjAiLAo+ICsJLnRhYmxlID0gewo+ICsJCUdQ SU9fTE9PS1VQKFRPU0FfR0NfTkFNRSwgVE9TQV9HUElPX1RHX09OLCAidGcgI3B3ciIsIEdQSU9f QUNUSVZFX0hJR0gpLAo+ICsJCXsgfSwKPiArCX0sCj4gK307Cj4gKwo+ICtzdGF0aWMgc3RydWN0 IGdwaW9kX2xvb2t1cF90YWJsZSB0b3NhX2xjZF9ibF9ncGlvX2xvb2t1cCA9IHsKPiArCS5kZXZf aWQgPSAiaTJjLXRvc2EtYmwiLAo+ICsJLnRhYmxlID0gewo+ICsJCUdQSU9fTE9PS1VQKFRPU0Ff R0NfTkFNRSwgVE9TQV9HUElPX0JMX0MyME1BLCAiYmFja2xpZ2h0IiwgR1BJT19BQ1RJVkVfSElH SCksCj4gKwkJeyB9LAo+ICsJfSwKPiArfTsKPiArCj4gK3N0YXRpYyBzdHJ1Y3QgZ3Bpb2RfbG9v a3VwX3RhYmxlIHRvc2FfYXVkaW9fZ3Bpb19sb29rdXAgPSB7Cj4gKwkuZGV2X2lkID0gInRvc2Et YXVkaW8iLAo+ICsJLnRhYmxlID0gewo+ICsJCUdQSU9fTE9PS1VQKFRPU0FfR0NfTkFNRSwgVE9T QV9HUElPX0xfTVVURSwgTlVMTCwgR1BJT19BQ1RJVkVfSElHSCksCj4gKwkJeyB9LAo+ICsJfSwK PiArfTsKCkFyZSB0aGVzZSBzdHJ1Y3R1cmVzIGdvaW5nIHRvIGJlIHBlcHBlcmVkIGFsbCBvdmVy IHRoZSBrZXJuZWwgbm93PwoKTWF5YmUgYSBoZWxwZXIgY2FuIGJlIGFkZGVkIHRvIG1ha2UgdGhl c2Ugc2luZ2xlIGxpbmUgZW50cmllcyBvbmUgbGluZQplYWNoPwoKPiArc3RhdGljIHN0cnVjdCBn cGlvZF9sb29rdXBfdGFibGUgdG9zYV9iYXR0ZXJ5X2dwaW9fbG9va3VwID0gewo+ICsJLmRldl9p ZCA9ICJ3bTk3eHgtYmF0dGVyeSIsCj4gKwkudGFibGUgPSB7Cj4gKwkJR1BJT19MT09LVVAoVE9T QV9HQ19OQU1FLCBUT1NBX0dQSU9fQ0hBUkdFX09GRiwKPiArCQkJICAgICJtYWluIGNoYXJnZSBv ZmYiLCBHUElPX0FDVElWRV9ISUdIKSwKPiArCQlHUElPX0xPT0tVUChUT1NBX0dDX05BTUUsIFRP U0FfR1BJT19DSEFSR0VfT0ZGX0pDLAo+ICsJCQkgICAgImphY2tldCBjaGFyZ2Ugb2ZmIiwgR1BJ T19BQ1RJVkVfSElHSCksCj4gKwkJR1BJT19MT09LVVAoVE9TQV9HQ19OQU1FLCBUT1NBX0dQSU9f QkFUMF9WX09OLAo+ICsJCQkgICAgIm1haW4gYmF0dGVyeSIsIEdQSU9fQUNUSVZFX0hJR0gpLAo+ ICsJCUdQSU9fTE9PS1VQKFRPU0FfR0NfTkFNRSwgVE9TQV9HUElPX0JBVDFfVl9PTiwKPiArCQkJ ICAgICJqYWNrZXQgYmF0dGVyeSIsIEdQSU9fQUNUSVZFX0hJR0gpLAo+ICsJCUdQSU9fTE9PS1VQ KFRPU0FfR0NfTkFNRSwgVE9TQV9HUElPX0JVX0NIUkdfT04sCj4gKwkJCSAgICAiYmFja3VwIGJh dHRlcnkiLCBHUElPX0FDVElWRV9ISUdIKSwKPiArCQkvKiBCQVQxIGFuZCBCQVQwIHRoZXJtaXN0 b3JzIGFwcGVhciB0byBiZSBzd2FwcGVkICovCj4gKwkJR1BJT19MT09LVVAoVE9TQV9HQ19OQU1F LCBUT1NBX0dQSU9fQkFUMV9USF9PTiwKPiArCQkJICAgICJtYWluIGJhdHRlcnkgdGVtcCIsIEdQ SU9fQUNUSVZFX0hJR0gpLAo+ICsJCUdQSU9fTE9PS1VQKFRPU0FfR0NfTkFNRSwgVE9TQV9HUElP X0JBVDBfVEhfT04sCj4gKwkJCSAgICAiamFja2V0IGJhdHRlcnkgdGVtcCIsIEdQSU9fQUNUSVZF X0hJR0gpLAo+ICsJCUdQSU9fTE9PS1VQKFRPU0FfR0NfTkFNRSwgVE9TQV9HUElPX0JBVF9TV19P TiwKPiArCQkJICAgICJiYXR0ZXJ5IHN3aXRjaCIsIEdQSU9fQUNUSVZFX0hJR0gpLAoKVGhlc2Ug YXJlIHNvb29vIGNsb3NlIHRvIGJlaW5nIDwxMDAgY2hhcnMuCgpXaGF0IGRvZXMgQ2hlY2twYXRj aCBjdXJyZW50bHkgd2FybiBvbj8gIElzIGl0IDEwMCBvciAxMjA/Cgo+ICsJCXsgfSwKPiArCX0s Cj4gK307Cj4gKwo+ICtzdGF0aWMgc3RydWN0IGdwaW9kX2xvb2t1cF90YWJsZSAqdGM2MzkzeGJf Z3Bpb19sb29rdXBzW10gPSB7Cj4gKwkmdG9zYV9sY2RfZ3Bpb19sb29rdXAsCj4gKwkmdG9zYV9s Y2RfYmxfZ3Bpb19sb29rdXAsCj4gKwkmdG9zYV9hdWRpb19ncGlvX2xvb2t1cCwKPiArCSZ0b3Nh X2JhdHRlcnlfZ3Bpb19sb29rdXAsCj4gK307Cj4gKwo+ICtzdGF0aWMgaW50IHRjNjM5M3hiX3Jl Z2lzdGVyX2dwaW8oc3RydWN0IHRjNjM5M3hiICp0YzYzOTN4YikKPiAgewo+IC0JdGM2MzkzeGIt PmdwaW8ubGFiZWwgPSAidGM2MzkzeGIiOwo+IC0JdGM2MzkzeGItPmdwaW8uYmFzZSA9IGdwaW9f YmFzZTsKPiAtCXRjNjM5M3hiLT5ncGlvLm5ncGlvID0gMTY7Cj4gLQl0YzYzOTN4Yi0+Z3Bpby5z ZXQgPSB0YzYzOTN4Yl9ncGlvX3NldDsKPiAtCXRjNjM5M3hiLT5ncGlvLmdldCA9IHRjNjM5M3hi X2dwaW9fZ2V0Owo+IC0JdGM2MzkzeGItPmdwaW8uZGlyZWN0aW9uX2lucHV0ID0gdGM2MzkzeGJf Z3Bpb19kaXJlY3Rpb25faW5wdXQ7Cj4gLQl0YzYzOTN4Yi0+Z3Bpby5kaXJlY3Rpb25fb3V0cHV0 ID0gdGM2MzkzeGJfZ3Bpb19kaXJlY3Rpb25fb3V0cHV0Owo+IC0KPiAtCXJldHVybiBncGlvY2hp cF9hZGRfZGF0YSgmdGM2MzkzeGItPmdwaW8sIHRjNjM5M3hiKTsKPiArCXN0cnVjdCBncGlvX2No aXAgKmdjID0gJnRjNjM5M3hiLT5ncGlvOwo+ICsJc3RydWN0IGRldmljZSAqZGV2ID0gdGM2Mzkz eGItPmRldjsKPiArCWludCByZXQ7Cj4gKwo+ICsJZ2MtPmxhYmVsID0gVE9TQV9HQ19OQU1FOwo+ ICsJZ2MtPmJhc2UgPSAtMTsgLyogRHluYW1pYyBhbGxvY2F0aW9uICovCgpHbG9iYWwgZGVmaW5l PwoKPiArCWdjLT5uZ3BpbyA9IDE2Owo+ICsJZ2MtPnNldCA9IHRjNjM5M3hiX2dwaW9fc2V0Owo+ ICsJZ2MtPmdldCA9IHRjNjM5M3hiX2dwaW9fZ2V0Owo+ICsJZ2MtPmRpcmVjdGlvbl9pbnB1dCA9 IHRjNjM5M3hiX2dwaW9fZGlyZWN0aW9uX2lucHV0Owo+ICsJZ2MtPmRpcmVjdGlvbl9vdXRwdXQg PSB0YzYzOTN4Yl9ncGlvX2RpcmVjdGlvbl9vdXRwdXQ7Cj4gKwo+ICsJcmV0ID0gZGV2bV9ncGlv Y2hpcF9hZGRfZGF0YShkZXYsIGdjLCB0YzYzOTN4Yik7Cj4gKwlpZiAocmV0KQo+ICsJCXJldHVy biBkZXZfZXJyX3Byb2JlKGRldiwgcmV0LCAiZmFpbGVkIHRvIGFkZCBHUElPIGNoaXBcbiIpOwo+ ICsKPiArCS8qIFJlZ2lzdGVyIGRlc2NyaXB0b3IgbG9vay11cHMgZm9yIGNvbnN1bWVycyAqLwo+ ICsJZ3Bpb2RfYWRkX2xvb2t1cF90YWJsZXModGM2MzkzeGJfZ3Bpb19sb29rdXBzLCBBUlJBWV9T SVpFKHRjNjM5M3hiX2dwaW9fbG9va3VwcykpOwo+ICsKPiArCS8qIFJlcXVlc3Qgc29tZSBvZiBv dXIgb3duIEdQSU9zICovCj4gKwl0YzYzOTN4Yi0+dmNjX29uID0gZ3Bpb2NoaXBfcmVxdWVzdF9v d25fZGVzYyhnYywgVE9TQV9HUElPX0NBUkRfVkNDX09OLCAiVkNDIE9OIiwKPiArCQkJCQkJICAg ICBHUElPX0FDVElWRV9ISUdILCBHUElPRF9PVVRfSElHSCk7Cj4gKwlpZiAoSVNfRVJSKHRjNjM5 M3hiLT52Y2Nfb24pKQo+ICsJCXJldHVybiBkZXZfZXJyX3Byb2JlKGRldiwgUFRSX0VSUih0YzYz OTN4Yi0+dmNjX29uKSwKPiArCQkJCSAgICAgImZhaWxlZCB0byByZXF1ZXN0IFZDQyBPTiBHUElP XG4iKTsKPiArCgpTbyBtdWNoIG1vcmUgY29kZSB0byBkbyB0aGUgc2FtZSB0aGluZz8KCj4gKwly ZXR1cm4gMDsKPiAgfQo+ICAKPiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCj4gQEAgLTYxNyw2ICs3 MTQsNyBAQCBzdGF0aWMgaW50IHRjNjM5M3hiX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ug KmRldikKPiAgCQlyZXQgPSAtRU5PTUVNOwo+ICAJCWdvdG8gZXJyX2t6YWxsb2M7Cj4gIAl9Cj4g Kwl0YzYzOTN4Yi0+ZGV2ID0gJmRldi0+ZGV2OwoKVGhhdCBjb25mdXNlZCBtZSBhdCBmaXJzdC4K ClBsZWFzZSBjb25zaWRlciBjaGFuZ2luZyB0aGUgcGxhdGZvcm1fZGV2aWNlIHRvIHBkZXYgKHNl cGFyYXRlbHkpLgoKPiAgCXJhd19zcGluX2xvY2tfaW5pdCgmdGM2MzkzeGItPmxvY2spOwo+ICAK PiBAQCAtNjc2LDIyICs3NzQsMTIgQEAgc3RhdGljIGludCB0YzYzOTN4Yl9wcm9iZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpkZXYpCj4gIAkJCXRtaW9faW9yZWFkOCh0YzYzOTN4Yi0+c2NyICsg U0NSX1JFVklEKSwKPiAgCQkJKHVuc2lnbmVkIGxvbmcpIGlvbWVtLT5zdGFydCwgdGM2MzkzeGIt PmlycSk7Cj4gIAo+IC0JdGM2MzkzeGItPmdwaW8uYmFzZSA9IC0xOwo+IC0KPiAtCWlmICh0Y3Bk LT5ncGlvX2Jhc2UgPj0gMCkgewo+IC0JCXJldCA9IHRjNjM5M3hiX3JlZ2lzdGVyX2dwaW8odGM2 MzkzeGIsIHRjcGQtPmdwaW9fYmFzZSk7Cj4gLQkJaWYgKHJldCkKPiAtCQkJZ290byBlcnJfZ3Bp b19hZGQ7Cj4gLQl9Cj4gKwlyZXQgPSB0YzYzOTN4Yl9yZWdpc3Rlcl9ncGlvKHRjNjM5M3hiKTsK PiArCWlmIChyZXQpCj4gKwkJZ290byBlcnJfZ3Bpb19hZGQ7Cj4gIAo+ICAJdGM2MzkzeGJfYXR0 YWNoX2lycShkZXYpOwo+ICAKPiAtCWlmICh0Y3BkLT5zZXR1cCkgewo+IC0JCXJldCA9IHRjcGQt PnNldHVwKGRldik7Cj4gLQkJaWYgKHJldCkKPiAtCQkJZ290byBlcnJfc2V0dXA7Cj4gLQl9Cj4g LQo+ICAJdGM2MzkzeGJfY2VsbHNbVEM2MzkzWEJfQ0VMTF9OQU5EXS5wbGF0Zm9ybV9kYXRhID0g dGNwZC0+bmFuZF9kYXRhOwo+ICAJdGM2MzkzeGJfY2VsbHNbVEM2MzkzWEJfQ0VMTF9OQU5EXS5w ZGF0YV9zaXplID0KPiAgCQkJCQkJc2l6ZW9mKCp0Y3BkLT5uYW5kX2RhdGEpOwo+IEBAIC03MDUs MTUgKzc5Myw4IEBAIHN0YXRpYyBpbnQgdGM2MzkzeGJfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rl dmljZSAqZGV2KQo+ICAJaWYgKCFyZXQpCj4gIAkJcmV0dXJuIDA7Cj4gIAo+IC0JaWYgKHRjcGQt PnRlYXJkb3duKQo+IC0JCXRjcGQtPnRlYXJkb3duKGRldik7Cj4gLQo+IC1lcnJfc2V0dXA6Cj4g IAl0YzYzOTN4Yl9kZXRhY2hfaXJxKGRldik7Cj4gLQo+ICBlcnJfZ3Bpb19hZGQ6Cj4gLQlpZiAo dGM2MzkzeGItPmdwaW8uYmFzZSAhPSAtMSkKPiAtCQlncGlvY2hpcF9yZW1vdmUoJnRjNjM5M3hi LT5ncGlvKTsKPiAgCXRjcGQtPmRpc2FibGUoZGV2KTsKPiAgZXJyX2VuYWJsZToKPiAgCWNsa19k aXNhYmxlX3VucHJlcGFyZSh0YzYzOTN4Yi0+Y2xrKTsKPiBAQCAtNzM4LDE0ICs4MTksOCBAQCBz dGF0aWMgaW50IHRjNjM5M3hiX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCj4g IAo+ICAJbWZkX3JlbW92ZV9kZXZpY2VzKCZkZXYtPmRldik7Cj4gIAo+IC0JaWYgKHRjcGQtPnRl YXJkb3duKQo+IC0JCXRjcGQtPnRlYXJkb3duKGRldik7Cj4gLQo+ICAJdGM2MzkzeGJfZGV0YWNo X2lycShkZXYpOwo+ICAKPiAtCWlmICh0YzYzOTN4Yi0+Z3Bpby5iYXNlICE9IC0xKQo+IC0JCWdw aW9jaGlwX3JlbW92ZSgmdGM2MzkzeGItPmdwaW8pOwo+IC0KClRha2luZyBhd2F5IGFsbCBvZiB0 aGVzZSBsaW5lcyBpcyBuaWNlLgoKPiAgCXJldCA9IHRjcGQtPmRpc2FibGUoZGV2KTsKPiAgCWNs a19kaXNhYmxlX3VucHJlcGFyZSh0YzYzOTN4Yi0+Y2xrKTsKPiAgCWlvdW5tYXAodGM2MzkzeGIt PnNjcik7CgotLSAKTGVlIEpvbmVzIFvmnY7nkLzmlq9dClNlbmlvciBUZWNobmljYWwgTGVhZCAt IERldmVsb3BlciBTZXJ2aWNlcwpMaW5hcm8ub3JnIOKUgiBPcGVuIHNvdXJjZSBzb2Z0d2FyZSBm b3IgQXJtIFNvQ3MKRm9sbG93IExpbmFybzogRmFjZWJvb2sgfCBUd2l0dGVyIHwgQmxvZwoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtl cm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0 dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5l bAo=