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=-0.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED autolearn=no 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 2FF2DC433E2 for ; Wed, 10 Jun 2020 18:02:52 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 1089D2072F for ; Wed, 10 Jun 2020 18:02:52 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="a/0EIHUr" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728321AbgFJSCs (ORCPT ); Wed, 10 Jun 2020 14:02:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40266 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728341AbgFJSCr (ORCPT ); Wed, 10 Jun 2020 14:02:47 -0400 Received: from mail-wm1-x342.google.com (mail-wm1-x342.google.com [IPv6:2a00:1450:4864:20::342]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CD049C03E96B for ; Wed, 10 Jun 2020 11:02:45 -0700 (PDT) Received: by mail-wm1-x342.google.com with SMTP id l26so2667512wme.3 for ; Wed, 10 Jun 2020 11:02:45 -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=JxeiI81YmGg5d9U0C/O9qY0Fd0/ZtRnG2PDA0HglqPI=; b=a/0EIHUrn6R4n3hmim8fYaSU+3VEc6XzE/W9OBdliAF/zvveloGdlLfeLyj/O+g0S+ xtGgV00xUPkUAOEq/5grpicbBu7iVxTzPCJLDkCVX4eExpPDvDyft+HwHi6O6t6ksH3Y gwTO7zIdQuRfQxyrmebXQg9q0Ji4x4FAbf0y6TrEfSfCWIculPyuWE6YNUT6KQW8+agX kd9q7mNOJoM/eU9Ca7bX4t6jq0Dy8hfpfOoAwmzi2B+UJN2Mip2mPsRVCPqoaqUtBSgd kj+aPAukgh6gQ0GWPjFa1SHsVOhg58J1eVSu9CuTFweyULX/38yDxnzZD7r2E+cp2gi8 RllQ== 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=JxeiI81YmGg5d9U0C/O9qY0Fd0/ZtRnG2PDA0HglqPI=; b=Q/yrRv5SNSr4jJjpF22NoPGsD7tlZFzJuPztnPiKrlf5zW0MnNxaKq7gO77TFxhJgU yS8Ec3BuMt5whvsqd9As9vmZVTb3gZUw23U2OeU/Nw4Wl+vyPKJYiU8FU1oHxwIv/kqZ hAseTXyMf9G54xk3oa3CRcN2dhU5ej5NNxp2AN1dkWJV4QgInfV7Z3IchSDkjy6wHSPh 7zWAJX8nPvF46iGPeLchG5CzSzjebICDAMDi7wddptSitwdDxM0hHvtCDbj23E9VzgA7 H9EiCe663ygYLc02Qx3ZzfzUhzLcKdrdVhprsurVkagQBe7ZPTg69rs1Gf6sG4812NQt m9Uw== X-Gm-Message-State: AOAM5310k+vuL9UulgwQkhuYm/IFzICba0n+6TwdjkfhO07piEtksnsJ sJ+hufgxNgauHe5m/HRUZiwoXg== X-Google-Smtp-Source: ABdhPJw80wfVrkd4Pt8pEq+dAgi4oji9xyaGUc5f8gKzhaU2nyB3JgXw9lNxPsej44PCRcfJ5yA8YA== X-Received: by 2002:a05:600c:287:: with SMTP id 7mr4521647wmk.91.1591812164504; Wed, 10 Jun 2020 11:02:44 -0700 (PDT) Received: from dell ([2.27.167.101]) by smtp.gmail.com with ESMTPSA id f11sm832108wrj.2.2020.06.10.11.02.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 10 Jun 2020 11:02:43 -0700 (PDT) Date: Wed, 10 Jun 2020 19:02:41 +0100 From: Lee Jones To: Rob Herring Cc: Michael Walle , Andy Shevchenko , Ranjani Sridharan , david.m.ertman@intel.com, shiraz.saleem@intel.com, Mark Brown , "open list:GPIO SUBSYSTEM" , devicetree , Linux Kernel Mailing List , Linux HWMON List , Linux PWM List , LINUX-WATCHDOG , linux-arm Mailing List , Linus Walleij , Bartosz Golaszewski , Jean Delvare , Guenter Roeck , Thierry Reding , Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= , Wim Van Sebroeck , Shawn Guo , Li Yang , Thomas Gleixner , Jason Cooper , Marc Zyngier , Greg Kroah-Hartman , Andy Shevchenko Subject: Re: [PATCH v4 02/11] mfd: Add support for Kontron sl28cpld management controller Message-ID: <20200610180241.GU4106@dell> References: <20200608185651.GD4106@dell> <32231f26f7028d62aeda8fdb3364faf1@walle.cc> <20200609064735.GH4106@dell> <32287ac0488f7cbd5a7d1259c284e554@walle.cc> <20200609151941.GM4106@dell> <95e6ec9bbdf6af7a9ff9c31786f743f2@walle.cc> <20200609194505.GQ4106@dell> <3a6931248f0efcaf8efbb5425a9bd833@walle.cc> <20200610071940.GS4106@dell> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org On Wed, 10 Jun 2020, Rob Herring wrote: > On Wed, Jun 10, 2020 at 1:19 AM Lee Jones wrote: > > > > On Wed, 10 Jun 2020, Michael Walle wrote: > > > Am 2020-06-09 21:45, schrieb Lee Jones: > > > > On Tue, 09 Jun 2020, Michael Walle wrote: > > > > > > We do not need a 'simple-regmap' solution for your use-case. > > > > > > > > > > > > Since your device's registers are segregated, just split up the > > > > > > register map and allocate each sub-device with it's own slice. > > > > > > > > > > I don't get it, could you make a device tree example for my > > > > > use-case? (see also above) > > > > > > > > &i2cbus { > > > > mfd-device@10 { > > > > compatible = "simple-mfd"; > > > > reg = <10>; > > > > > > > > sub-device@10 { > > > > compatible = "vendor,sub-device"; > > > > reg = <10>; > > > > }; > > > > }; > > > > > > > > The Regmap config would be present in each of the child devices. > > > > > > > > Each child device would call devm_regmap_init_i2c() in .probe(). > > > > > > Ah, I see. If I'm not wrong, this still means to create an i2c > > > device driver with the name "simple-mfd". > > > > Yes, it does. > > TBC, while fine for a driver to bind on 'simple-mfd', a DT compatible > with that alone is not fine. 'simple-mfd' essentially means: "This device doesn't do anything useful, but the children do." When used with 'syscon' it means: "Memory for this device is shared between all children" Adding more specific/descriptive compatible strings is conceptually fine, but they should not be forced to bind to a real driver using them. Else we're creating drivers for the sake of creating drivers. This is especially true with 'simple-mfd' is used without 'syscon'. > > > Besides that, I don't like this, because: > > > - Rob already expressed its concerns with "simple-mfd" and so on. > > > > Where did this take place? I'd like to read up on this. > > > > > - you need to duplicate the config in each sub device > > > > You can have a share a single config. > > > > > - which also means you are restricting the sub devices to be > > > i2c only (unless you implement and duplicate other regmap configs, > > > too). For this driver, SPI and MMIO may be viable options. > > > > You could also have a shared implementation to choose between different > > busses. > > I think it is really the syscon mfd driver you want to generalize to > other buses. Though with a quick look at it, there's not really a > whole lot to share. The regmap lookup would be the main thing. You are > going to need a driver instance for each bus type. On it. -- Lee Jones [李琼斯] Senior Technical Lead - Developer Services Linaro.org │ Open source software for Arm SoCs Follow Linaro: Facebook | Twitter | Blog From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lee Jones Subject: Re: [PATCH v4 02/11] mfd: Add support for Kontron sl28cpld management controller Date: Wed, 10 Jun 2020 19:02:41 +0100 Message-ID: <20200610180241.GU4106@dell> References: <20200608185651.GD4106@dell> <32231f26f7028d62aeda8fdb3364faf1@walle.cc> <20200609064735.GH4106@dell> <32287ac0488f7cbd5a7d1259c284e554@walle.cc> <20200609151941.GM4106@dell> <95e6ec9bbdf6af7a9ff9c31786f743f2@walle.cc> <20200609194505.GQ4106@dell> <3a6931248f0efcaf8efbb5425a9bd833@walle.cc> <20200610071940.GS4106@dell> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40270 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726637AbgFJSCq (ORCPT ); Wed, 10 Jun 2020 14:02:46 -0400 Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com [IPv6:2a00:1450:4864:20::344]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0C276C03E96F for ; Wed, 10 Jun 2020 11:02:45 -0700 (PDT) Received: by mail-wm1-x344.google.com with SMTP id u13so2674754wml.1 for ; Wed, 10 Jun 2020 11:02:45 -0700 (PDT) Content-Disposition: inline In-Reply-To: Sender: linux-pwm-owner@vger.kernel.org List-Id: linux-pwm@vger.kernel.org To: Rob Herring Cc: Michael Walle , Andy Shevchenko , Ranjani Sridharan , david.m.ertman@intel.com, shiraz.saleem@intel.com, Mark Brown , "open list:GPIO SUBSYSTEM" , devicetree , Linux Kernel Mailing List , Linux HWMON List , Linux PWM List , LINUX-WATCHDOG , linux-arm Mailing List , Linus Walleij , Bartosz Golaszewski , Jean Delvare , Guenter Roeck , Thierry Reding On Wed, 10 Jun 2020, Rob Herring wrote: > On Wed, Jun 10, 2020 at 1:19 AM Lee Jones wrote: > > > > On Wed, 10 Jun 2020, Michael Walle wrote: > > > Am 2020-06-09 21:45, schrieb Lee Jones: > > > > On Tue, 09 Jun 2020, Michael Walle wrote: > > > > > > We do not need a 'simple-regmap' solution for your use-case. > > > > > > > > > > > > Since your device's registers are segregated, just split up the > > > > > > register map and allocate each sub-device with it's own slice. > > > > > > > > > > I don't get it, could you make a device tree example for my > > > > > use-case? (see also above) > > > > > > > > &i2cbus { > > > > mfd-device@10 { > > > > compatible = "simple-mfd"; > > > > reg = <10>; > > > > > > > > sub-device@10 { > > > > compatible = "vendor,sub-device"; > > > > reg = <10>; > > > > }; > > > > }; > > > > > > > > The Regmap config would be present in each of the child devices. > > > > > > > > Each child device would call devm_regmap_init_i2c() in .probe(). > > > > > > Ah, I see. If I'm not wrong, this still means to create an i2c > > > device driver with the name "simple-mfd". > > > > Yes, it does. > > TBC, while fine for a driver to bind on 'simple-mfd', a DT compatible > with that alone is not fine. 'simple-mfd' essentially means: "This device doesn't do anything useful, but the children do." When used with 'syscon' it means: "Memory for this device is shared between all children" Adding more specific/descriptive compatible strings is conceptually fine, but they should not be forced to bind to a real driver using them. Else we're creating drivers for the sake of creating drivers. This is especially true with 'simple-mfd' is used without 'syscon'. > > > Besides that, I don't like this, because: > > > - Rob already expressed its concerns with "simple-mfd" and so on. > > > > Where did this take place? I'd like to read up on this. > > > > > - you need to duplicate the config in each sub device > > > > You can have a share a single config. > > > > > - which also means you are restricting the sub devices to be > > > i2c only (unless you implement and duplicate other regmap configs, > > > too). For this driver, SPI and MMIO may be viable options. > > > > You could also have a shared implementation to choose between different > > busses. > > I think it is really the syscon mfd driver you want to generalize to > other buses. Though with a quick look at it, there's not really a > whole lot to share. The regmap lookup would be the main thing. You are > going to need a driver instance for each bus type. On it. -- Lee Jones [李琼斯] Senior Technical Lead - Developer Services Linaro.org │ Open source software for Arm SoCs Follow Linaro: Facebook | Twitter | Blog 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=-0.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=no 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 725C7C433E0 for ; Wed, 10 Jun 2020 18:02:51 +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 4A9CC2072E for ; Wed, 10 Jun 2020 18:02:51 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="MjUrOmwy"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="a/0EIHUr" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4A9CC2072E 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+infradead-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.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=xdbuVmCWyOYO1Zk1Z5bYvQb56fPpckmVcVNVrBFxo3I=; b=MjUrOmwyuGnl+g AXSO6nUbp4W/1OZht8c/ueHuYgaah2Xy4v8scP/66+NAeJgNAC5pvU3HqQSe8kqs8uNvtmiPTbm2y OiZsS6Avo8k0z1pyN+/KN90vf6TzLIL+1BfsdGxkUW3Dyp88frbPTra29ZhTS2q+dUBTa2YKKry9L z3fa3TIC33vtpz9jjzhYPSbPIIaepBnF3gS5yuTPHyJXjInVk/mGQ/jtPPqPsUj6ujtfpw+0KWyID Kz24YZKx560P5ZNlEChDtkxI7n+6XMsU6+4ojJidCmyfq5GqMDjZfQXqxl8jKGteNcquHW2p5M99H R0fCdIWy66L3bpAWkmqQ==; 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 1jj53q-0002HI-TO; Wed, 10 Jun 2020 18:02:50 +0000 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jj53n-0002Gl-Oc for linux-arm-kernel@lists.infradead.org; Wed, 10 Jun 2020 18:02:49 +0000 Received: by mail-wm1-x344.google.com with SMTP id k26so2666253wmi.4 for ; Wed, 10 Jun 2020 11:02:46 -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=JxeiI81YmGg5d9U0C/O9qY0Fd0/ZtRnG2PDA0HglqPI=; b=a/0EIHUrn6R4n3hmim8fYaSU+3VEc6XzE/W9OBdliAF/zvveloGdlLfeLyj/O+g0S+ xtGgV00xUPkUAOEq/5grpicbBu7iVxTzPCJLDkCVX4eExpPDvDyft+HwHi6O6t6ksH3Y gwTO7zIdQuRfQxyrmebXQg9q0Ji4x4FAbf0y6TrEfSfCWIculPyuWE6YNUT6KQW8+agX kd9q7mNOJoM/eU9Ca7bX4t6jq0Dy8hfpfOoAwmzi2B+UJN2Mip2mPsRVCPqoaqUtBSgd kj+aPAukgh6gQ0GWPjFa1SHsVOhg58J1eVSu9CuTFweyULX/38yDxnzZD7r2E+cp2gi8 RllQ== 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=JxeiI81YmGg5d9U0C/O9qY0Fd0/ZtRnG2PDA0HglqPI=; b=J8r83KQSyRiJVU4Md06JnMcw5AAINds4v5CT11QILoXvSp6AGCKAWf4JL0QlUn9Mwj /V7NOxrow6QWcZtfiqDr6D3ilCZB9SWMBVaN6OIe9YfzBdbXNsgubM64/yzhGJtsy8Yv eAB+hnmXE0PGTnRRBaXKImcnk6Naw8VaKMYBO19TGBJsxkk+GCJeQoRBfW7vq/P6psMv oroLWik1UYZF0dF3S13JO/0/M6jtrLbsP2H717MrIBveFEi2ISdPjnJVlOrl8xifho/A DLfh/zz8kifqAp6uta24I4I+cPuO5B5qADQzfley88v1Bf80Glp8zhLbUpAE7pMWH36c y3kg== X-Gm-Message-State: AOAM533Dtq+sIC7DdkGpCtWNnZgxtDG2m0Dc2PIjYrseWL8IZjeXjCSd ueSZZ7W+v/CFOE4NOcPnggYEfw== X-Google-Smtp-Source: ABdhPJw80wfVrkd4Pt8pEq+dAgi4oji9xyaGUc5f8gKzhaU2nyB3JgXw9lNxPsej44PCRcfJ5yA8YA== X-Received: by 2002:a05:600c:287:: with SMTP id 7mr4521647wmk.91.1591812164504; Wed, 10 Jun 2020 11:02:44 -0700 (PDT) Received: from dell ([2.27.167.101]) by smtp.gmail.com with ESMTPSA id f11sm832108wrj.2.2020.06.10.11.02.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 10 Jun 2020 11:02:43 -0700 (PDT) Date: Wed, 10 Jun 2020 19:02:41 +0100 From: Lee Jones To: Rob Herring Subject: Re: [PATCH v4 02/11] mfd: Add support for Kontron sl28cpld management controller Message-ID: <20200610180241.GU4106@dell> References: <20200608185651.GD4106@dell> <32231f26f7028d62aeda8fdb3364faf1@walle.cc> <20200609064735.GH4106@dell> <32287ac0488f7cbd5a7d1259c284e554@walle.cc> <20200609151941.GM4106@dell> <95e6ec9bbdf6af7a9ff9c31786f743f2@walle.cc> <20200609194505.GQ4106@dell> <3a6931248f0efcaf8efbb5425a9bd833@walle.cc> <20200610071940.GS4106@dell> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200610_110247_833180_A56B2CF9 X-CRM114-Status: GOOD ( 26.00 ) 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: Linux PWM List , Linus Walleij , Thierry Reding , Jason Cooper , Andy Shevchenko , Marc Zyngier , Ranjani Sridharan , Bartosz Golaszewski , Andy Shevchenko , Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= , david.m.ertman@intel.com, Guenter Roeck , devicetree , Jean Delvare , LINUX-WATCHDOG , "open list:GPIO SUBSYSTEM" , Mark Brown , Thomas Gleixner , Wim Van Sebroeck , shiraz.saleem@intel.com, linux-arm Mailing List , Linux HWMON List , Greg Kroah-Hartman , Linux Kernel Mailing List , Li Yang , Michael Walle , Shawn Guo Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gV2VkLCAxMCBKdW4gMjAyMCwgUm9iIEhlcnJpbmcgd3JvdGU6Cgo+IE9uIFdlZCwgSnVuIDEw LCAyMDIwIGF0IDE6MTkgQU0gTGVlIEpvbmVzIDxsZWUuam9uZXNAbGluYXJvLm9yZz4gd3JvdGU6 Cj4gPgo+ID4gT24gV2VkLCAxMCBKdW4gMjAyMCwgTWljaGFlbCBXYWxsZSB3cm90ZToKPiA+ID4g QW0gMjAyMC0wNi0wOSAyMTo0NSwgc2NocmllYiBMZWUgSm9uZXM6Cj4gPiA+ID4gT24gVHVlLCAw OSBKdW4gMjAyMCwgTWljaGFlbCBXYWxsZSB3cm90ZToKPiA+ID4gPiA+ID4gV2UgZG8gbm90IG5l ZWQgYSAnc2ltcGxlLXJlZ21hcCcgc29sdXRpb24gZm9yIHlvdXIgdXNlLWNhc2UuCj4gPiA+ID4g PiA+Cj4gPiA+ID4gPiA+IFNpbmNlIHlvdXIgZGV2aWNlJ3MgcmVnaXN0ZXJzIGFyZSBzZWdyZWdh dGVkLCBqdXN0IHNwbGl0IHVwIHRoZQo+ID4gPiA+ID4gPiByZWdpc3RlciBtYXAgYW5kIGFsbG9j YXRlIGVhY2ggc3ViLWRldmljZSB3aXRoIGl0J3Mgb3duIHNsaWNlLgo+ID4gPiA+ID4KPiA+ID4g PiA+IEkgZG9uJ3QgZ2V0IGl0LCBjb3VsZCB5b3UgbWFrZSBhIGRldmljZSB0cmVlIGV4YW1wbGUg Zm9yIG15Cj4gPiA+ID4gPiB1c2UtY2FzZT8gKHNlZSBhbHNvIGFib3ZlKQo+ID4gPiA+Cj4gPiA+ ID4gICAgICZpMmNidXMgewo+ID4gPiA+ICAgICAgICAgbWZkLWRldmljZUAxMCB7Cj4gPiA+ID4g ICAgICAgICAgICAgY29tcGF0aWJsZSA9ICJzaW1wbGUtbWZkIjsKPiA+ID4gPiAgICAgICAgICAg ICByZWcgPSA8MTA+Owo+ID4gPiA+Cj4gPiA+ID4gICAgICAgICAgICAgc3ViLWRldmljZUAxMCB7 Cj4gPiA+ID4gICAgICAgICAgICAgICAgIGNvbXBhdGlibGUgPSAidmVuZG9yLHN1Yi1kZXZpY2Ui Owo+ID4gPiA+ICAgICAgICAgICAgICAgICByZWcgPSA8MTA+Owo+ID4gPiA+ICAgICAgICAgICAg IH07Cj4gPiA+ID4gICAgfTsKPiA+ID4gPgo+ID4gPiA+IFRoZSBSZWdtYXAgY29uZmlnIHdvdWxk IGJlIHByZXNlbnQgaW4gZWFjaCBvZiB0aGUgY2hpbGQgZGV2aWNlcy4KPiA+ID4gPgo+ID4gPiA+ IEVhY2ggY2hpbGQgZGV2aWNlIHdvdWxkIGNhbGwgZGV2bV9yZWdtYXBfaW5pdF9pMmMoKSBpbiAu cHJvYmUoKS4KPiA+ID4KPiA+ID4gQWgsIEkgc2VlLiBJZiBJJ20gbm90IHdyb25nLCB0aGlzIHN0 aWxsIG1lYW5zIHRvIGNyZWF0ZSBhbiBpMmMKPiA+ID4gZGV2aWNlIGRyaXZlciB3aXRoIHRoZSBu YW1lICJzaW1wbGUtbWZkIi4KPiA+Cj4gPiBZZXMsIGl0IGRvZXMuCj4gCj4gVEJDLCB3aGlsZSBm aW5lIGZvciBhIGRyaXZlciB0byBiaW5kIG9uICdzaW1wbGUtbWZkJywgYSBEVCBjb21wYXRpYmxl Cj4gd2l0aCB0aGF0IGFsb25lIGlzIG5vdCBmaW5lLgoKJ3NpbXBsZS1tZmQnIGVzc2VudGlhbGx5 IG1lYW5zOgoKICAiVGhpcyBkZXZpY2UgZG9lc24ndCBkbyBhbnl0aGluZyB1c2VmdWwsIGJ1dCB0 aGUgY2hpbGRyZW4gZG8uIgoKV2hlbiB1c2VkIHdpdGggJ3N5c2NvbicgaXQgbWVhbnM6CgogICJN ZW1vcnkgZm9yIHRoaXMgZGV2aWNlIGlzIHNoYXJlZCBiZXR3ZWVuIGFsbCBjaGlsZHJlbiIKCkFk ZGluZyBtb3JlIHNwZWNpZmljL2Rlc2NyaXB0aXZlIGNvbXBhdGlibGUgc3RyaW5ncyBpcyBjb25j ZXB0dWFsbHkKZmluZSwgYnV0IHRoZXkgc2hvdWxkIG5vdCBiZSBmb3JjZWQgdG8gYmluZCB0byBh IHJlYWwgZHJpdmVyIHVzaW5nCnRoZW0uICBFbHNlIHdlJ3JlIGNyZWF0aW5nIGRyaXZlcnMgZm9y IHRoZSBzYWtlIG9mIGNyZWF0aW5nIGRyaXZlcnMuCgpUaGlzIGlzIGVzcGVjaWFsbHkgdHJ1ZSB3 aXRoICdzaW1wbGUtbWZkJyBpcyB1c2VkIHdpdGhvdXQgJ3N5c2NvbicuCgo+ID4gPiBCZXNpZGVz IHRoYXQsIEkgZG9uJ3QgbGlrZSB0aGlzLCBiZWNhdXNlOgo+ID4gPiAgLSBSb2IgYWxyZWFkeSBl eHByZXNzZWQgaXRzIGNvbmNlcm5zIHdpdGggInNpbXBsZS1tZmQiIGFuZCBzbyBvbi4KPiA+Cj4g PiBXaGVyZSBkaWQgdGhpcyB0YWtlIHBsYWNlPyAgSSdkIGxpa2UgdG8gcmVhZCB1cCBvbiB0aGlz Lgo+ID4KPiA+ID4gIC0geW91IG5lZWQgdG8gZHVwbGljYXRlIHRoZSBjb25maWcgaW4gZWFjaCBz dWIgZGV2aWNlCj4gPgo+ID4gWW91IGNhbiBoYXZlIGEgc2hhcmUgYSBzaW5nbGUgY29uZmlnLgo+ ID4KPiA+ID4gIC0gd2hpY2ggYWxzbyBtZWFucyB5b3UgYXJlIHJlc3RyaWN0aW5nIHRoZSBzdWIg ZGV2aWNlcyB0byBiZQo+ID4gPiAgICBpMmMgb25seSAodW5sZXNzIHlvdSBpbXBsZW1lbnQgYW5k IGR1cGxpY2F0ZSBvdGhlciByZWdtYXAgY29uZmlncywKPiA+ID4gICAgdG9vKS4gRm9yIHRoaXMg ZHJpdmVyLCBTUEkgYW5kIE1NSU8gbWF5IGJlIHZpYWJsZSBvcHRpb25zLgo+ID4KPiA+IFlvdSBj b3VsZCBhbHNvIGhhdmUgYSBzaGFyZWQgaW1wbGVtZW50YXRpb24gdG8gY2hvb3NlIGJldHdlZW4g ZGlmZmVyZW50Cj4gPiBidXNzZXMuCj4gCj4gSSB0aGluayBpdCBpcyByZWFsbHkgdGhlIHN5c2Nv biBtZmQgZHJpdmVyIHlvdSB3YW50IHRvIGdlbmVyYWxpemUgdG8KPiBvdGhlciBidXNlcy4gVGhv dWdoIHdpdGggYSBxdWljayBsb29rIGF0IGl0LCB0aGVyZSdzIG5vdCByZWFsbHkgYQo+IHdob2xl IGxvdCB0byBzaGFyZS4gVGhlIHJlZ21hcCBsb29rdXAgd291bGQgYmUgdGhlIG1haW4gdGhpbmcu IFlvdSBhcmUKPiBnb2luZyB0byBuZWVkIGEgZHJpdmVyIGluc3RhbmNlIGZvciBlYWNoIGJ1cyB0 eXBlLgoKT24gaXQuCgotLSAKTGVlIEpvbmVzIFvmnY7nkLzmlq9dClNlbmlvciBUZWNobmljYWwg TGVhZCAtIERldmVsb3BlciBTZXJ2aWNlcwpMaW5hcm8ub3JnIOKUgiBPcGVuIHNvdXJjZSBzb2Z0 d2FyZSBmb3IgQXJtIFNvQ3MKRm9sbG93IExpbmFybzogRmFjZWJvb2sgfCBUd2l0dGVyIHwgQmxv ZwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgt YXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQu b3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJt LWtlcm5lbAo=