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=-8.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 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 B9465C432C0 for ; Tue, 3 Dec 2019 06:54:24 +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 8A502206E0 for ; Tue, 3 Dec 2019 06:54:24 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="MOohLpov"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="Ougw2rgU" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8A502206E0 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ideasonboard.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=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.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=FGu11cSUKgmc/zOJBIM/DtvExY1PH5ID6TdSgVP/FZ8=; b=MOohLpovpIGFi0 +WGG98IO1xsPjpP5RFE8jy6oi0C3A2Cuko4r4/EU2UDuiUlWY4w0UfbZwS2npIIwhLyAmJjAIAncp WUcB17k3Roi9kM5zZeOk4LGVuT+wxOMIKBF03WiGomqyqdMutY6DgzXJ8/tTmH2M4uI7rinfXqXx3 aJt0EXUM+vivRqgu0JwFkCq+TnT0X834/7Jp35HjaEbTtCLftFYOdEE2AQlD1cTbbQ9GWE3ZdNiPU 2qaeZxnbWzVfSFjDKNzxzAarZkAFp/IFpwM/JBiO4a6u/9S3BJxRkApADYQn9ujV1+PtxTvg+Yq6x c+5GXHBeduQeMPs8S+sg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1ic24m-0005vX-7o; Tue, 03 Dec 2019 06:54:24 +0000 Received: from perceval.ideasonboard.com ([2001:4b98:dc2:55:216:3eff:fef7:d647]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1ic24g-0005uy-P9; Tue, 03 Dec 2019 06:54:22 +0000 Received: from pendragon.ideasonboard.com (81-175-216-236.bb.dnainternet.fi [81.175.216.236]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 0218C97A; Tue, 3 Dec 2019 07:54:16 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1575356056; bh=SoGwyTOJHndF9Gfb0tgzAudt9V4OZFTyhEpqUMING9M=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Ougw2rgU8aqrCTdlIG6mCuMIVn5HeSqO4ydyahGRib/onjfCD1FsUyKFUsxqNvIF8 j2bNGtx/651Io13DXnvQccZTjXejKumYtOQAQyisOMfyhD10+o2CB6bG4OJV/G7062 S08TYtl8Xuj4dKnqGzrGiM2Z2IV9c49gC5SDGCpo= Date: Tue, 3 Dec 2019 08:54:08 +0200 From: Laurent Pinchart To: Sam Ravnborg Subject: Re: [PATCH v1 06/26] drm/panel: decouple connector from drm_panel Message-ID: <20191203065408.GF4730@pendragon.ideasonboard.com> References: <20191202193230.21310-1-sam@ravnborg.org> <20191202193230.21310-7-sam@ravnborg.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20191202193230.21310-7-sam@ravnborg.org> User-Agent: Mutt/1.10.1 (2018-07-13) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191202_225419_115755_FAC10DAA X-CRM114-Status: GOOD ( 25.58 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Hariprasad Kelam , Heiko =?utf-8?Q?St=C3=BCbner?= , Neil Armstrong , David Airlie , Linus Walleij , dri-devel@lists.freedesktop.org, Andrzej Hajda , Thierry Reding , Benjamin Gaignard , Fabio Estevam , Marek Vasut , Stefan Agner , linux-samsung-soc@vger.kernel.org, Joonyoung Shim , Vincent Abriou , Allison Randal , Krzysztof Kozlowski , Jonathan Hunter , Vasily Khoruzhick , linux-rockchip@lists.infradead.org, Chen-Yu Tsai , Tomi Valkeinen , Matthias Brugger , NXP Linux Team , CK Hu , Philipp Zabel , Jagan Teki , Rob Clark , Jitao Shi , Pengutronix Kernel Team , Jonas Karlman , Sascha Hauer , Alison Wang , Maarten Lankhorst , Brian Masney , Maxime Ripard , Inki Dae , Alexios Zavras , linux-mediatek@lists.infradead.org, Abhinav Kumar , linux-tegra@vger.kernel.org, Thomas Gleixner , Sean Paul , linux-arm-kernel@lists.infradead.org, Jernej Skrabec , Purism Kernel Team , Kieran Bingham , Seung-Woo Kim , Sandy Huang , linux-renesas-soc@vger.kernel.org, Shayenne Moura , Kyungmin Park , Boris Brezillon , Torsten Duwe , Kukjin Kim , Daniel Vetter , Sean Paul , Icenowy Zheng , Shawn Guo Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org SGkgU2FtLAoKVGhhbmsgeW91IGZvciB0aGUgcGF0Y2guCgpPbiBNb24sIERlYyAwMiwgMjAxOSBh dCAwODozMjoxMFBNICswMTAwLCBTYW0gUmF2bmJvcmcgd3JvdGU6Cj4gVG8gZmFjaWxpdGF0ZSB0 aGF0IGNvbm5lY3RvciBjcmVhdGlvbiB3aWxsIGJlIG1vdmVkCj4gdG8gZGlzcGxheSBkcml2ZXJz LCBkZWNvdXBsZSB0aGUgZHJtX2Nvbm5lY3RvciBmcm9tIGRybV9wYW5lbC4KCiJUbyBmYWNpbGl0 YXRlIG1vdmluZyBjb25uZWN0b3IgY3JlYXRpb24gdG8gZGlzcGxheSBkcml2ZXJzLCAuLi4iCgo+ IEFkZCBhIGNvbm5lY3RvciBhcmd1bWVudCB0byBkcm1fcGFuZWxfZ2V0X21vZGVzKCkKPiAKPiBB bGwgdXNlcnMgb2YgZHJtX3BhbmVsX2dldF9tb2RlcygpIGFscmVhZHkgaGFkIHRoZSBjb25uZWN0 b3IKPiBhdmFpbGFibGUsIHNvIHVwZGF0aW5nIHVzZXJzIHdhcyB0cml2aWFsLgo+IAo+IFdpdGgg dGhpcyBwYXRjaCBkcm1fcGFuZWwgbm8gbG9uZ2VyIGtlZXAgYSBjb3B5IG9mIHRoZSBkcm1fY29u bmVjdG9yLgoKcy9rZWVwIGEgY29weSBvZi9rZWVwcyBhIHJlZmVyZW5jZSB0by8KCj4gU2lnbmVk LW9mZi1ieTogU2FtIFJhdm5ib3JnIDxzYW1AcmF2bmJvcmcub3JnPgo+IENjOiBUaGllcnJ5IFJl ZGluZyA8dGhpZXJyeS5yZWRpbmdAZ21haWwuY29tPgo+IENjOiBMYXVyZW50IFBpbmNoYXJ0IDxM YXVyZW50LnBpbmNoYXJ0QGlkZWFzb25ib2FyZC5jb20+Cj4gQ2M6IFNhbSBSYXZuYm9yZyA8c2Ft QHJhdm5ib3JnLm9yZz4KPiBDYzogQW5kcnplaiBIYWpkYSA8YS5oYWpkYUBzYW1zdW5nLmNvbT4K PiBDYzogTmVpbCBBcm1zdHJvbmcgPG5hcm1zdHJvbmdAYmF5bGlicmUuY29tPgo+IENjOiBKb25h cyBLYXJsbWFuIDxqb25hc0Brd2lib28uc2U+Cj4gQ2M6IEplcm5laiBTa3JhYmVjIDxqZXJuZWou c2tyYWJlY0BzaW9sLm5ldD4KPiBDYzogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hv cnN0QGxpbnV4LmludGVsLmNvbT4KPiBDYzogTWF4aW1lIFJpcGFyZCA8bXJpcGFyZEBrZXJuZWwu b3JnPgo+IENjOiBEYXZpZCBBaXJsaWUgPGFpcmxpZWRAbGludXguaWU+Cj4gQ2M6IERhbmllbCBW ZXR0ZXIgPGRhbmllbEBmZndsbC5jaD4KPiBDYzogSW5raSBEYWUgPGlua2kuZGFlQHNhbXN1bmcu Y29tPgo+IENjOiBKb29ueW91bmcgU2hpbSA8ankwOTIyLnNoaW1Ac2Ftc3VuZy5jb20+Cj4gQ2M6 IFNldW5nLVdvbyBLaW0gPHN3MDMxMi5raW1Ac2Ftc3VuZy5jb20+Cj4gQ2M6IEt5dW5nbWluIFBh cmsgPGt5dW5nbWluLnBhcmtAc2Ftc3VuZy5jb20+Cj4gQ2M6IEt1a2ppbiBLaW0gPGtnZW5lQGtl cm5lbC5vcmc+Cj4gQ2M6IEtyenlzenRvZiBLb3psb3dza2kgPGtyemtAa2VybmVsLm9yZz4KPiBD YzogU3RlZmFuIEFnbmVyIDxzdGVmYW5AYWduZXIuY2g+Cj4gQ2M6IEFsaXNvbiBXYW5nIDxhbGlz b24ud2FuZ0BueHAuY29tPgo+IENjOiBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4 LmRlPgo+IENjOiBTaGF3biBHdW8gPHNoYXduZ3VvQGtlcm5lbC5vcmc+Cj4gQ2M6IFNhc2NoYSBI YXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4KPiBDYzogUGVuZ3V0cm9uaXggS2VybmVsIFRl YW0gPGtlcm5lbEBwZW5ndXRyb25peC5kZT4KPiBDYzogRmFiaW8gRXN0ZXZhbSA8ZmVzdGV2YW1A Z21haWwuY29tPgo+IENjOiBOWFAgTGludXggVGVhbSA8bGludXgtaW14QG54cC5jb20+Cj4gQ2M6 IENLIEh1IDxjay5odUBtZWRpYXRlay5jb20+Cj4gQ2M6IE1hdHRoaWFzIEJydWdnZXIgPG1hdHRo aWFzLmJnZ0BnbWFpbC5jb20+Cj4gQ2M6IE1hcmVrIFZhc3V0IDxtYXJleEBkZW54LmRlPgo+IENj OiBUb21pIFZhbGtlaW5lbiA8dG9taS52YWxrZWluZW5AdGkuY29tPgo+IENjOiBLaWVyYW4gQmlu Z2hhbSA8a2llcmFuLmJpbmdoYW0rcmVuZXNhc0BpZGVhc29uYm9hcmQuY29tPgo+IENjOiBTYW5k eSBIdWFuZyA8aGpjQHJvY2stY2hpcHMuY29tPgo+IENjOiAiSGVpa28gU3TDvGJuZXIiIDxoZWlr b0BzbnRlY2guZGU+Cj4gQ2M6IEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBs aW5hcm8ub3JnPgo+IENjOiBWaW5jZW50IEFicmlvdSA8dmluY2VudC5hYnJpb3VAc3QuY29tPgo+ IENjOiBDaGVuLVl1IFRzYWkgPHdlbnNAY3NpZS5vcmc+Cj4gQ2M6IEpvbmF0aGFuIEh1bnRlciA8 am9uYXRoYW5oQG52aWRpYS5jb20+Cj4gQ2M6IFRvcnN0ZW4gRHV3ZSA8ZHV3ZUBsc3QuZGU+Cj4g Q2M6IFZhc2lseSBLaG9ydXpoaWNrIDxhbmFyc291bEBnbWFpbC5jb20+Cj4gQ2M6IEljZW5vd3kg WmhlbmcgPGljZW5vd3lAYW9zYy5pbz4KPiBDYzogU2VhbiBQYXVsIDxzZWFucGF1bEBjaHJvbWl1 bS5vcmc+Cj4gQ2M6IExpbnVzIFdhbGxlaWogPGxpbnVzLndhbGxlaWpAbGluYXJvLm9yZz4KPiBD YzogQm9yaXMgQnJlemlsbG9uIDxib3Jpcy5icmV6aWxsb25AY29sbGFib3JhLmNvbT4KPiBDYzog SGFyaXByYXNhZCBLZWxhbSA8aGFyaXByYXNhZC5rZWxhbUBnbWFpbC5jb20+Cj4gQ2M6IEFsZXhp b3MgWmF2cmFzIDxhbGV4aW9zLnphdnJhc0BpbnRlbC5jb20+Cj4gQ2M6IEJyaWFuIE1hc25leSA8 bWFzbmV5YkBvbnN0YXRpb24ub3JnPgo+IENjOiBSb2IgQ2xhcmsgPHJvYmRjbGFya0BjaHJvbWl1 bS5vcmc+Cj4gQ2M6IFRob21hcyBHbGVpeG5lciA8dGdseEBsaW51dHJvbml4LmRlPgo+IENjOiBB bGxpc29uIFJhbmRhbCA8YWxsaXNvbkBsb2h1dG9rLm5ldD4KPiBDYzogU2hheWVubmUgTW91cmEg PHNoYXllbm5lbHV6bW91cmFAZ21haWwuY29tPgo+IENjOiBBYmhpbmF2IEt1bWFyIDxhYmhpbmF2 a0Bjb2RlYXVyb3JhLm9yZz4KPiBDYzogbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQu b3JnCj4gQ2M6IGxpbnV4LXNhbXN1bmctc29jQHZnZXIua2VybmVsLm9yZwo+IENjOiBsaW51eC1t ZWRpYXRla0BsaXN0cy5pbmZyYWRlYWQub3JnCj4gQ2M6IGxpbnV4LXJlbmVzYXMtc29jQHZnZXIu a2VybmVsLm9yZwo+IENjOiBsaW51eC1yb2NrY2hpcEBsaXN0cy5pbmZyYWRlYWQub3JnCj4gQ2M6 IGxpbnV4LXRlZ3JhQHZnZXIua2VybmVsLm9yZwo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vYnJp ZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4LWFueDYzNDUuYyAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9k cm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4X2RwX2NvcmUuYyAgfCAgMiArLQo+ICBkcml2ZXJz L2dwdS9kcm0vYnJpZGdlL3BhbmVsLmMgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQo+ICBk cml2ZXJzL2dwdS9kcm0vYnJpZGdlL3BhcmFkZS1wczg2MjIuYyAgICAgICAgICAgICAgfCAgMiAr LQo+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3RjMzU4NzY0LmMgICAgICAgICAgICAgICAgICAg fCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3RjMzU4NzY3LmMgICAgICAgICAgICAg ICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3RpLXNuNjVkc2k4Ni5jICAg ICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX3BhbmVsLmMgICAgICAg ICAgICAgICAgICAgICAgICAgfCAxMCArKysrKy0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9leHlu b3MvZXh5bm9zX2RybV9kcGkuYyAgICAgICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2Ry bS9leHlub3MvZXh5bm9zX2RybV9kc2kuYyAgICAgICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMv Z3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX3JnYi5jICAgICAgICAgICB8ICAyICstCj4gIGRy aXZlcnMvZ3B1L2RybS9pbXgvaW14LWxkYi5jICAgICAgICAgICAgICAgICAgICAgICB8ICAyICst Cj4gIGRyaXZlcnMvZ3B1L2RybS9pbXgvcGFyYWxsZWwtZGlzcGxheS5jICAgICAgICAgICAgICB8 ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHNpLmMgICAgICAgICAgICAg ICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA0L21kcDRfbHZkc19j b25uZWN0b3IuYyB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaV9tYW5hZ2Vy LmMgICAgICAgICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNmYl9v dXQuYyAgICAgICAgICAgICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9vbWFwZHJt L29tYXBfY29ubmVjdG9yLmMgICAgICAgICAgICB8ICAzICsrLQo+ICBkcml2ZXJzL2dwdS9kcm0v cmNhci1kdS9yY2FyX2x2ZHMuYyAgICAgICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dw dS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfbHZkcy5jICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2 ZXJzL2dwdS9kcm0vc3RpL3N0aV9kdm8uYyAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQo+ ICBkcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfbHZkcy5jICAgICAgICAgICAgICAgICAgfCAg MiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfcmdiLmMgICAgICAgICAgICAgICAg ICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNmlfbWlwaV9kc2kuYyAgICAg ICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vdGVncmEvb3V0cHV0LmMgICAgICAg ICAgICAgICAgICAgICAgfCAgMiArLQo+ICBpbmNsdWRlL2RybS9kcm1fcGFuZWwuaCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgOSArLS0tLS0tLS0KPiAgMjYgZmlsZXMgY2hhbmdlZCwg MzEgaW5zZXJ0aW9ucygrKSwgMzcgZGVsZXRpb25zKC0pCgpBbm90aGVyIGJpZyBzZXQgb2YgbWFu dWFsIGNoYW5nZXMgOi0pCgo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdl L2FuYWxvZ2l4L2FuYWxvZ2l4LWFueDYzNDUuYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5h bG9naXgvYW5hbG9naXgtYW54NjM0NS5jCj4gaW5kZXggYjRmM2E5MjNhNTJhLi45OTE3Y2UwZDg2 YTAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dp eC1hbng2MzQ1LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxv Z2l4LWFueDYzNDUuYwo+IEBAIC00OTMsNyArNDkzLDcgQEAgc3RhdGljIGludCBhbng2MzQ1X2dl dF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJbXV0ZXhfdW5sb2Nr KCZhbng2MzQ1LT5sb2NrKTsKPiAgCj4gIAlpZiAoIW51bV9tb2RlcyAmJiBhbng2MzQ1LT5wYW5l bCkKPiAtCQludW1fbW9kZXMgKz0gZHJtX3BhbmVsX2dldF9tb2Rlcyhhbng2MzQ1LT5wYW5lbCk7 Cj4gKwkJbnVtX21vZGVzICs9IGRybV9wYW5lbF9nZXRfbW9kZXMoYW54NjM0NS0+cGFuZWwsIGNv bm5lY3Rvcik7Cj4gIAo+ICAJcmV0dXJuIG51bV9tb2RlczsKPiAgfQo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4X2RwX2NvcmUuYyBiL2RyaXZl cnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXhfZHBfY29yZS5jCj4gaW5kZXggYmI0 MTFmZTUyYWU4Li42ZWZmZTUzMmY4MjAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Jy aWRnZS9hbmFsb2dpeC9hbmFsb2dpeF9kcF9jb3JlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v YnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4X2RwX2NvcmUuYwo+IEBAIC0xMTExLDcgKzExMTEsNyBA QCBzdGF0aWMgaW50IGFuYWxvZ2l4X2RwX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yKQo+ICAJaW50IHJldCwgbnVtX21vZGVzID0gMDsKPiAgCj4gIAlpZiAoZHAtPnBs YXRfZGF0YS0+cGFuZWwpIHsKPiAtCQludW1fbW9kZXMgKz0gZHJtX3BhbmVsX2dldF9tb2Rlcyhk cC0+cGxhdF9kYXRhLT5wYW5lbCk7Cj4gKwkJbnVtX21vZGVzICs9IGRybV9wYW5lbF9nZXRfbW9k ZXMoZHAtPnBsYXRfZGF0YS0+cGFuZWwsIGNvbm5lY3Rvcik7Cj4gIAl9IGVsc2Ugewo+ICAJCXJl dCA9IGFuYWxvZ2l4X2RwX3ByZXBhcmVfcGFuZWwoZHAsIHRydWUsIGZhbHNlKTsKPiAgCQlpZiAo cmV0KSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFuZWwuYyBiL2Ry aXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFuZWwuYwo+IGluZGV4IGM1ZTI3YjgxNTg4YS4uNjVjYmQ0 YTI4M2ZiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFuZWwuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFuZWwuYwo+IEBAIC0zNyw3ICszNyw3IEBAIHN0 YXRpYyBpbnQgcGFuZWxfYnJpZGdlX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvcikKPiAgCXN0cnVjdCBwYW5lbF9icmlkZ2UgKnBhbmVsX2JyaWRnZSA9 Cj4gIAkJZHJtX2Nvbm5lY3Rvcl90b19wYW5lbF9icmlkZ2UoY29ubmVjdG9yKTsKPiAgCj4gLQly ZXR1cm4gZHJtX3BhbmVsX2dldF9tb2RlcyhwYW5lbF9icmlkZ2UtPnBhbmVsKTsKPiArCXJldHVy biBkcm1fcGFuZWxfZ2V0X21vZGVzKHBhbmVsX2JyaWRnZS0+cGFuZWwsIGNvbm5lY3Rvcik7Cj4g IH0KPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9wYXJhZGUtcHM4NjIyLmMgYi9k cml2ZXJzL2dwdS9kcm0vYnJpZGdlL3BhcmFkZS1wczg2MjIuYwo+IGluZGV4IGI3YTcyZGZkY2Fj My4uMTBjNDdjMDA4YjQwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFy YWRlLXBzODYyMi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9wYXJhZGUtcHM4NjIy LmMKPiBAQCAtNDYxLDcgKzQ2MSw3IEBAIHN0YXRpYyBpbnQgcHM4NjIyX2dldF9tb2RlcyhzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAKPiAgCXBzODYyMiA9IGNvbm5lY3Rvcl90 b19wczg2MjIoY29ubmVjdG9yKTsKPiAgCj4gLQlyZXR1cm4gZHJtX3BhbmVsX2dldF9tb2Rlcyhw czg2MjItPnBhbmVsKTsKPiArCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKHBzODYyMi0+cGFu ZWwsIGNvbm5lY3Rvcik7Cj4gIH0KPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5l Y3Rvcl9oZWxwZXJfZnVuY3MgcHM4NjIyX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MgPSB7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGMzNTg3NjQuYyBiL2RyaXZlcnMvZ3B1 L2RybS9icmlkZ2UvdGMzNTg3NjQuYwo+IGluZGV4IGRiMjk4ZjU1MGE1YS4uOTYyMDdmY2ZkZTE5 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGMzNTg3NjQuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGMzNTg3NjQuYwo+IEBAIC0yODIsNyArMjgyLDcgQEAg c3RhdGljIGludCB0YzM1ODc2NF9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvcikKPiAgewo+ICAJc3RydWN0IHRjMzU4NzY0ICpjdHggPSBjb25uZWN0b3JfdG9fdGMzNTg3 NjQoY29ubmVjdG9yKTsKPiAgCj4gLQlyZXR1cm4gZHJtX3BhbmVsX2dldF9tb2RlcyhjdHgtPnBh bmVsKTsKPiArCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKGN0eC0+cGFuZWwsIGNvbm5lY3Rv cik7Cj4gIH0KPiAgCj4gIHN0YXRpYyBjb25zdAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYnJpZGdlL3RjMzU4NzY3LmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3RjMzU4NzY3LmMK PiBpbmRleCA4MDI5NDc4ZmZlYmIuLjM3MDllNWFjZTcyNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vYnJpZGdlL3RjMzU4NzY3LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdl L3RjMzU4NzY3LmMKPiBAQCAtMTM0Niw3ICsxMzQ2LDcgQEAgc3RhdGljIGludCB0Y19jb25uZWN0 b3JfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAkJcmV0dXJu IDA7Cj4gIAl9Cj4gIAo+IC0JY291bnQgPSBkcm1fcGFuZWxfZ2V0X21vZGVzKHRjLT5wYW5lbCk7 Cj4gKwljb3VudCA9IGRybV9wYW5lbF9nZXRfbW9kZXModGMtPnBhbmVsLCBjb25uZWN0b3IpOwo+ ICAJaWYgKGNvdW50ID4gMCkKPiAgCQlyZXR1cm4gY291bnQ7Cj4gIAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYnJpZGdlL3RpLXNuNjVkc2k4Ni5jIGIvZHJpdmVycy9ncHUvZHJtL2Jy aWRnZS90aS1zbjY1ZHNpODYuYwo+IGluZGV4IDQzYWJmMDFlYmQ0Yy4uOWEyZGQ5ODZhZmE1IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGktc242NWRzaTg2LmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3RpLXNuNjVkc2k4Ni5jCj4gQEAgLTIwNiw3ICsyMDYs NyBAQCBzdGF0aWMgaW50IHRpX3NuX2JyaWRnZV9jb25uZWN0b3JfZ2V0X21vZGVzKHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIHsKPiAgCXN0cnVjdCB0aV9zbl9icmlkZ2UgKnBk YXRhID0gY29ubmVjdG9yX3RvX3RpX3NuX2JyaWRnZShjb25uZWN0b3IpOwo+ICAKPiAtCXJldHVy biBkcm1fcGFuZWxfZ2V0X21vZGVzKHBkYXRhLT5wYW5lbCk7Cj4gKwlyZXR1cm4gZHJtX3BhbmVs X2dldF9tb2RlcyhwZGF0YS0+cGFuZWwsIGNvbm5lY3Rvcik7Cj4gIH0KPiAgCj4gIHN0YXRpYyBl bnVtIGRybV9tb2RlX3N0YXR1cwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3Bh bmVsLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3BhbmVsLmMKPiBpbmRleCA5OTI3ZTI4ZDkzZTYu LmZkNDI4YjZkMjViMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3BhbmVsLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3BhbmVsLmMKPiBAQCAtMTEzLDEwICsxMTMsOSBA QCBFWFBPUlRfU1lNQk9MKGRybV9wYW5lbF9yZW1vdmUpOwo+ICAgKi8KPiAgaW50IGRybV9wYW5l bF9hdHRhY2goc3RydWN0IGRybV9wYW5lbCAqcGFuZWwsIHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IpCj4gIHsKPiAtCWlmIChwYW5lbC0+Y29ubmVjdG9yKQo+ICsJaWYgKHBhbmVsLT5k cm0pCj4gIAkJcmV0dXJuIC1FQlVTWTsKPiAgCj4gLQlwYW5lbC0+Y29ubmVjdG9yID0gY29ubmVj dG9yOwo+ICAJcGFuZWwtPmRybSA9IGNvbm5lY3Rvci0+ZGV2Owo+ICAKPiAgCXJldHVybiAwOwo+ IEBAIC0xMzUsNyArMTM0LDYgQEAgRVhQT1JUX1NZTUJPTChkcm1fcGFuZWxfYXR0YWNoKTsKPiAg ICovCj4gIHZvaWQgZHJtX3BhbmVsX2RldGFjaChzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiAg ewo+IC0JcGFuZWwtPmNvbm5lY3RvciA9IE5VTEw7Cj4gIAlwYW5lbC0+ZHJtID0gTlVMTDsKPiAg fQo+ICBFWFBPUlRfU1lNQk9MKGRybV9wYW5lbF9kZXRhY2gpOwo+IEBAIC0yMzksNiArMjM3LDcg QEAgRVhQT1JUX1NZTUJPTChkcm1fcGFuZWxfZGlzYWJsZSk7Cj4gIC8qKgo+ICAgKiBkcm1fcGFu ZWxfZ2V0X21vZGVzIC0gcHJvYmUgdGhlIGF2YWlsYWJsZSBkaXNwbGF5IG1vZGVzIG9mIGEgcGFu ZWwKPiAgICogQHBhbmVsOiBEUk0gcGFuZWwKPiArICogQGNvbm5lY3RvcjogRFJNIGNvbm5lY3Rv cgo+ICAgKgo+ICAgKiBUaGUgbW9kZXMgcHJvYmVkIGZyb20gdGhlIHBhbmVsIGFyZSBhdXRvbWF0 aWNhbGx5IGFkZGVkIHRvIHRoZSBjb25uZWN0b3IKPiAgICogdGhhdCB0aGUgcGFuZWwgaXMgYXR0 YWNoZWQgdG8uCgoKIi4uLiB0byB0aGUgZ2l2ZW4gY29ubmVjdG9yLiIKCj4gQEAgLTI0NiwxMyAr MjQ1LDE0IEBAIEVYUE9SVF9TWU1CT0woZHJtX3BhbmVsX2Rpc2FibGUpOwo+ICAgKiBSZXR1cm46 IFRoZSBudW1iZXIgb2YgbW9kZXMgYXZhaWxhYmxlIGZyb20gdGhlIHBhbmVsIG9uIHN1Y2Nlc3Mg b3IgYQo+ICAgKiBuZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCj4gICAqLwo+IC1pbnQg ZHJtX3BhbmVsX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiAraW50IGRybV9w YW5lbF9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwsCj4gKwkJCXN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3IpCj4gIHsKPiAgCWlmICghcGFuZWwpCj4gIAkJcmV0dXJuIC1F SU5WQUw7Cj4gIAo+ICAJaWYgKHBhbmVsLT5mdW5jcyAmJiBwYW5lbC0+ZnVuY3MtPmdldF9tb2Rl cykKPiAtCQlyZXR1cm4gcGFuZWwtPmZ1bmNzLT5nZXRfbW9kZXMocGFuZWwsIHBhbmVsLT5jb25u ZWN0b3IpOwo+ICsJCXJldHVybiBwYW5lbC0+ZnVuY3MtPmdldF9tb2RlcyhwYW5lbCwgY29ubmVj dG9yKTsKCkkgcmVhbGx5IGxpa2UgaG93IHlvdSd2ZSBzcGxpdCAwNS8yNiBhbmQgMDYvMjYgaW4g dHdvIHBhdGNoZXMuCgpXaXRoIHRoZSBzbWFsbCBpc3N1ZXMgYWJvdmUgYWRkcmVzc2VkLAoKUmV2 aWV3ZWQtYnk6IExhdXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJk LmNvbT4KCj4gIAo+ICAJcmV0dXJuIDA7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2V4eW5vcy9leHlub3NfZHJtX2RwaS5jIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlu b3NfZHJtX2RwaS5jCj4gaW5kZXggNTQ3OWZmNzFjYmM2Li40M2ZhMGYyNmMwNTIgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2RwaS5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2RwaS5jCj4gQEAgLTg1LDcgKzg1LDcgQEAg c3RhdGljIGludCBleHlub3NfZHBpX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yKQo+ICAJfQo+ICAKPiAgCWlmIChjdHgtPnBhbmVsKQo+IC0JCXJldHVybiBkcm1fcGFu ZWxfZ2V0X21vZGVzKGN0eC0+cGFuZWwpOwo+ICsJCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVz KGN0eC0+cGFuZWwsIGNvbm5lY3Rvcik7Cj4gIAo+ICAJcmV0dXJuIDA7Cj4gIH0KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2RzaS5jIGIvZHJpdmVycy9n cHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2RzaS5jCj4gaW5kZXggY2ViMzcwODY0Y2M0Li5kMTRk M2YyNWQzNDQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJt X2RzaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2RzaS5jCj4g QEAgLTE0NjEsNyArMTQ2MSw3IEBAIHN0YXRpYyBpbnQgZXh5bm9zX2RzaV9nZXRfbW9kZXMoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgCXN0cnVjdCBleHlub3NfZHNpICpkc2kg PSBjb25uZWN0b3JfdG9fZHNpKGNvbm5lY3Rvcik7Cj4gIAo+ICAJaWYgKGRzaS0+cGFuZWwpCj4g LQkJcmV0dXJuIGRybV9wYW5lbF9nZXRfbW9kZXMoZHNpLT5wYW5lbCk7Cj4gKwkJcmV0dXJuIGRy bV9wYW5lbF9nZXRfbW9kZXMoZHNpLT5wYW5lbCwgY29ubmVjdG9yKTsKPiAgCj4gIAlyZXR1cm4g MDsKPiAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2Ry bV9yZ2IuYyBiL2RyaXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX3JnYi5jCj4gaW5k ZXggODJjOTcyZTljMDI0Li45NTk4ZWUzY2M0ZDIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fcmdiLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZnNs LWRjdS9mc2xfZGN1X2RybV9yZ2IuYwo+IEBAIC02OCw3ICs2OCw3IEBAIHN0YXRpYyBpbnQgZnNs X2RjdV9kcm1fY29ubmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yKQo+ICAJc3RydWN0IGZzbF9kY3VfZHJtX2Nvbm5lY3RvciAqZnNsX2Nvbm5lY3RvcjsKPiAg Cj4gIAlmc2xfY29ubmVjdG9yID0gdG9fZnNsX2RjdV9jb25uZWN0b3IoY29ubmVjdG9yKTsKPiAt CXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKGZzbF9jb25uZWN0b3ItPnBhbmVsKTsKPiArCXJl dHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKGZzbF9jb25uZWN0b3ItPnBhbmVsLCBjb25uZWN0b3Ip Owo+ICB9Cj4gIAo+ICBzdGF0aWMgaW50IGZzbF9kY3VfZHJtX2Nvbm5lY3Rvcl9tb2RlX3ZhbGlk KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pbXgvaW14LWxkYi5jIGIvZHJpdmVycy9ncHUvZHJtL2lteC9pbXgtbGRiLmMKPiBp bmRleCAyMDgwNjlmYWYxODMuLjhjYjI2NjViMmM3NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaW14L2lteC1sZGIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pbXgvaW14LWxkYi5j Cj4gQEAgLTEyNyw3ICsxMjcsNyBAQCBzdGF0aWMgaW50IGlteF9sZGJfY29ubmVjdG9yX2dldF9t b2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJc3RydWN0IGlteF9sZGJf Y2hhbm5lbCAqaW14X2xkYl9jaCA9IGNvbl90b19pbXhfbGRiX2NoKGNvbm5lY3Rvcik7Cj4gIAlp bnQgbnVtX21vZGVzOwo+ICAKPiAtCW51bV9tb2RlcyA9IGRybV9wYW5lbF9nZXRfbW9kZXMoaW14 X2xkYl9jaC0+cGFuZWwpOwo+ICsJbnVtX21vZGVzID0gZHJtX3BhbmVsX2dldF9tb2RlcyhpbXhf bGRiX2NoLT5wYW5lbCwgY29ubmVjdG9yKTsKPiAgCWlmIChudW1fbW9kZXMgPiAwKQo+ICAJCXJl dHVybiBudW1fbW9kZXM7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaW14L3Bh cmFsbGVsLWRpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pbXgvcGFyYWxsZWwtZGlzcGxheS5j Cj4gaW5kZXggMzU1MThlNWRlMzU2Li4zZGNhNDI0MDU5ZjcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2lteC9wYXJhbGxlbC1kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aW14L3BhcmFsbGVsLWRpc3BsYXkuYwo+IEBAIC01MCw3ICs1MCw3IEBAIHN0YXRpYyBpbnQgaW14 X3BkX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikK PiAgCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAgPSBpbXhwZC0+ZGV2LT5vZl9ub2RlOwo+ICAJaW50 IG51bV9tb2RlczsKPiAgCj4gLQludW1fbW9kZXMgPSBkcm1fcGFuZWxfZ2V0X21vZGVzKGlteHBk LT5wYW5lbCk7Cj4gKwludW1fbW9kZXMgPSBkcm1fcGFuZWxfZ2V0X21vZGVzKGlteHBkLT5wYW5l bCwgY29ubmVjdG9yKTsKPiAgCWlmIChudW1fbW9kZXMgPiAwKQo+ICAJCXJldHVybiBudW1fbW9k ZXM7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RzaS5j IGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kc2kuYwo+IGluZGV4IGU5OTMxYmJiZTg0 Ni4uM2I1ZTAxNmQxNmM0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t dGtfZHNpLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RzaS5jCj4gQEAg LTgyMSw3ICs4MjEsNyBAQCBzdGF0aWMgaW50IG10a19kc2lfY29ubmVjdG9yX2dldF9tb2Rlcyhz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB7Cj4gIAlzdHJ1Y3QgbXRrX2RzaSAq ZHNpID0gY29ubmVjdG9yX3RvX2RzaShjb25uZWN0b3IpOwo+ICAKPiAtCXJldHVybiBkcm1fcGFu ZWxfZ2V0X21vZGVzKGRzaS0+cGFuZWwpOwo+ICsJcmV0dXJuIGRybV9wYW5lbF9nZXRfbW9kZXMo ZHNpLT5wYW5lbCwgY29ubmVjdG9yKTsKPiAgfQo+ICAKPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBk cm1fZW5jb2Rlcl9oZWxwZXJfZnVuY3MgbXRrX2RzaV9lbmNvZGVyX2hlbHBlcl9mdW5jcyA9IHsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDQvbWRwNF9sdmRzX2Nv bm5lY3Rvci5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDQvbWRwNF9sdmRzX2Nvbm5l Y3Rvci5jCj4gaW5kZXggMzFhYmQyMzUyZjNlLi5jN2RmNzFlMmZhZmMgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDQvbWRwNF9sdmRzX2Nvbm5lY3Rvci5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDQvbWRwNF9sdmRzX2Nvbm5lY3Rvci5jCj4g QEAgLTUzLDcgKzUzLDcgQEAgc3RhdGljIGludCBtZHA0X2x2ZHNfY29ubmVjdG9yX2dldF9tb2Rl cyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJaWYgKHBhbmVsKSB7Cj4gIAkJ ZHJtX3BhbmVsX2F0dGFjaChwYW5lbCwgY29ubmVjdG9yKTsKPiAgCj4gLQkJcmV0ID0gZHJtX3Bh bmVsX2dldF9tb2RlcyhwYW5lbCk7Cj4gKwkJcmV0ID0gZHJtX3BhbmVsX2dldF9tb2RlcyhwYW5l bCwgY29ubmVjdG9yKTsKPiAgCj4gIAkJZHJtX3BhbmVsX2RldGFjaChwYW5lbCk7Cj4gIAl9Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaV9tYW5hZ2VyLmMgYi9kcml2 ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfbWFuYWdlci5jCj4gaW5kZXggMjcxYWE3YmJjYTkyLi4w ZmMyOWYxYmU4Y2MgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpX21h bmFnZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaV9tYW5hZ2VyLmMKPiBA QCAtMzI5LDcgKzMyOSw3IEBAIHN0YXRpYyBpbnQgZHNpX21ncl9jb25uZWN0b3JfZ2V0X21vZGVz KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAkgKiBhdHRhY2hlZCB0byB0aGUg ZHJtX3BhbmVsLgo+ICAJICovCj4gIAlkcm1fcGFuZWxfYXR0YWNoKHBhbmVsLCBjb25uZWN0b3Ip Owo+IC0JbnVtID0gZHJtX3BhbmVsX2dldF9tb2RlcyhwYW5lbCk7Cj4gKwludW0gPSBkcm1fcGFu ZWxfZ2V0X21vZGVzKHBhbmVsLCBjb25uZWN0b3IpOwo+ICAJaWYgKCFudW0pCj4gIAkJcmV0dXJu IDA7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXhzZmIvbXhzZmJfb3V0LmMg Yi9kcml2ZXJzL2dwdS9kcm0vbXhzZmIvbXhzZmJfb3V0LmMKPiBpbmRleCA0ZWI5NDc0NGM1MjYu LjllY2ExNjA1ZDExZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXhzZmIvbXhzZmJf b3V0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXhzZmIvbXhzZmJfb3V0LmMKPiBAQCAtMzEs NyArMzEsNyBAQCBzdGF0aWMgaW50IG14c2ZiX3BhbmVsX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yKQo+ICAJCQlkcm1fY29ubmVjdG9yX3RvX214c2ZiX2RybV9wcml2 YXRlKGNvbm5lY3Rvcik7Cj4gIAo+ICAJaWYgKG14c2ZiLT5wYW5lbCkKPiAtCQlyZXR1cm4gZHJt X3BhbmVsX2dldF9tb2RlcyhteHNmYi0+cGFuZWwpOwo+ICsJCXJldHVybiBkcm1fcGFuZWxfZ2V0 X21vZGVzKG14c2ZiLT5wYW5lbCwgY29ubmVjdG9yKTsKPiAgCj4gIAlyZXR1cm4gMDsKPiAgfQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Nvbm5lY3Rvci5jIGIv ZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9jb25uZWN0b3IuYwo+IGluZGV4IDViODc5OWM2 OWY2OC4uOTRjZGVkMzg3MTc0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJt L29tYXBfY29ubmVjdG9yLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Nv bm5lY3Rvci5jCj4gQEAgLTIyOSw3ICsyMjksOCBAQCBzdGF0aWMgaW50IG9tYXBfY29ubmVjdG9y X2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJICogb3BlcmF0 aW9uIHRvIHRoZSBwYW5lbCBBUEkuCj4gIAkgKi8KPiAgCWlmIChvbWFwX2Nvbm5lY3Rvci0+b3V0 cHV0LT5wYW5lbCkKPiAtCQlyZXR1cm4gZHJtX3BhbmVsX2dldF9tb2RlcyhvbWFwX2Nvbm5lY3Rv ci0+b3V0cHV0LT5wYW5lbCk7Cj4gKwkJcmV0dXJuIGRybV9wYW5lbF9nZXRfbW9kZXMob21hcF9j b25uZWN0b3ItPm91dHB1dC0+cGFuZWwsCj4gKwkJCQkJICAgY29ubmVjdG9yKTsKPiAgCj4gIAkv Kgo+ICAJICogV2UgY2FuJ3QgcmV0cmlldmUgbW9kZXMsIHdoaWNoIGNhbiBoYXBwZW4gZm9yIGlu c3RhbmNlIGZvciBhIERWSSBvcgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmNhci1k dS9yY2FyX2x2ZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfbHZkcy5jCj4gaW5k ZXggOGM2YzE3MmJiZjJlLi4yY2Y0NGI5MTg1M2MgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3JjYXItZHUvcmNhcl9sdmRzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9y Y2FyX2x2ZHMuYwo+IEBAIC05MSw3ICs5MSw3IEBAIHN0YXRpYyBpbnQgcmNhcl9sdmRzX2Nvbm5l Y3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgewo+ICAJ c3RydWN0IHJjYXJfbHZkcyAqbHZkcyA9IGNvbm5lY3Rvcl90b19yY2FyX2x2ZHMoY29ubmVjdG9y KTsKPiAgCj4gLQlyZXR1cm4gZHJtX3BhbmVsX2dldF9tb2RlcyhsdmRzLT5wYW5lbCk7Cj4gKwly ZXR1cm4gZHJtX3BhbmVsX2dldF9tb2RlcyhsdmRzLT5wYW5lbCwgY29ubmVjdG9yKTsKPiAgfQo+ ICAKPiAgc3RhdGljIGludCByY2FyX2x2ZHNfY29ubmVjdG9yX2F0b21pY19jaGVjayhzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v cm9ja2NoaXAvcm9ja2NoaXBfbHZkcy5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tj aGlwX2x2ZHMuYwo+IGluZGV4IDhhNGM5YWYwYmE3My4uMzI1ODExZDJlMjZlIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9sdmRzLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfbHZkcy5jCj4gQEAgLTIwMSw3ICsyMDEsNyBA QCBzdGF0aWMgaW50IHJvY2tjaGlwX2x2ZHNfY29ubmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJc3RydWN0IHJvY2tjaGlwX2x2ZHMgKmx2ZHMgPSBj b25uZWN0b3JfdG9fbHZkcyhjb25uZWN0b3IpOwo+ICAJc3RydWN0IGRybV9wYW5lbCAqcGFuZWwg PSBsdmRzLT5wYW5lbDsKPiAgCj4gLQlyZXR1cm4gZHJtX3BhbmVsX2dldF9tb2RlcyhwYW5lbCk7 Cj4gKwlyZXR1cm4gZHJtX3BhbmVsX2dldF9tb2RlcyhwYW5lbCwgY29ubmVjdG9yKTsKPiAgfQo+ ICAKPiAgc3RhdGljIGNvbnN0Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3Rp X2R2by5jIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfZHZvLmMKPiBpbmRleCA2ODI4OWIwYjA2 M2EuLmRmMmVlODZjZDRjMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9k dm8uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2R2by5jCj4gQEAgLTMzOSw3ICsz MzksNyBAQCBzdGF0aWMgaW50IHN0aV9kdm9fY29ubmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJc3RydWN0IHN0aV9kdm8gKmR2byA9IGR2b19jb25u ZWN0b3ItPmR2bzsKPiAgCj4gIAlpZiAoZHZvLT5wYW5lbCkKPiAtCQlyZXR1cm4gZHJtX3BhbmVs X2dldF9tb2Rlcyhkdm8tPnBhbmVsKTsKPiArCQlyZXR1cm4gZHJtX3BhbmVsX2dldF9tb2Rlcyhk dm8tPnBhbmVsLCBjb25uZWN0b3IpOwo+ICAKPiAgCXJldHVybiAwOwo+ICB9Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9sdmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0v c3VuNGkvc3VuNGlfbHZkcy5jCj4gaW5kZXggMjVhYjJlZjZkNTQ1Li42NWI3YTg3Mzk2NjYgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2x2ZHMuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9sdmRzLmMKPiBAQCAtNDMsNyArNDMsNyBAQCBzdGF0 aWMgaW50IHN1bjRpX2x2ZHNfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IpCj4gIAlzdHJ1Y3Qgc3VuNGlfbHZkcyAqbHZkcyA9Cj4gIAkJZHJtX2Nvbm5lY3Rvcl90b19z dW40aV9sdmRzKGNvbm5lY3Rvcik7Cj4gIAo+IC0JcmV0dXJuIGRybV9wYW5lbF9nZXRfbW9kZXMo bHZkcy0+cGFuZWwpOwo+ICsJcmV0dXJuIGRybV9wYW5lbF9nZXRfbW9kZXMobHZkcy0+cGFuZWws IGNvbm5lY3Rvcik7Cj4gIH0KPiAgCj4gIHN0YXRpYyBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9oZWxw ZXJfZnVuY3Mgc3VuNGlfbHZkc19jb25faGVscGVyX2Z1bmNzID0gewo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfcmdiLmMgYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkv c3VuNGlfcmdiLmMKPiBpbmRleCBlNzRiOWVkZGNhMDEuLmIyN2YxNmFmNTBmNSAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfcmdiLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vc3VuNGkvc3VuNGlfcmdiLmMKPiBAQCAtNDcsNyArNDcsNyBAQCBzdGF0aWMgaW50IHN1 bjRpX3JnYl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgCXN0 cnVjdCBzdW40aV9yZ2IgKnJnYiA9Cj4gIAkJZHJtX2Nvbm5lY3Rvcl90b19zdW40aV9yZ2IoY29u bmVjdG9yKTsKPiAgCj4gLQlyZXR1cm4gZHJtX3BhbmVsX2dldF9tb2RlcyhyZ2ItPnBhbmVsKTsK PiArCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKHJnYi0+cGFuZWwsIGNvbm5lY3Rvcik7Cj4g IH0KPiAgCj4gIC8qCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW42aV9t aXBpX2RzaS5jIGIvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjZpX21pcGlfZHNpLmMKPiBpbmRl eCBjOTU4Y2E5YmFlNjMuLjRlOGY2MzRjYzJkYiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vc3VuNGkvc3VuNmlfbWlwaV9kc2kuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9z dW42aV9taXBpX2RzaS5jCj4gQEAgLTc5NSw3ICs3OTUsNyBAQCBzdGF0aWMgaW50IHN1bjZpX2Rz aV9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgewo+ICAJc3Ry dWN0IHN1bjZpX2RzaSAqZHNpID0gY29ubmVjdG9yX3RvX3N1bjZpX2RzaShjb25uZWN0b3IpOwo+ ICAKPiAtCXJldHVybiBkcm1fcGFuZWxfZ2V0X21vZGVzKGRzaS0+cGFuZWwpOwo+ICsJcmV0dXJu IGRybV9wYW5lbF9nZXRfbW9kZXMoZHNpLT5wYW5lbCwgY29ubmVjdG9yKTsKPiAgfQo+ICAKPiAg c3RhdGljIHN0cnVjdCBkcm1fY29ubmVjdG9yX2hlbHBlcl9mdW5jcyBzdW42aV9kc2lfY29ubmVj dG9yX2hlbHBlcl9mdW5jcyA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3Jh L291dHB1dC5jIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL291dHB1dC5jCj4gaW5kZXggNWJkYmY5 ZmZjZGExLi40OTQ4MzczZDhjNzUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3RlZ3Jh L291dHB1dC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL291dHB1dC5jCj4gQEAgLTIz LDcgKzIzLDcgQEAgaW50IHRlZ3JhX291dHB1dF9jb25uZWN0b3JfZ2V0X21vZGVzKHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAkgKiBpZ25vcmUgYW55IG90aGVyIG1lYW5zIG9m IG9idGFpbmluZyBhIG1vZGUuCj4gIAkgKi8KPiAgCWlmIChvdXRwdXQtPnBhbmVsKSB7Cj4gLQkJ ZXJyID0gZHJtX3BhbmVsX2dldF9tb2RlcyhvdXRwdXQtPnBhbmVsKTsKPiArCQllcnIgPSBkcm1f cGFuZWxfZ2V0X21vZGVzKG91dHB1dC0+cGFuZWwsIGNvbm5lY3Rvcik7Cj4gIAkJaWYgKGVyciA+ IDApCj4gIAkJCXJldHVybiBlcnI7Cj4gIAl9Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2Ry bV9wYW5lbC5oIGIvaW5jbHVkZS9kcm0vZHJtX3BhbmVsLmgKPiBpbmRleCBhNWY3MTk5ODA3ZjIu LjRmZDYxY2I5ZWI5MyAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fcGFuZWwuaAo+ICsr KyBiL2luY2x1ZGUvZHJtL2RybV9wYW5lbC5oCj4gQEAgLTEyNCwxMyArMTI0LDYgQEAgc3RydWN0 IGRybV9wYW5lbCB7Cj4gIAkgKi8KPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkcm07Cj4gIAo+IC0J LyoqCj4gLQkgKiBAY29ubmVjdG9yOgo+IC0JICoKPiAtCSAqIERSTSBjb25uZWN0b3IgdGhhdCB0 aGUgcGFuZWwgaXMgYXR0YWNoZWQgdG8uCj4gLQkgKi8KPiAtCXN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3I7Cj4gLQo+ICAJLyoqCj4gIAkgKiBAZGV2Ogo+ICAJICoKPiBAQCAtMTg3LDcg KzE4MCw3IEBAIGludCBkcm1fcGFuZWxfdW5wcmVwYXJlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVs KTsKPiAgaW50IGRybV9wYW5lbF9lbmFibGUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpOwo+ICBp bnQgZHJtX3BhbmVsX2Rpc2FibGUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpOwo+ICAKPiAtaW50 IGRybV9wYW5lbF9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpOwo+ICtpbnQgZHJt X3BhbmVsX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCwgc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3Rvcik7Cj4gIAo+ICAjaWYgZGVmaW5lZChDT05GSUdfT0YpICYmIGRlZmlu ZWQoQ09ORklHX0RSTV9QQU5FTCkKPiAgc3RydWN0IGRybV9wYW5lbCAqb2ZfZHJtX2ZpbmRfcGFu ZWwoY29uc3Qgc3RydWN0IGRldmljZV9ub2RlICpucCk7CgotLSAKUmVnYXJkcywKCkxhdXJlbnQg UGluY2hhcnQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkxpbnV4LW1lZGlhdGVrIG1haWxpbmcgbGlzdApMaW51eC1tZWRpYXRla0BsaXN0cy5pbmZyYWRl YWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgt bWVkaWF0ZWsK