From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965552AbdGTPrH (ORCPT ); Thu, 20 Jul 2017 11:47:07 -0400 Received: from mout.kundenserver.de ([217.72.192.74]:56705 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934781AbdGTPrF (ORCPT ); Thu, 20 Jul 2017 11:47:05 -0400 From: Arnd Bergmann To: Imre Kaloz , Krzysztof Halasa Cc: Arnd Bergmann , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 01/12] ARM: ixp4xx: fix ioport_unmap definition Date: Thu, 20 Jul 2017 17:45:55 +0200 Message-Id: <20170720154616.3250481-2-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 In-Reply-To: <20170720154616.3250481-1-arnd@arndb.de> References: <20170720154616.3250481-1-arnd@arndb.de> X-Provags-ID: V03:K0:jZbP+XXynauxDRHgRvTD+GeNJUzkNh2Vlwp6kbVtKFT4pcQ9zZB PoYX+hmEXVU69cNGLHAcyOHASVT83q2j91fYl2vD69ldHUlmB1V/5lHt9rMvj0hmaugYF6k NUmX1Q6fZRvsiNGwSwQMnyfbA3fz+J8yW4oSadhEWu+yR8k6Jy2FaqgrLwuDEa2PAJ0Tyl3 jxy4ERTidEV3eSrgH8wag== X-UI-Out-Filterresults: notjunk:1;V01:K0:uJ9UgK5PlGY=:F9AOVE3LRYWAId9DW1rEoU 8xUr0/vCr3nuOZN62IwngLcUTrs9unGOz03tYrWpHYpNtXiP3e6cy22vJh7ALvcEeGkaYXvii WVqfuofgS8o5To6UXm+P4hvHgFwRLkpACR/imLQvS2T68ogg9YkRCrim4WLfFmby6HsQY2lxc K7hD1HOmAIC3czWRTYa+1Tdt/stEVIy3Ah68WIrPJVdrRLsSMe3ogmbStpo6HDv3Dyyf5lTHo eVveeXnbEIGmLFeLxbOVAXnNH5/AKqoKG2m1bwhxHWzjdwXTRTg9M2wm4bmMweNXZHpdq2xfx HW3HcD+hJyBDs5qDbVtoNwHu2T1P7UdMJEsmLwxSCg/rTx3XJq34Sb+2fu3kqVXu1TeYw1wYO ZRAtIKEJCCYg5+dvAeMcgDElMyaQZDmxPuqIxl0SU4IZCC62jdlCvKgvYx8YvCdRnxmahUI0Q TIQYlvZ1tKKyBtpl2sUwFmdKCSMYPd8DdRXWdPK1peUZGyGZvEJd+7seaJT3YyGF25bCuffb4 oqMmtX3h9yMEaRw4rQuV/WIkLE7LoINqDzwVRzuNbRPejv3TRijfwzYHPiszDN7BY2Z0Bk9q9 zPSA+RKtz3MT9M9u75KtoSriQbRT3ROM3hSOwi4Gt8EqLI0kzfH4ePTvSa0lxIkRAegSeY2In +jEgH1tAzvuXoozmGwgflWsb0ruLBv0VVfjyIwGqRtuDvsBGsTS5xOS0tFDvpORZ1BoLJYRyN p7YxCPow9ZpiEbzkkzHPynW4Sq2svtBJ96vR/w== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org An empty macro definition can cause unexpected behavior, in case of the ixp4xx ioport_unmap, we get two warnings: drivers/net/wireless/marvell/libertas/if_cs.c: In function 'if_cs_release': drivers/net/wireless/marvell/libertas/if_cs.c:826:3: error: suggest braces around empty body in an 'if' statement [-Werror=empty-body] ioport_unmap(card->iobase); drivers/vfio/pci/vfio_pci_rdwr.c: In function 'vfio_pci_vga_rw': drivers/vfio/pci/vfio_pci_rdwr.c:230:15: error: the omitted middle operand in ?: will always be 'true', suggest explicit middle operand [-Werror=parentheses] is_ioport ? ioport_unmap(iomem) : iounmap(iomem); This uses an inline function to define the macro in a safer way. Signed-off-by: Arnd Bergmann --- arch/arm/mach-ixp4xx/include/mach/io.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-ixp4xx/include/mach/io.h b/arch/arm/mach-ixp4xx/include/mach/io.h index 7a0c13bf4269..2f84c26a6758 100644 --- a/arch/arm/mach-ixp4xx/include/mach/io.h +++ b/arch/arm/mach-ixp4xx/include/mach/io.h @@ -523,8 +523,15 @@ static inline void iowrite32_rep(void __iomem *addr, const void *vaddr, #endif } -#define ioport_map(port, nr) ((void __iomem*)(port + PIO_OFFSET)) -#define ioport_unmap(addr) +#define ioport_map(port, nr) ioport_map(port, nr) +static inline void __iomem *ioport_map(unsigned long port, unsigned int nr) +{ + return ((void __iomem*)((port) + PIO_OFFSET)); +} +#define ioport_unmap(addr) ioport_unmap(addr) +static inline void ioport_unmap(void __iomem *addr) +{ +} #endif /* CONFIG_PCI */ #endif /* __ASM_ARM_ARCH_IO_H */ -- 2.9.0