Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752671AbdFMKWt (ORCPT ); Tue, 13 Jun 2017 06:22:49 -0400 Received: from metis.ext.4.pengutronix.de ([92.198.50.35]:54471 "EHLO metis.ext.4.pengutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752078AbdFMKWs (ORCPT ); Tue, 13 Jun 2017 06:22:48 -0400 Date: Tue, 13 Jun 2017 12:22:42 +0200 From: Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= To: Alexander Stein Cc: Shawn Guo , Sascha Hauer , Fabio Estevam , Russell King , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH 1/1] ARM: imx: Enable REGMAP_MMIO per default Message-ID: <20170613102242.adtnoxznpvknw5rb@pengutronix.de> References: <20170607064316.2766-1-alexander.stein@systec-electronic.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20170607064316.2766-1-alexander.stein@systec-electronic.com> User-Agent: Mutt/1.6.2-neo (2016-06-11) X-SA-Exim-Connect-IP: 2001:67c:670:100:1d::c5 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4377 Lines: 119 Hello, On Wed, Jun 07, 2017 at 08:43:16AM +0200, Alexander Stein wrote: > If unset, the gpc drivers fails to link with this error: > drivers/built-in.o: In function `imx_gpc_probe': > core.c:(.text+0x1e16c): undefined reference to > `__devm_regmap_init_mmio_clk' > > As the gpc driver is built when ARCH_MXC is set, enable REGMAP_MMIO in > this case too. > > Signed-off-by: Alexander Stein > Fixes: 721cabf6c660 ("soc: imx: move PGC handling to a new GPC driver") > --- > arch/arm/mach-imx/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig > index 936c59d0e18b..1b8eead0d113 100644 > --- a/arch/arm/mach-imx/Kconfig > +++ b/arch/arm/mach-imx/Kconfig > @@ -7,6 +7,7 @@ menuconfig ARCH_MXC > select GPIOLIB > select PINCTRL > select PM_OPP if PM > + select REGMAP_MMIO > select SOC_BUS > select SRAM > help I wonder if this should be selected nearer to the gpc driver. Something like: ------->8--------- From: Uwe Kleine-K?nig Subject: [PATCH] soc: imx: Introduce Kconfig symbol for gpc driver selecting regmap-mmio This fixes a build failure if REGMAP_MMIO and REGMAP are not enabled: CC drivers/soc/imx/gpc.o drivers/soc/imx/gpc.c:306:21: error: variable 'imx_gpc_regmap_config' has initializer but incomplete type static const struct regmap_config imx_gpc_regmap_config = { ^ drivers/soc/imx/gpc.c:307:2: error: unknown field 'reg_bits' specified in initializer .reg_bits = 32, ^ drivers/soc/imx/gpc.c:307:14: warning: excess elements in struct initializer .reg_bits = 32, ^ drivers/soc/imx/gpc.c:307:14: note: (near initialization for 'imx_gpc_regmap_config') drivers/soc/imx/gpc.c:308:2: error: unknown field 'val_bits' specified in initializer .val_bits = 32, ^ drivers/soc/imx/gpc.c:308:14: warning: excess elements in struct initializer .val_bits = 32, ^ drivers/soc/imx/gpc.c:308:14: note: (near initialization for 'imx_gpc_regmap_config') drivers/soc/imx/gpc.c:309:2: error: unknown field 'reg_stride' specified in initializer .reg_stride = 4, ^ drivers/soc/imx/gpc.c:309:16: warning: excess elements in struct initializer .reg_stride = 4, ^ drivers/soc/imx/gpc.c:309:16: note: (near initialization for 'imx_gpc_regmap_config') drivers/soc/imx/gpc.c:310:2: error: unknown field 'max_register' specified in initializer .max_register = 0x2ac, ^ drivers/soc/imx/gpc.c:310:18: warning: excess elements in struct initializer .max_register = 0x2ac, ^ drivers/soc/imx/gpc.c:310:18: note: (near initialization for 'imx_gpc_regmap_config') drivers/soc/imx/gpc.c: In function 'imx_gpc_probe': drivers/soc/imx/gpc.c:390:11: error: implicit declaration of function 'devm_regmap_init_mmio_clk' [-Werror=implicit-function-declaration] regmap = devm_regmap_init_mmio_clk(&pdev->dev, NULL, base, ^ drivers/soc/imx/gpc.c:390:9: warning: assignment makes pointer from integer without a cast [-Wint-conversion] regmap = devm_regmap_init_mmio_clk(&pdev->dev, NULL, base, ^ cc1: some warnings being treated as errors As an added bonus this symbol is only enabled on imx6 builds as other mxc SoC don't make use of this driver. Fixes: 721cabf6c660 ("soc: imx: move PGC handling to a new GPC driver") Signed-off-by: Uwe Kleine-K?nig --- drivers/soc/imx/Kconfig | 5 +++++ drivers/soc/imx/Makefile | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/soc/imx/Kconfig b/drivers/soc/imx/Kconfig index a5b86a28f343..49f95d8c371f 100644 --- a/drivers/soc/imx/Kconfig +++ b/drivers/soc/imx/Kconfig @@ -1,5 +1,10 @@ menu "i.MX SoC drivers" +config IMX6_PM_DOMAINS + bool + default y if SOC_IMX6 + select REGMAP_MMIO + config IMX7_PM_DOMAINS bool "i.MX7 PM domains" depends on SOC_IMX7D || (COMPILE_TEST && OF) diff --git a/drivers/soc/imx/Makefile b/drivers/soc/imx/Makefile index 5b6e396c1121..ee6857673089 100644 --- a/drivers/soc/imx/Makefile +++ b/drivers/soc/imx/Makefile @@ -1,2 +1,2 @@ -obj-y += gpc.o +obj-$(CONFIG_IMX6_PM_DOMAINS) += gpc.o obj-$(CONFIG_IMX7_PM_DOMAINS) += gpcv2.o -- 2.11.0 -- Pengutronix e.K. | Uwe Kleine-K?nig | Industrial Linux Solutions | http://www.pengutronix.de/ |