From patchwork Mon Dec 3 23:40:10 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 1835721 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) by patchwork2.kernel.org (Postfix) with ESMTP id 98F2ADF2F9 for ; Mon, 3 Dec 2012 23:43:03 +0000 (UTC) Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1Tffcp-0002El-3d; Mon, 03 Dec 2012 23:40:35 +0000 Received: from moutng.kundenserver.de ([212.227.126.187]) by merlin.infradead.org with esmtps (Exim 4.76 #1 (Red Hat Linux)) id 1Tffcl-0002Dh-19 for linux-arm-kernel@lists.infradead.org; Mon, 03 Dec 2012 23:40:32 +0000 Received: from klappe2.localnet (HSI-KBW-46-223-46-140.hsi.kabel-badenwuerttemberg.de [46.223.46.140]) by mrelayeu.kundenserver.de (node=mrbap4) with ESMTP (Nemesis) id 0LlVhP-1T5nEs3ZbT-00b7yS; Tue, 04 Dec 2012 00:40:18 +0100 From: Arnd Bergmann To: Alexander Shiyan Subject: Re: Re[4]: [PATCH] ARM: ixp4xx: Add "ask" handler for timer interrupts Date: Mon, 3 Dec 2012 23:40:10 +0000 User-Agent: KMail/1.12.2 (Linux/3.5.0; KDE/4.3.2; x86_64; ; ) References: <1354347213-22237-1-git-send-email-shc_work@mail.ru> <201212021313.37790.arnd@arndb.de> <1354456544.242756864@f360.mail.ru> In-Reply-To: <1354456544.242756864@f360.mail.ru> MIME-Version: 1.0 Message-Id: <201212032340.11053.arnd@arndb.de> X-Provags-ID: V02:K0:En36N0f93mtRFusHIcVOi/G7otfkMOYpRTjHIcac9hW sRKsQ/BvlJzlSq4azj+psgsblYXPTt+Sdo3f0mIb/vbma4udG/ DZ6w1uJSvPQPlnJdio+P2k65YtcMRMOQ9HYQm/jgwDWsf0fg+0 r5PqFH95keDJYG0KvWKTp4ctHU98z8IIL7D49VrFaHvlXQnX/8 fhAPBwlEnh05OMnDn1nowEbh+7X1Krl0d5dC0pF6JV/dX6oiLz YLoJqnJne52Q0xgVQuAt9/9L2cThu0x2dMYQPyg95TKaJteL+q SxU90BS0YtnwmVdhY6im2cpGOOS+zgYiFkf6T+sxgliU6Fwg9A fNM+zruMaSo4UfGVhv0o= X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20121203_184031_385774_BC2B4171 X-CRM114-Status: GOOD ( 14.08 ) X-Spam-Score: -1.9 (-) X-Spam-Report: SpamAssassin version 3.3.2 on merlin.infradead.org summary: Content analysis details: (-1.9 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [212.227.126.187 listed in list.dnswl.org] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] Cc: Russell King , Jason Cooper , Dmitry Torokhov , Olof Johansson , Imre Kaloz , linux-arm-kernel@lists.infradead.org, Krzysztof Halasa X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-arm-kernel-bounces@lists.infradead.org Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org On Sunday 02 December 2012, Alexander Shiyan wrote: > > > > -#define IXP4XX_EXP_REG(x) ((volatile u32 __iomem *)(IXP4XX_EXP_CFG_BASE_VIRT+(x))) > > > > +#define IXP4XX_EXP_REG(x) (IXP4XX_EXP_CFG_BASE_VIRT+(x)) > > > Modify this to: > > > #define IXP4XX_EXP_REG(x) IOMEM(IXP4XX_EXP_CFG_BASE_VIRT+(x)) > > > to avoid compiler warnings. > > > > > > > Hmm, not sure what went wrong here. Actually the definition of > > IXP4XX_EXP_CFG_BASE_VIRT itself should use the IOMEM() macro, like > > all the other IXP4XX_*_BASE_VIRT do. > > But without this is produce warnings: > CC arch/arm/common/dmabounce.o > In file included from arch/arm/mach-ixp4xx/include/mach/hardware.h:30, > from arch/arm/mach-ixp4xx/include/mach/io.h:18, > from /home/git/linux-next/arch/arm/include/asm/io.h:180, > from include/linux/scatterlist.h:10, > from include/linux/dma-mapping.h:9, > from arch/arm/common/dmabounce.c:30: > arch/arm/mach-ixp4xx/include/mach/cpu.h: In function 'ixp4xx_read_feature_bits': > arch/arm/mach-ixp4xx/include/mach/cpu.h:41: warning: passing argument 1 of '__raw_readl' makes pointer from integer without a cast > arch/arm/mach-ixp4xx/include/mach/cpu.h: In function 'ixp4xx_write_feature_bits': > arch/arm/mach-ixp4xx/include/mach/cpu.h:55: warning: passing argument 2 of '__raw_writel' makes pointer from integer without a cast > I understand what the problem is, my point was that a better solution is to do instead of your suggested fix, because that matches how all the other _VIRT macros in that file are defined. I found now that it was correct until recently, but b7b23db72f accidentally broke it while fixing the MMIO location. Arnd diff --git a/arch/arm/mach-ixp4xx/include/mach/ixp4xx-regs.h b/arch/arm/mach-ixp4xx/include/mach/ixp4xx-regs.h index c5bae9c..daf5c4e 100644 --- a/arch/arm/mach-ixp4xx/include/mach/ixp4xx-regs.h +++ b/arch/arm/mach-ixp4xx/include/mach/ixp4xx-regs.h @@ -65,7 +65,7 @@ * Expansion BUS Configuration registers */ #define IXP4XX_EXP_CFG_BASE_PHYS 0xC4000000 -#define IXP4XX_EXP_CFG_BASE_VIRT 0xFEF14000 +#define IXP4XX_EXP_CFG_BASE_VIRT IOMEM(0xFEF14000) #define IXP4XX_EXP_CFG_REGION_SIZE 0x00001000 #define IXP4XX_EXP_CS0_OFFSET 0x00