From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from relay2-d.mail.gandi.net (relay2-d.mail.gandi.net [217.70.183.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BF7DE85651; Wed, 21 Feb 2024 16:02:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.194 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708531379; cv=none; b=rDximMABXCHMEaWktxFFqkg6wceUKISuh8ZvYkssxEcweepNdyh8+hOhJMDJUXUq5uLaHJspRu7MBeDNb17cPyB0jtH8bMyHPqhb+1tyvJ8w8uoTdIFT9/Iun4aSZzM+eIvliGh5OYxkKiWR2ozsYWqzwE2xhPT3eedHaYAgtWU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708531379; c=relaxed/simple; bh=N65iXSjU/h0ELkZkUlceQfqdX38DRu2buPhtEJ4dLQI=; h=Mime-Version:Content-Type:Date:Message-Id:Subject:Cc:To:From: References:In-Reply-To; b=WQx3nYJMdibey/Tr1e6yFPVzUE59lPhyFvkQptLKWMBG1PwO6VxHIUrcu2QRcY4UNsYupQ8skq3e2utKmKRd56X1yxQeJCOZbI/Dw1Tb7ZCqgsR32DXDFD+zhpluTWyMXdRO5LrpLr7R+0mlCD57q4GZn1LcVwbfSW4+DKkCiJo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=N5Ct9CLh; arc=none smtp.client-ip=217.70.183.194 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="N5Ct9CLh" Received: by mail.gandi.net (Postfix) with ESMTPSA id 0619D40007; Wed, 21 Feb 2024 16:02:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1708531372; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=IXbmWq1iYuKDOOGKfD5Ci1T2sY0QXJfhciM8bKHhdb0=; b=N5Ct9CLh7AbDeQnE8aCydJ0xJbJ2daqddQuOB0AJiMqVTu8n2WycvnhoDi2gb9AQI1a9A7 DLd1nvSy9EDhUcuFCg6raWyc5PcHmJ7j9AKCBj8uaj6cwpy1VJPBODb7zZOeP9m6u8iGj+ wIOL9QRu9rwaR91Rd8dVO/GJRkS6PLJCliWCg5pLAonMoFaiTQ9muooFuQSxRBqK62zLJk o9+b4bFgFvrRVsnIGWljKXJraqvf48ettxpK1/eIuk0mLxzucfIS3JUnN9G176qnA5v0QR SNgGFrs/ptnquRahTr8irkWKVs6V9HoGRxgAYhFDIzA+AhpHN+uL9jiFHwQOHQ== Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Wed, 21 Feb 2024 17:02:51 +0100 Message-Id: Subject: Re: [PATCH 05/23] gpio: nomadik: extract GPIO platform driver from drivers/pinctrl/nomadik/ Cc: "Linus Walleij" , "Rob Herring" , "Krzysztof Kozlowski" , "Conor Dooley" , "Philipp Zabel" , "Thomas Bogendoerfer" , , , , , , "Gregory CLEMENT" , "Vladimir Kondratiev" , "Thomas Petazzoni" , "Tawfik Bayouk" To: "Bartosz Golaszewski" From: =?utf-8?q?Th=C3=A9o_Lebrun?= X-Mailer: aerc 0.15.2 References: <20240214-mbly-gpio-v1-0-f88c0ccf372b@bootlin.com> <20240214-mbly-gpio-v1-5-f88c0ccf372b@bootlin.com> In-Reply-To: X-GND-Sasl: theo.lebrun@bootlin.com Hello Bartosz, On Mon Feb 19, 2024 at 5:08 PM CET, Bartosz Golaszewski wrote: > On Wed, Feb 14, 2024 at 5:24=E2=80=AFPM Th=C3=A9o Lebrun wrote: > > > > Previously, drivers/pinctrl/nomadik/pinctrl-nomadik.c registered two > > platform drivers: pinctrl & GPIO. Move the GPIO aspect to the > > drivers/gpio/ folder, as would be expected. > > > > Both drivers are intertwined for a reason; pinctrl requires access to > > GPIO registers for pinmuxing, pull-disable, disabling interrupts while > > setting the muxing and wakeup control. Information sharing is done > > through a shared array containing GPIO chips and a few helper > > functions. That shared array is not touched from gpio-nomadik when > > CONFIG_PINCTRL_NOMADIK is not defined. > > > > Make no change to the code that moved into gpio-nomadik; there should b= e > > no behavior change following. A few functions are shared and header > > comments are added. Checkpatch warnings are addressed. NUM_BANKS is > > renamed to NMK_MAX_BANKS. > > > > It is supported to compile gpio-nomadik without pinctrl-nomadik. The > > opposite is not true. > > > > Signed-off-by: Th=C3=A9o Lebrun > > --- > > MAINTAINERS | 1 + > > drivers/gpio/Kconfig | 12 + > > drivers/gpio/Makefile | 1 + > > drivers/gpio/gpio-nomadik.c | 660 +++++++++++++= ++++++ > > drivers/pinctrl/nomadik/Kconfig | 5 +- > > drivers/pinctrl/nomadik/pinctrl-nomadik-db8500.c | 3 +- > > drivers/pinctrl/nomadik/pinctrl-nomadik-stn8815.c | 3 +- > > drivers/pinctrl/nomadik/pinctrl-nomadik.c | 722 +------------= -------- > > .../linux/gpio/gpio-nomadik.h | 122 +++- > > 9 files changed, 804 insertions(+), 725 deletions(-) > > > > diff --git a/MAINTAINERS b/MAINTAINERS > > index 0cb2c459d1cf..3f864e773267 100644 > > --- a/MAINTAINERS > > +++ b/MAINTAINERS > > @@ -2474,6 +2474,7 @@ F: drivers/clk/clk-nomadik.c > > F: drivers/clocksource/clksrc-dbx500-prcmu.c > > F: drivers/dma/ste_dma40* > > F: drivers/pmdomain/st/ste-ux500-pm-domain.c > > +F: drivers/gpio/gpio-nomadik.c > > F: drivers/hwspinlock/u8500_hsem.c > > F: drivers/i2c/busses/i2c-nomadik.c > > F: drivers/iio/adc/ab8500-gpadc.c > > diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig > > index 1301cec94f12..ff83371251c1 100644 > > --- a/drivers/gpio/Kconfig > > +++ b/drivers/gpio/Kconfig > > @@ -478,6 +478,18 @@ config GPIO_MXS > > select GPIO_GENERIC > > select GENERIC_IRQ_CHIP > > > > +config GPIO_NOMADIK > > + bool "Nomadik GPIO driver" > > + depends on ARCH_U8500 || ARCH_NOMADIK || COMPILE_TEST > > + select OF_GPIO > > + select GPIOLIB_IRQCHIP > > + help > > + Say yes here to support the Nomadik SoC GPIO block. > > + > > + It handles up to 32 GPIOs per bank, that can all be interrupt= sources. > > + It is deeply interconnected with the associated pinctrl drive= r as GPIO > > + registers handle muxing ("alternate functions") as well. > > + > > config GPIO_NPCM_SGPIO > > bool "Nuvoton SGPIO support" > > depends on ARCH_NPCM || COMPILE_TEST > > diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile > > index 9e40af196aae..9fc2f5931b22 100644 > > --- a/drivers/gpio/Makefile > > +++ b/drivers/gpio/Makefile > > @@ -116,6 +116,7 @@ obj-$(CONFIG_GPIO_MT7621) +=3D gpio-mt762= 1.o > > obj-$(CONFIG_GPIO_MVEBU) +=3D gpio-mvebu.o > > obj-$(CONFIG_GPIO_MXC) +=3D gpio-mxc.o > > obj-$(CONFIG_GPIO_MXS) +=3D gpio-mxs.o > > +obj-$(CONFIG_GPIO_NOMADIK) +=3D gpio-nomadik.o > > obj-$(CONFIG_GPIO_NPCM_SGPIO) +=3D gpio-npcm-sgpio.o > > obj-$(CONFIG_GPIO_OCTEON) +=3D gpio-octeon.o > > obj-$(CONFIG_GPIO_OMAP) +=3D gpio-omap.o > > diff --git a/drivers/gpio/gpio-nomadik.c b/drivers/gpio/gpio-nomadik.c > > new file mode 100644 > > index 000000000000..e39477e1a58f > > --- /dev/null > > +++ b/drivers/gpio/gpio-nomadik.c > > @@ -0,0 +1,660 @@ > > +// SPDX-License-Identifier: GPL-2.0-only > > +/* > > + * GPIO driver for the IP block found in the Nomadik SoC; it is an AMB= A device, > > + * managing 32 pins with alternate functions. It can also handle the S= TA2X11 > > + * block from ST. > > + * > > + * The GPIO chips are shared with pinctrl-nomadik if used; it needs ac= cess for > > + * pinmuxing functionality and others. > > + * > > + * Copyright (C) 2008,2009 STMicroelectronics > > + * Copyright (C) 2009 Alessandro Rubini > > + * Rewritten based on work by Prafulla WADASKAR > > + * Copyright (C) 2011-2013 Linus Walleij > > + */ > > Add a newline here. This commit tries its best to not modify the file too much. It mostly is a copy-and-paste. The goal is to have a sensible diff between old drivers/pinctrl/nomadik/pinctrl-nomadik.c and new drivers/gpio/gpio-nomadik.c. We wait until later commits to fix stuff. Should below comments "avoid new calls to X" still be taken into account, knowing that this is old code being moved around? Thanks, -- Th=C3=A9o Lebrun, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ------------------------------------------------------------------------ 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 E4226C48BEB for ; Wed, 21 Feb 2024 16:03:13 +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-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:References:From:To:Cc: Subject:Message-Id:Date:Mime-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=oXAeUV12Su5WoykkjxUIeBP4gcLXo67nrIYYuMWmqys=; b=xKS4lp7ckptCj+ +B5tyLZbrkHSiNozQLE3IAkNYoALGl83hlbO1QfzP6H/G2ljqEWV4i3SJSIDg0h6yPDo8ZvajiOw8 Zw/c8gt14Gnv7ylGm/bC+SDDmNzsXHR8eh0VxTOUDhVuU88ZSGiwU4W3k9kqDgNF1BsTPOzWYBVEe bRz6H6EY6XSbsv1sfwcqLBZzdhMiPhJfE8XqJYX8jw5S22MHEF+W5VhQk8gNYzzACDM7ZPxo/vPXl Mv3NrNpRsNU1mtFPfMIQzF4IAxdOpmpE62kSVepPA4mzzNBk4uQ74jzyTexsMrC6fpyPU5EzGrSHv RdTtwhtFUJgAV3RX8h4g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rcp3k-00000001dGD-3ASD; Wed, 21 Feb 2024 16:03:00 +0000 Received: from relay2-d.mail.gandi.net ([217.70.183.194]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rcp3h-00000001dB3-0O0I for linux-arm-kernel@lists.infradead.org; Wed, 21 Feb 2024 16:02:59 +0000 Received: by mail.gandi.net (Postfix) with ESMTPSA id 0619D40007; Wed, 21 Feb 2024 16:02:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1708531372; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=IXbmWq1iYuKDOOGKfD5Ci1T2sY0QXJfhciM8bKHhdb0=; b=N5Ct9CLh7AbDeQnE8aCydJ0xJbJ2daqddQuOB0AJiMqVTu8n2WycvnhoDi2gb9AQI1a9A7 DLd1nvSy9EDhUcuFCg6raWyc5PcHmJ7j9AKCBj8uaj6cwpy1VJPBODb7zZOeP9m6u8iGj+ wIOL9QRu9rwaR91Rd8dVO/GJRkS6PLJCliWCg5pLAonMoFaiTQ9muooFuQSxRBqK62zLJk o9+b4bFgFvrRVsnIGWljKXJraqvf48ettxpK1/eIuk0mLxzucfIS3JUnN9G176qnA5v0QR SNgGFrs/ptnquRahTr8irkWKVs6V9HoGRxgAYhFDIzA+AhpHN+uL9jiFHwQOHQ== Mime-Version: 1.0 Date: Wed, 21 Feb 2024 17:02:51 +0100 Message-Id: Subject: Re: [PATCH 05/23] gpio: nomadik: extract GPIO platform driver from drivers/pinctrl/nomadik/ Cc: "Linus Walleij" , "Rob Herring" , "Krzysztof Kozlowski" , "Conor Dooley" , "Philipp Zabel" , "Thomas Bogendoerfer" , , , , , , "Gregory CLEMENT" , "Vladimir Kondratiev" , "Thomas Petazzoni" , "Tawfik Bayouk" To: "Bartosz Golaszewski" From: =?utf-8?q?Th=C3=A9o_Lebrun?= X-Mailer: aerc 0.15.2 References: <20240214-mbly-gpio-v1-0-f88c0ccf372b@bootlin.com> <20240214-mbly-gpio-v1-5-f88c0ccf372b@bootlin.com> In-Reply-To: X-GND-Sasl: theo.lebrun@bootlin.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240221_080257_464402_3DE0C701 X-CRM114-Status: GOOD ( 32.71 ) 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 SGVsbG8gQmFydG9zeiwKCk9uIE1vbiBGZWIgMTksIDIwMjQgYXQgNTowOCBQTSBDRVQsIEJhcnRv c3ogR29sYXN6ZXdza2kgd3JvdGU6Cj4gT24gV2VkLCBGZWIgMTQsIDIwMjQgYXQgNToyNOKAr1BN IFRow6lvIExlYnJ1biA8dGhlby5sZWJydW5AYm9vdGxpbi5jb20+IHdyb3RlOgo+ID4KPiA+IFBy ZXZpb3VzbHksIGRyaXZlcnMvcGluY3RybC9ub21hZGlrL3BpbmN0cmwtbm9tYWRpay5jIHJlZ2lz dGVyZWQgdHdvCj4gPiBwbGF0Zm9ybSBkcml2ZXJzOiBwaW5jdHJsICYgR1BJTy4gTW92ZSB0aGUg R1BJTyBhc3BlY3QgdG8gdGhlCj4gPiBkcml2ZXJzL2dwaW8vIGZvbGRlciwgYXMgd291bGQgYmUg ZXhwZWN0ZWQuCj4gPgo+ID4gQm90aCBkcml2ZXJzIGFyZSBpbnRlcnR3aW5lZCBmb3IgYSByZWFz b247IHBpbmN0cmwgcmVxdWlyZXMgYWNjZXNzIHRvCj4gPiBHUElPIHJlZ2lzdGVycyBmb3IgcGlu bXV4aW5nLCBwdWxsLWRpc2FibGUsIGRpc2FibGluZyBpbnRlcnJ1cHRzIHdoaWxlCj4gPiBzZXR0 aW5nIHRoZSBtdXhpbmcgYW5kIHdha2V1cCBjb250cm9sLiBJbmZvcm1hdGlvbiBzaGFyaW5nIGlz IGRvbmUKPiA+IHRocm91Z2ggYSBzaGFyZWQgYXJyYXkgY29udGFpbmluZyBHUElPIGNoaXBzIGFu ZCBhIGZldyBoZWxwZXIKPiA+IGZ1bmN0aW9ucy4gVGhhdCBzaGFyZWQgYXJyYXkgaXMgbm90IHRv dWNoZWQgZnJvbSBncGlvLW5vbWFkaWsgd2hlbgo+ID4gQ09ORklHX1BJTkNUUkxfTk9NQURJSyBp cyBub3QgZGVmaW5lZC4KPiA+Cj4gPiBNYWtlIG5vIGNoYW5nZSB0byB0aGUgY29kZSB0aGF0IG1v dmVkIGludG8gZ3Bpby1ub21hZGlrOyB0aGVyZSBzaG91bGQgYmUKPiA+IG5vIGJlaGF2aW9yIGNo YW5nZSBmb2xsb3dpbmcuIEEgZmV3IGZ1bmN0aW9ucyBhcmUgc2hhcmVkIGFuZCBoZWFkZXIKPiA+ IGNvbW1lbnRzIGFyZSBhZGRlZC4gQ2hlY2twYXRjaCB3YXJuaW5ncyBhcmUgYWRkcmVzc2VkLiBO VU1fQkFOS1MgaXMKPiA+IHJlbmFtZWQgdG8gTk1LX01BWF9CQU5LUy4KPiA+Cj4gPiBJdCBpcyBz dXBwb3J0ZWQgdG8gY29tcGlsZSBncGlvLW5vbWFkaWsgd2l0aG91dCBwaW5jdHJsLW5vbWFkaWsu IFRoZQo+ID4gb3Bwb3NpdGUgaXMgbm90IHRydWUuCj4gPgo+ID4gU2lnbmVkLW9mZi1ieTogVGjD qW8gTGVicnVuIDx0aGVvLmxlYnJ1bkBib290bGluLmNvbT4KPiA+IC0tLQo+ID4gIE1BSU5UQUlO RVJTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsKPiA+ICBk cml2ZXJzL2dwaW8vS2NvbmZpZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxMiAr Cj4gPiAgZHJpdmVycy9ncGlvL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgIDEgKwo+ID4gIGRyaXZlcnMvZ3Bpby9ncGlvLW5vbWFkaWsuYyAgICAgICAgICAgICAgICAg ICAgICAgIHwgNjYwICsrKysrKysrKysrKysrKysrKysKPiA+ICBkcml2ZXJzL3BpbmN0cmwvbm9t YWRpay9LY29uZmlnICAgICAgICAgICAgICAgICAgICB8ICAgNSArLQo+ID4gIGRyaXZlcnMvcGlu Y3RybC9ub21hZGlrL3BpbmN0cmwtbm9tYWRpay1kYjg1MDAuYyAgIHwgICAzICstCj4gPiAgZHJp dmVycy9waW5jdHJsL25vbWFkaWsvcGluY3RybC1ub21hZGlrLXN0bjg4MTUuYyAgfCAgIDMgKy0K PiA+ICBkcml2ZXJzL3BpbmN0cmwvbm9tYWRpay9waW5jdHJsLW5vbWFkaWsuYyAgICAgICAgICB8 IDcyMiArLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ICAuLi4vbGludXgvZ3Bpby9ncGlvLW5vbWFk aWsuaCAgICAgICAgICAgICAgICAgICAgICB8IDEyMiArKystCj4gPiAgOSBmaWxlcyBjaGFuZ2Vk LCA4MDQgaW5zZXJ0aW9ucygrKSwgNzI1IGRlbGV0aW9ucygtKQo+ID4KPiA+IGRpZmYgLS1naXQg YS9NQUlOVEFJTkVSUyBiL01BSU5UQUlORVJTCj4gPiBpbmRleCAwY2IyYzQ1OWQxY2YuLjNmODY0 ZTc3MzI2NyAxMDA2NDQKPiA+IC0tLSBhL01BSU5UQUlORVJTCj4gPiArKysgYi9NQUlOVEFJTkVS Uwo+ID4gQEAgLTI0NzQsNiArMjQ3NCw3IEBAIEY6ICAgICAgICBkcml2ZXJzL2Nsay9jbGstbm9t YWRpay5jCj4gPiAgRjogICAgIGRyaXZlcnMvY2xvY2tzb3VyY2UvY2xrc3JjLWRieDUwMC1wcmNt dS5jCj4gPiAgRjogICAgIGRyaXZlcnMvZG1hL3N0ZV9kbWE0MCoKPiA+ICBGOiAgICAgZHJpdmVy cy9wbWRvbWFpbi9zdC9zdGUtdXg1MDAtcG0tZG9tYWluLmMKPiA+ICtGOiAgICAgZHJpdmVycy9n cGlvL2dwaW8tbm9tYWRpay5jCj4gPiAgRjogICAgIGRyaXZlcnMvaHdzcGlubG9jay91ODUwMF9o c2VtLmMKPiA+ICBGOiAgICAgZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1ub21hZGlrLmMKPiA+ICBG OiAgICAgZHJpdmVycy9paW8vYWRjL2FiODUwMC1ncGFkYy5jCj4gPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncGlvL0tjb25maWcgYi9kcml2ZXJzL2dwaW8vS2NvbmZpZwo+ID4gaW5kZXggMTMwMWNl Yzk0ZjEyLi5mZjgzMzcxMjUxYzEgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwaW8vS2NvbmZp Zwo+ID4gKysrIGIvZHJpdmVycy9ncGlvL0tjb25maWcKPiA+IEBAIC00NzgsNiArNDc4LDE4IEBA IGNvbmZpZyBHUElPX01YUwo+ID4gICAgICAgICBzZWxlY3QgR1BJT19HRU5FUklDCj4gPiAgICAg ICAgIHNlbGVjdCBHRU5FUklDX0lSUV9DSElQCj4gPgo+ID4gK2NvbmZpZyBHUElPX05PTUFESUsK PiA+ICsgICAgICAgYm9vbCAiTm9tYWRpayBHUElPIGRyaXZlciIKPiA+ICsgICAgICAgZGVwZW5k cyBvbiBBUkNIX1U4NTAwIHx8IEFSQ0hfTk9NQURJSyB8fCBDT01QSUxFX1RFU1QKPiA+ICsgICAg ICAgc2VsZWN0IE9GX0dQSU8KPiA+ICsgICAgICAgc2VsZWN0IEdQSU9MSUJfSVJRQ0hJUAo+ID4g KyAgICAgICBoZWxwCj4gPiArICAgICAgICAgU2F5IHllcyBoZXJlIHRvIHN1cHBvcnQgdGhlIE5v bWFkaWsgU29DIEdQSU8gYmxvY2suCj4gPiArCj4gPiArICAgICAgICAgSXQgaGFuZGxlcyB1cCB0 byAzMiBHUElPcyBwZXIgYmFuaywgdGhhdCBjYW4gYWxsIGJlIGludGVycnVwdCBzb3VyY2VzLgo+ ID4gKyAgICAgICAgIEl0IGlzIGRlZXBseSBpbnRlcmNvbm5lY3RlZCB3aXRoIHRoZSBhc3NvY2lh dGVkIHBpbmN0cmwgZHJpdmVyIGFzIEdQSU8KPiA+ICsgICAgICAgICByZWdpc3RlcnMgaGFuZGxl IG11eGluZyAoImFsdGVybmF0ZSBmdW5jdGlvbnMiKSBhcyB3ZWxsLgo+ID4gKwo+ID4gIGNvbmZp ZyBHUElPX05QQ01fU0dQSU8KPiA+ICAgICAgICAgYm9vbCAiTnV2b3RvbiBTR1BJTyBzdXBwb3J0 Igo+ID4gICAgICAgICBkZXBlbmRzIG9uIEFSQ0hfTlBDTSB8fCBDT01QSUxFX1RFU1QKPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwaW8vTWFrZWZpbGUgYi9kcml2ZXJzL2dwaW8vTWFrZWZpbGUK PiA+IGluZGV4IDllNDBhZjE5NmFhZS4uOWZjMmY1OTMxYjIyIDEwMDY0NAo+ID4gLS0tIGEvZHJp dmVycy9ncGlvL01ha2VmaWxlCj4gPiArKysgYi9kcml2ZXJzL2dwaW8vTWFrZWZpbGUKPiA+IEBA IC0xMTYsNiArMTE2LDcgQEAgb2JqLSQoQ09ORklHX0dQSU9fTVQ3NjIxKSAgICAgICAgICAgKz0g Z3Bpby1tdDc2MjEubwo+ID4gIG9iai0kKENPTkZJR19HUElPX01WRUJVKSAgICAgICAgICAgICAg ICs9IGdwaW8tbXZlYnUubwo+ID4gIG9iai0kKENPTkZJR19HUElPX01YQykgICAgICAgICAgICAg ICAgICs9IGdwaW8tbXhjLm8KPiA+ICBvYmotJChDT05GSUdfR1BJT19NWFMpICAgICAgICAgICAg ICAgICArPSBncGlvLW14cy5vCj4gPiArb2JqLSQoQ09ORklHX0dQSU9fTk9NQURJSykgICAgICAg ICAgICAgKz0gZ3Bpby1ub21hZGlrLm8KPiA+ICBvYmotJChDT05GSUdfR1BJT19OUENNX1NHUElP KSAgICAgICAgICArPSBncGlvLW5wY20tc2dwaW8ubwo+ID4gIG9iai0kKENPTkZJR19HUElPX09D VEVPTikgICAgICAgICAgICAgICs9IGdwaW8tb2N0ZW9uLm8KPiA+ICBvYmotJChDT05GSUdfR1BJ T19PTUFQKSAgICAgICAgICAgICAgICAgICAgICAgICs9IGdwaW8tb21hcC5vCj4gPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncGlvL2dwaW8tbm9tYWRpay5jIGIvZHJpdmVycy9ncGlvL2dwaW8tbm9t YWRpay5jCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ID4gaW5kZXggMDAwMDAwMDAwMDAwLi5l Mzk0NzdlMWE1OGYKPiA+IC0tLSAvZGV2L251bGwKPiA+ICsrKyBiL2RyaXZlcnMvZ3Bpby9ncGlv LW5vbWFkaWsuYwo+ID4gQEAgLTAsMCArMSw2NjAgQEAKPiA+ICsvLyBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogR1BMLTIuMC1vbmx5Cj4gPiArLyoKPiA+ICsgKiBHUElPIGRyaXZlciBmb3IgdGhl IElQIGJsb2NrIGZvdW5kIGluIHRoZSBOb21hZGlrIFNvQzsgaXQgaXMgYW4gQU1CQSBkZXZpY2Us Cj4gPiArICogbWFuYWdpbmcgMzIgcGlucyB3aXRoIGFsdGVybmF0ZSBmdW5jdGlvbnMuIEl0IGNh biBhbHNvIGhhbmRsZSB0aGUgU1RBMlgxMQo+ID4gKyAqIGJsb2NrIGZyb20gU1QuCj4gPiArICoK PiA+ICsgKiBUaGUgR1BJTyBjaGlwcyBhcmUgc2hhcmVkIHdpdGggcGluY3RybC1ub21hZGlrIGlm IHVzZWQ7IGl0IG5lZWRzIGFjY2VzcyBmb3IKPiA+ICsgKiBwaW5tdXhpbmcgZnVuY3Rpb25hbGl0 eSBhbmQgb3RoZXJzLgo+ID4gKyAqCj4gPiArICogQ29weXJpZ2h0IChDKSAyMDA4LDIwMDkgU1RN aWNyb2VsZWN0cm9uaWNzCj4gPiArICogQ29weXJpZ2h0IChDKSAyMDA5IEFsZXNzYW5kcm8gUnVi aW5pIDxydWJpbmlAdW5pcHYuaXQ+Cj4gPiArICogICBSZXdyaXR0ZW4gYmFzZWQgb24gd29yayBi eSBQcmFmdWxsYSBXQURBU0tBUiA8cHJhZnVsbGEud2FkYXNrYXJAc3QuY29tPgo+ID4gKyAqIENv cHlyaWdodCAoQykgMjAxMS0yMDEzIExpbnVzIFdhbGxlaWogPGxpbnVzLndhbGxlaWpAbGluYXJv Lm9yZz4KPiA+ICsgKi8KPgo+IEFkZCBhIG5ld2xpbmUgaGVyZS4KClRoaXMgY29tbWl0IHRyaWVz IGl0cyBiZXN0IHRvIG5vdCBtb2RpZnkgdGhlIGZpbGUgdG9vIG11Y2guIEl0IG1vc3RseSBpcwph IGNvcHktYW5kLXBhc3RlLiBUaGUgZ29hbCBpcyB0byBoYXZlIGEgc2Vuc2libGUgZGlmZiBiZXR3 ZWVuIG9sZApkcml2ZXJzL3BpbmN0cmwvbm9tYWRpay9waW5jdHJsLW5vbWFkaWsuYyBhbmQgbmV3 CmRyaXZlcnMvZ3Bpby9ncGlvLW5vbWFkaWsuYy4gV2Ugd2FpdCB1bnRpbCBsYXRlciBjb21taXRz IHRvIGZpeCBzdHVmZi4KClNob3VsZCBiZWxvdyBjb21tZW50cyAiYXZvaWQgbmV3IGNhbGxzIHRv IFgiIHN0aWxsIGJlIHRha2VuIGludG8KYWNjb3VudCwga25vd2luZyB0aGF0IHRoaXMgaXMgb2xk IGNvZGUgYmVpbmcgbW92ZWQgYXJvdW5kPwoKVGhhbmtzLAoKLS0KVGjDqW8gTGVicnVuLCBCb290 bGluCkVtYmVkZGVkIExpbnV4IGFuZCBLZXJuZWwgZW5naW5lZXJpbmcKaHR0cHM6Ly9ib290bGlu LmNvbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtl cm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxt YW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=