From: Arnd Bergmann <arnd@kernel.org> To: linux-omap@vger.kernel.org, tony@atomide.com, aaro.koskinen@iki.fi, jmkrzyszt@gmail.com Cc: Ulf Hansson <ulf.hansson@linaro.org>, Dmitry Torokhov <dmitry.torokhov@gmail.com>, linux-fbdev@vger.kernel.org, Dominik Brodowski <linux@dominikbrodowski.net>, Lee Jones <lee.jones@linaro.org>, Daniel Thompson <daniel.thompson@linaro.org>, Kevin Hilman <khilman@kernel.org>, Peter Ujfalusi <peter.ujfalusi@gmail.com>, Helge Deller <deller@gmx.de>, Russell King <linux@armlinux.org.uk>, Krzysztof Kozlowski <krzk@kernel.org>, Alan Stern <stern@rowland.harvard.edu>, linux-serial@vger.kernel.org, linux-input@vger.kernel.org, Arnd Bergmann <arnd@arndb.de>, Mark Brown <broonie@kernel.org>, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, Felipe Balbi <balbi@kernel.org>, Paul Walmsley <paul@pwsan.com>, Jingoo Han <jingoohan1@gmail.com>, linux-usb@vger.kernel.org, linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, Vinod Koul <vkoul@kernel.org>, dmaengine@vger.kernel.org, alsa-devel@alsa-project.org Subject: [PATCH 27/41] ARM: omap1: use pci_remap_iospace() for omap_cf Date: Tue, 19 Apr 2022 15:37:09 +0200 [thread overview] Message-ID: <20220419133723.1394715-28-arnd@kernel.org> (raw) In-Reply-To: <20220419133723.1394715-1-arnd@kernel.org> From: Arnd Bergmann <arnd@arndb.de> The ISA I/O space handling in omap_cf is incompatible with PCI drivers in a multiplatform kernel, and requires a custom mach/io.h. Change the driver to use pci_remap_iospace() like PCI drivers do, so the generic ioport access can work across platforms. To actually use that code, we have to select CONFIG_PCI here. Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- arch/arm/Kconfig | 2 +- arch/arm/mach-omap1/include/mach/io.h | 45 --------------------------- drivers/pcmcia/omap_cf.c | 10 +++--- 3 files changed, 5 insertions(+), 52 deletions(-) delete mode 100644 arch/arm/mach-omap1/include/mach/io.h diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 700655e31b04..a57ad0928edc 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -487,11 +487,11 @@ config ARCH_OMAP1 bool "TI OMAP1" select ARCH_OMAP select CLKSRC_MMIO + select FORCE_PCI if PCCARD select GENERIC_IRQ_CHIP select GPIOLIB select HAVE_LEGACY_CLK select IRQ_DOMAIN - select NEED_MACH_IO_H if PCCARD select NEED_MACH_MEMORY_H select SPARSE_IRQ help diff --git a/arch/arm/mach-omap1/include/mach/io.h b/arch/arm/mach-omap1/include/mach/io.h deleted file mode 100644 index ce4f8005b26f..000000000000 --- a/arch/arm/mach-omap1/include/mach/io.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * arch/arm/mach-omap1/include/mach/io.h - * - * IO definitions for TI OMAP processors and boards - * - * Copied from arch/arm/mach-sa1100/include/mach/io.h - * Copyright (C) 1997-1999 Russell King - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN - * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 675 Mass Ave, Cambridge, MA 02139, USA. - * - * Modifications: - * 06-12-1997 RMK Created. - * 07-04-1999 RMK Major cleanup - */ - -#ifndef __ASM_ARM_ARCH_IO_H -#define __ASM_ARM_ARCH_IO_H - -#define IO_SPACE_LIMIT 0xffffffff - -/* - * We don't actually have real ISA nor PCI buses, but there is so many - * drivers out there that might just work if we fake them... - */ -#define __io(a) __typesafe_io(a) - -#endif diff --git a/drivers/pcmcia/omap_cf.c b/drivers/pcmcia/omap_cf.c index 093022ce7d91..1972a8f6fa8e 100644 --- a/drivers/pcmcia/omap_cf.c +++ b/drivers/pcmcia/omap_cf.c @@ -205,6 +205,7 @@ static int __init omap_cf_probe(struct platform_device *pdev) int irq; int status; struct resource *res; + struct resource iospace = DEFINE_RES_IO(SZ_64, SZ_4K); seg = (int) pdev->dev.platform_data; if (seg == 0 || seg > 3) @@ -235,9 +236,9 @@ static int __init omap_cf_probe(struct platform_device *pdev) cf->phys_cf = res->start; /* pcmcia layer only remaps "real" memory */ - cf->socket.io_offset = (unsigned long) - ioremap(cf->phys_cf + SZ_4K, SZ_2K); - if (!cf->socket.io_offset) { + cf->socket.io_offset = iospace.start; + status = pci_remap_iospace(&iospace, cf->phys_cf + SZ_4K); + if (status) { status = -ENOMEM; goto fail1; } @@ -285,8 +286,6 @@ static int __init omap_cf_probe(struct platform_device *pdev) fail2: release_mem_region(cf->phys_cf, SZ_8K); fail1: - if (cf->socket.io_offset) - iounmap((void __iomem *) cf->socket.io_offset); free_irq(irq, cf); fail0: kfree(cf); @@ -300,7 +299,6 @@ static int __exit omap_cf_remove(struct platform_device *pdev) cf->active = 0; pcmcia_unregister_socket(&cf->socket); del_timer_sync(&cf->timer); - iounmap((void __iomem *) cf->socket.io_offset); release_mem_region(cf->phys_cf, SZ_8K); free_irq(cf->irq, cf); kfree(cf); -- 2.29.2
WARNING: multiple messages have this Message-ID
From: Arnd Bergmann <arnd@kernel.org> To: linux-omap@vger.kernel.org, tony@atomide.com, aaro.koskinen@iki.fi, jmkrzyszt@gmail.com Cc: Arnd Bergmann <arnd@arndb.de>, Russell King <linux@armlinux.org.uk>, Paul Walmsley <paul@pwsan.com>, Kevin Hilman <khilman@kernel.org>, Peter Ujfalusi <peter.ujfalusi@gmail.com>, Vinod Koul <vkoul@kernel.org>, Dmitry Torokhov <dmitry.torokhov@gmail.com>, Ulf Hansson <ulf.hansson@linaro.org>, Dominik Brodowski <linux@dominikbrodowski.net>, Mark Brown <broonie@kernel.org>, Felipe Balbi <balbi@kernel.org>, Alan Stern <stern@rowland.harvard.edu>, Lee Jones <lee.jones@linaro.org>, Daniel Thompson <daniel.thompson@linaro.org>, Jingoo Han <jingoohan1@gmail.com>, Helge Deller <deller@gmx.de>, Linus Walleij <linus.walleij@linaro.org>, Krzysztof Kozlowski <krzk@kernel.org>, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, dmaengine@vger.kernel.org, linux-input@vger.kernel.org, linux-mmc@vger.kernel.org, linux-serial@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org, alsa-devel@alsa-project.org Subject: [PATCH 27/41] ARM: omap1: use pci_remap_iospace() for omap_cf Date: Tue, 19 Apr 2022 15:37:09 +0200 [thread overview] Message-ID: <20220419133723.1394715-28-arnd@kernel.org> (raw) In-Reply-To: <20220419133723.1394715-1-arnd@kernel.org> From: Arnd Bergmann <arnd@arndb.de> The ISA I/O space handling in omap_cf is incompatible with PCI drivers in a multiplatform kernel, and requires a custom mach/io.h. Change the driver to use pci_remap_iospace() like PCI drivers do, so the generic ioport access can work across platforms. To actually use that code, we have to select CONFIG_PCI here. Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- arch/arm/Kconfig | 2 +- arch/arm/mach-omap1/include/mach/io.h | 45 --------------------------- drivers/pcmcia/omap_cf.c | 10 +++--- 3 files changed, 5 insertions(+), 52 deletions(-) delete mode 100644 arch/arm/mach-omap1/include/mach/io.h diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 700655e31b04..a57ad0928edc 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -487,11 +487,11 @@ config ARCH_OMAP1 bool "TI OMAP1" select ARCH_OMAP select CLKSRC_MMIO + select FORCE_PCI if PCCARD select GENERIC_IRQ_CHIP select GPIOLIB select HAVE_LEGACY_CLK select IRQ_DOMAIN - select NEED_MACH_IO_H if PCCARD select NEED_MACH_MEMORY_H select SPARSE_IRQ help diff --git a/arch/arm/mach-omap1/include/mach/io.h b/arch/arm/mach-omap1/include/mach/io.h deleted file mode 100644 index ce4f8005b26f..000000000000 --- a/arch/arm/mach-omap1/include/mach/io.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * arch/arm/mach-omap1/include/mach/io.h - * - * IO definitions for TI OMAP processors and boards - * - * Copied from arch/arm/mach-sa1100/include/mach/io.h - * Copyright (C) 1997-1999 Russell King - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN - * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 675 Mass Ave, Cambridge, MA 02139, USA. - * - * Modifications: - * 06-12-1997 RMK Created. - * 07-04-1999 RMK Major cleanup - */ - -#ifndef __ASM_ARM_ARCH_IO_H -#define __ASM_ARM_ARCH_IO_H - -#define IO_SPACE_LIMIT 0xffffffff - -/* - * We don't actually have real ISA nor PCI buses, but there is so many - * drivers out there that might just work if we fake them... - */ -#define __io(a) __typesafe_io(a) - -#endif diff --git a/drivers/pcmcia/omap_cf.c b/drivers/pcmcia/omap_cf.c index 093022ce7d91..1972a8f6fa8e 100644 --- a/drivers/pcmcia/omap_cf.c +++ b/drivers/pcmcia/omap_cf.c @@ -205,6 +205,7 @@ static int __init omap_cf_probe(struct platform_device *pdev) int irq; int status; struct resource *res; + struct resource iospace = DEFINE_RES_IO(SZ_64, SZ_4K); seg = (int) pdev->dev.platform_data; if (seg == 0 || seg > 3) @@ -235,9 +236,9 @@ static int __init omap_cf_probe(struct platform_device *pdev) cf->phys_cf = res->start; /* pcmcia layer only remaps "real" memory */ - cf->socket.io_offset = (unsigned long) - ioremap(cf->phys_cf + SZ_4K, SZ_2K); - if (!cf->socket.io_offset) { + cf->socket.io_offset = iospace.start; + status = pci_remap_iospace(&iospace, cf->phys_cf + SZ_4K); + if (status) { status = -ENOMEM; goto fail1; } @@ -285,8 +286,6 @@ static int __init omap_cf_probe(struct platform_device *pdev) fail2: release_mem_region(cf->phys_cf, SZ_8K); fail1: - if (cf->socket.io_offset) - iounmap((void __iomem *) cf->socket.io_offset); free_irq(irq, cf); fail0: kfree(cf); @@ -300,7 +299,6 @@ static int __exit omap_cf_remove(struct platform_device *pdev) cf->active = 0; pcmcia_unregister_socket(&cf->socket); del_timer_sync(&cf->timer); - iounmap((void __iomem *) cf->socket.io_offset); release_mem_region(cf->phys_cf, SZ_8K); free_irq(cf->irq, cf); kfree(cf); -- 2.29.2
WARNING: multiple messages have this Message-ID
From: Arnd Bergmann <arnd@kernel.org> To: linux-omap@vger.kernel.org, tony@atomide.com, aaro.koskinen@iki.fi, jmkrzyszt@gmail.com Cc: Ulf Hansson <ulf.hansson@linaro.org>, Dmitry Torokhov <dmitry.torokhov@gmail.com>, Linus Walleij <linus.walleij@linaro.org>, linux-fbdev@vger.kernel.org, Dominik Brodowski <linux@dominikbrodowski.net>, Lee Jones <lee.jones@linaro.org>, Daniel Thompson <daniel.thompson@linaro.org>, Kevin Hilman <khilman@kernel.org>, Peter Ujfalusi <peter.ujfalusi@gmail.com>, Helge Deller <deller@gmx.de>, Russell King <linux@armlinux.org.uk>, Krzysztof Kozlowski <krzk@kernel.org>, Alan Stern <stern@rowland.harvard.edu>, linux-serial@vger.kernel.org, linux-input@vger.kernel.org, Arnd Bergmann <arnd@arndb.de>, Mark Brown <broonie@kernel.org>, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, Felipe Balbi <balbi@kernel.org>, Paul Walmsley <paul@pwsan.com>, Jingoo Han <jingoohan1@gmail.com>, linux-usb@vger.kernel.org, linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, Vinod Koul <vkoul@kernel.org>, dmaengine@vger.kernel.org, alsa-devel@alsa-project.org Subject: [PATCH 27/41] ARM: omap1: use pci_remap_iospace() for omap_cf Date: Tue, 19 Apr 2022 15:37:09 +0200 [thread overview] Message-ID: <20220419133723.1394715-28-arnd@kernel.org> (raw) In-Reply-To: <20220419133723.1394715-1-arnd@kernel.org> From: Arnd Bergmann <arnd@arndb.de> The ISA I/O space handling in omap_cf is incompatible with PCI drivers in a multiplatform kernel, and requires a custom mach/io.h. Change the driver to use pci_remap_iospace() like PCI drivers do, so the generic ioport access can work across platforms. To actually use that code, we have to select CONFIG_PCI here. Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- arch/arm/Kconfig | 2 +- arch/arm/mach-omap1/include/mach/io.h | 45 --------------------------- drivers/pcmcia/omap_cf.c | 10 +++--- 3 files changed, 5 insertions(+), 52 deletions(-) delete mode 100644 arch/arm/mach-omap1/include/mach/io.h diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 700655e31b04..a57ad0928edc 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -487,11 +487,11 @@ config ARCH_OMAP1 bool "TI OMAP1" select ARCH_OMAP select CLKSRC_MMIO + select FORCE_PCI if PCCARD select GENERIC_IRQ_CHIP select GPIOLIB select HAVE_LEGACY_CLK select IRQ_DOMAIN - select NEED_MACH_IO_H if PCCARD select NEED_MACH_MEMORY_H select SPARSE_IRQ help diff --git a/arch/arm/mach-omap1/include/mach/io.h b/arch/arm/mach-omap1/include/mach/io.h deleted file mode 100644 index ce4f8005b26f..000000000000 --- a/arch/arm/mach-omap1/include/mach/io.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * arch/arm/mach-omap1/include/mach/io.h - * - * IO definitions for TI OMAP processors and boards - * - * Copied from arch/arm/mach-sa1100/include/mach/io.h - * Copyright (C) 1997-1999 Russell King - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN - * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 675 Mass Ave, Cambridge, MA 02139, USA. - * - * Modifications: - * 06-12-1997 RMK Created. - * 07-04-1999 RMK Major cleanup - */ - -#ifndef __ASM_ARM_ARCH_IO_H -#define __ASM_ARM_ARCH_IO_H - -#define IO_SPACE_LIMIT 0xffffffff - -/* - * We don't actually have real ISA nor PCI buses, but there is so many - * drivers out there that might just work if we fake them... - */ -#define __io(a) __typesafe_io(a) - -#endif diff --git a/drivers/pcmcia/omap_cf.c b/drivers/pcmcia/omap_cf.c index 093022ce7d91..1972a8f6fa8e 100644 --- a/drivers/pcmcia/omap_cf.c +++ b/drivers/pcmcia/omap_cf.c @@ -205,6 +205,7 @@ static int __init omap_cf_probe(struct platform_device *pdev) int irq; int status; struct resource *res; + struct resource iospace = DEFINE_RES_IO(SZ_64, SZ_4K); seg = (int) pdev->dev.platform_data; if (seg == 0 || seg > 3) @@ -235,9 +236,9 @@ static int __init omap_cf_probe(struct platform_device *pdev) cf->phys_cf = res->start; /* pcmcia layer only remaps "real" memory */ - cf->socket.io_offset = (unsigned long) - ioremap(cf->phys_cf + SZ_4K, SZ_2K); - if (!cf->socket.io_offset) { + cf->socket.io_offset = iospace.start; + status = pci_remap_iospace(&iospace, cf->phys_cf + SZ_4K); + if (status) { status = -ENOMEM; goto fail1; } @@ -285,8 +286,6 @@ static int __init omap_cf_probe(struct platform_device *pdev) fail2: release_mem_region(cf->phys_cf, SZ_8K); fail1: - if (cf->socket.io_offset) - iounmap((void __iomem *) cf->socket.io_offset); free_irq(irq, cf); fail0: kfree(cf); @@ -300,7 +299,6 @@ static int __exit omap_cf_remove(struct platform_device *pdev) cf->active = 0; pcmcia_unregister_socket(&cf->socket); del_timer_sync(&cf->timer); - iounmap((void __iomem *) cf->socket.io_offset); release_mem_region(cf->phys_cf, SZ_8K); free_irq(cf->irq, cf); kfree(cf); -- 2.29.2
WARNING: multiple messages have this Message-ID
From: Arnd Bergmann <arnd@kernel.org> To: linux-omap@vger.kernel.org, tony@atomide.com, aaro.koskinen@iki.fi, jmkrzyszt@gmail.com Cc: Arnd Bergmann <arnd@arndb.de>, Russell King <linux@armlinux.org.uk>, Paul Walmsley <paul@pwsan.com>, Kevin Hilman <khilman@kernel.org>, Peter Ujfalusi <peter.ujfalusi@gmail.com>, Vinod Koul <vkoul@kernel.org>, Dmitry Torokhov <dmitry.torokhov@gmail.com>, Ulf Hansson <ulf.hansson@linaro.org>, Dominik Brodowski <linux@dominikbrodowski.net>, Mark Brown <broonie@kernel.org>, Felipe Balbi <balbi@kernel.org>, Alan Stern <stern@rowland.harvard.edu>, Lee Jones <lee.jones@linaro.org>, Daniel Thompson <daniel.thompson@linaro.org>, Jingoo Han <jingoohan1@gmail.com>, Helge Deller <deller@gmx.de>, Linus Walleij <linus.walleij@linaro.org>, Krzysztof Kozlowski <krzk@kernel.org>, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, dmaengine@vger.kernel.org, linux-input@vger.kernel.org, linux-mmc@vger.kernel.org, linux-serial@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org, alsa-devel@alsa-project.org Subject: [PATCH 27/41] ARM: omap1: use pci_remap_iospace() for omap_cf Date: Tue, 19 Apr 2022 15:37:09 +0200 [thread overview] Message-ID: <20220419133723.1394715-28-arnd@kernel.org> (raw) In-Reply-To: <20220419133723.1394715-1-arnd@kernel.org> From: Arnd Bergmann <arnd@arndb.de> The ISA I/O space handling in omap_cf is incompatible with PCI drivers in a multiplatform kernel, and requires a custom mach/io.h. Change the driver to use pci_remap_iospace() like PCI drivers do, so the generic ioport access can work across platforms. To actually use that code, we have to select CONFIG_PCI here. Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- arch/arm/Kconfig | 2 +- arch/arm/mach-omap1/include/mach/io.h | 45 --------------------------- drivers/pcmcia/omap_cf.c | 10 +++--- 3 files changed, 5 insertions(+), 52 deletions(-) delete mode 100644 arch/arm/mach-omap1/include/mach/io.h diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 700655e31b04..a57ad0928edc 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -487,11 +487,11 @@ config ARCH_OMAP1 bool "TI OMAP1" select ARCH_OMAP select CLKSRC_MMIO + select FORCE_PCI if PCCARD select GENERIC_IRQ_CHIP select GPIOLIB select HAVE_LEGACY_CLK select IRQ_DOMAIN - select NEED_MACH_IO_H if PCCARD select NEED_MACH_MEMORY_H select SPARSE_IRQ help diff --git a/arch/arm/mach-omap1/include/mach/io.h b/arch/arm/mach-omap1/include/mach/io.h deleted file mode 100644 index ce4f8005b26f..000000000000 --- a/arch/arm/mach-omap1/include/mach/io.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * arch/arm/mach-omap1/include/mach/io.h - * - * IO definitions for TI OMAP processors and boards - * - * Copied from arch/arm/mach-sa1100/include/mach/io.h - * Copyright (C) 1997-1999 Russell King - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN - * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 675 Mass Ave, Cambridge, MA 02139, USA. - * - * Modifications: - * 06-12-1997 RMK Created. - * 07-04-1999 RMK Major cleanup - */ - -#ifndef __ASM_ARM_ARCH_IO_H -#define __ASM_ARM_ARCH_IO_H - -#define IO_SPACE_LIMIT 0xffffffff - -/* - * We don't actually have real ISA nor PCI buses, but there is so many - * drivers out there that might just work if we fake them... - */ -#define __io(a) __typesafe_io(a) - -#endif diff --git a/drivers/pcmcia/omap_cf.c b/drivers/pcmcia/omap_cf.c index 093022ce7d91..1972a8f6fa8e 100644 --- a/drivers/pcmcia/omap_cf.c +++ b/drivers/pcmcia/omap_cf.c @@ -205,6 +205,7 @@ static int __init omap_cf_probe(struct platform_device *pdev) int irq; int status; struct resource *res; + struct resource iospace = DEFINE_RES_IO(SZ_64, SZ_4K); seg = (int) pdev->dev.platform_data; if (seg == 0 || seg > 3) @@ -235,9 +236,9 @@ static int __init omap_cf_probe(struct platform_device *pdev) cf->phys_cf = res->start; /* pcmcia layer only remaps "real" memory */ - cf->socket.io_offset = (unsigned long) - ioremap(cf->phys_cf + SZ_4K, SZ_2K); - if (!cf->socket.io_offset) { + cf->socket.io_offset = iospace.start; + status = pci_remap_iospace(&iospace, cf->phys_cf + SZ_4K); + if (status) { status = -ENOMEM; goto fail1; } @@ -285,8 +286,6 @@ static int __init omap_cf_probe(struct platform_device *pdev) fail2: release_mem_region(cf->phys_cf, SZ_8K); fail1: - if (cf->socket.io_offset) - iounmap((void __iomem *) cf->socket.io_offset); free_irq(irq, cf); fail0: kfree(cf); @@ -300,7 +299,6 @@ static int __exit omap_cf_remove(struct platform_device *pdev) cf->active = 0; pcmcia_unregister_socket(&cf->socket); del_timer_sync(&cf->timer); - iounmap((void __iomem *) cf->socket.io_offset); release_mem_region(cf->phys_cf, SZ_8K); free_irq(cf->irq, cf); kfree(cf); -- 2.29.2 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2022-04-19 13:41 UTC|newest] Thread overview: 245+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-04-19 13:36 [PATCH 00/41] OMAP1 full multiplatform conversion Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` [PATCH 01/41] video: fbdev: omapfb: lcd_ams_delta: fix unused variable warning Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-20 9:24 ` Sergei Shtylyov 2022-04-20 9:24 ` Sergei Shtylyov 2022-04-20 9:24 ` Sergei Shtylyov 2022-04-20 9:24 ` Sergei Shtylyov 2022-04-20 11:32 ` Arnd Bergmann 2022-04-20 11:32 ` Arnd Bergmann 2022-04-20 11:32 ` Arnd Bergmann 2022-04-20 11:32 ` Arnd Bergmann 2022-04-19 13:36 ` [PATCH 02/41] ARM: omap1: innovator: pass lcd control address as pdata Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` [PATCH 03/41] ARM: omap1: move lcd_dma code into omapfb driver Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` [PATCH 04/41] ARM: omap1: declare a dummy omap_set_dma_priority Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` [PATCH 05/41] fbdev: omap: pass irqs as resource Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` [PATCH 06/41] ARM: omap1: ams-delta: remove camera leftovers Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` [PATCH 07/41] ARM: omap1: move mach/usb.h to include/linux/soc Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` [PATCH 08/41] ARM: omap1: move some headers " Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` [PATCH 09/41] ARM: omap1: move perseus spi pinconf to board file Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` [PATCH 10/41] ARM: omap1: move CF chipselect setup " Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` [PATCH 11/41] fbdev: omap: avoid using mach/*.h files Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` [PATCH 12/41] usb: omap: avoid mach/*.h headers Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` [PATCH 13/41] clocksource: ti-dmtimer: avoid using mach/hardware.h Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` [PATCH 14/41] serial: 8250/omap1: include linux/soc/ti/omap1-soc.h Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-20 14:46 ` Greg KH 2022-04-20 14:46 ` Greg KH 2022-04-20 14:46 ` Greg KH 2022-04-20 14:46 ` Greg KH 2022-04-19 13:36 ` [PATCH 15/41] input: omap: void using mach/*.h headers Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-20 20:44 ` Dmitry Torokhov 2022-04-20 20:44 ` Dmitry Torokhov 2022-04-20 20:44 ` Dmitry Torokhov 2022-04-20 20:44 ` Dmitry Torokhov 2022-04-19 13:36 ` [PATCH 16/41] ARM: omap1: innovator: move ohci phy power handling to board file Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` [PATCH 17/41] ARM: omap1: move 32k counter from plat-omap to mach-omap1 Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-19 13:36 ` Arnd Bergmann 2022-04-21 6:17 ` Tony Lindgren 2022-04-21 6:17 ` Tony Lindgren 2022-04-21 6:17 ` Tony Lindgren 2022-04-21 6:17 ` Tony Lindgren 2022-04-19 13:37 ` [PATCH 18/41] ARM: omap: remove debug-leds driver Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` [PATCH 19/41] ARM: omap: dma: make usb support optional Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-29 19:24 ` Péter Ujfalusi 2022-04-29 19:24 ` Péter Ujfalusi 2022-04-29 19:24 ` Péter Ujfalusi 2022-04-19 13:37 ` [PATCH 20/41] dma: omap: hide legacy interface Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-22 5:55 ` Vinod Koul 2022-04-22 5:55 ` Vinod Koul 2022-04-22 5:55 ` Vinod Koul 2022-04-22 5:55 ` Vinod Koul 2022-04-19 13:37 ` [PATCH 21/41] ARM: omap1: dma: remove omap2 specific bits Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-29 19:26 ` Péter Ujfalusi 2022-04-29 19:26 ` Péter Ujfalusi 2022-04-29 19:26 ` Péter Ujfalusi 2022-04-19 13:37 ` [PATCH 22/41] ARM: omap1: move plat/dma.c to mach/omap-dma.c Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-29 19:36 ` Péter Ujfalusi 2022-04-29 19:36 ` Péter Ujfalusi 2022-04-29 19:36 ` Péter Ujfalusi 2022-04-19 13:37 ` [PATCH 23/41] ARM: omap: split up arch/arm/plat-omap/Kconfig Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` [PATCH 24/41] ARM: omap: un-merge plat/sram.c Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-21 6:32 ` Tony Lindgren 2022-04-21 6:32 ` Tony Lindgren 2022-04-21 6:32 ` Tony Lindgren 2022-04-21 6:32 ` Tony Lindgren 2022-04-19 13:37 ` [PATCH 25/41] ARM: omap: remove empty plat-omap directory Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` [PATCH 26/41] ARM: omap1: relocate static I/O mapping Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-20 13:46 ` Aaro Koskinen 2022-04-20 13:46 ` Aaro Koskinen 2022-04-20 13:46 ` Aaro Koskinen 2022-04-20 13:46 ` Aaro Koskinen 2022-04-20 19:20 ` Arnd Bergmann 2022-04-20 19:20 ` Arnd Bergmann 2022-04-20 19:20 ` Arnd Bergmann 2022-04-20 19:20 ` Arnd Bergmann 2022-04-21 5:19 ` Tony Lindgren 2022-04-21 5:19 ` Tony Lindgren 2022-04-21 5:19 ` Tony Lindgren 2022-04-21 5:19 ` Tony Lindgren 2022-04-19 13:37 ` Arnd Bergmann [this message] 2022-04-19 13:37 ` [PATCH 27/41] ARM: omap1: use pci_remap_iospace() for omap_cf Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` [PATCH 28/41] ARM: omap1: move mach/*.h into mach directory Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` [PATCH 29/41] ARM: omap1: fix build with no SoC selected Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` [PATCH 30/41] ARM: OMAP1: Prepare for conversion of OMAP1 clocks to CCF Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` [PATCH 31/41] ARM: OMAP1: clock: Fix early UART rate issues Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` [PATCH 32/41] ARM: OMAP1: clock: Fix UART rate reporting algorithm Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` [PATCH 33/41] ARM: OMAP1: clock: Remove unused code Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` [PATCH 34/41] ARM: OMAP1: clock: Remove noop code Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` [PATCH 35/41] usb: host: ohci-omap: Make it CCF clk API compatible Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` [PATCH 36/41] usb: gadget: omap_udc: " Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` [PATCH 37/41] [MERGED] video: fbdev: omap: " Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` [PATCH 38/41] [MERGED] mmc: " Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` [PATCH 39/41] [MERGED] ASoC: ti: osk5912: " Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` [PATCH 40/41] [TO BE REBASED] ARM: OMAP1: clock: Convert to CCF Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-21 6:24 ` Tony Lindgren 2022-04-21 6:24 ` Tony Lindgren 2022-04-21 6:24 ` Tony Lindgren 2022-04-21 6:24 ` Tony Lindgren 2022-04-19 13:37 ` [PATCH 41/41] [TO BE REBASED] ARM: omap1: enable multiplatform Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 13:37 ` Arnd Bergmann 2022-04-19 14:15 ` [PATCH 00/41] OMAP1 full multiplatform conversion Ulf Hansson 2022-04-19 14:15 ` Ulf Hansson 2022-04-19 14:15 ` Ulf Hansson 2022-04-19 14:15 ` Ulf Hansson 2022-04-21 6:27 ` Tony Lindgren 2022-04-21 6:27 ` Tony Lindgren 2022-04-21 6:27 ` Tony Lindgren 2022-04-21 6:27 ` Tony Lindgren 2022-04-20 17:08 ` Aaro Koskinen 2022-04-20 17:08 ` Aaro Koskinen 2022-04-20 17:08 ` Aaro Koskinen 2022-04-20 17:08 ` Aaro Koskinen 2022-04-20 20:00 ` Arnd Bergmann 2022-04-20 20:00 ` Arnd Bergmann 2022-04-20 20:00 ` Arnd Bergmann 2022-04-20 20:00 ` Arnd Bergmann 2022-04-21 13:34 ` Aaro Koskinen 2022-04-21 13:34 ` Aaro Koskinen 2022-04-21 13:34 ` Aaro Koskinen 2022-04-21 13:34 ` Aaro Koskinen 2022-04-21 14:46 ` Arnd Bergmann 2022-04-21 14:46 ` Arnd Bergmann 2022-04-21 14:46 ` Arnd Bergmann 2022-04-21 14:46 ` Arnd Bergmann
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20220419133723.1394715-28-arnd@kernel.org \ --to=arnd@kernel.org \ --cc=aaro.koskinen@iki.fi \ --cc=alsa-devel@alsa-project.org \ --cc=arnd@arndb.de \ --cc=balbi@kernel.org \ --cc=broonie@kernel.org \ --cc=daniel.thompson@linaro.org \ --cc=deller@gmx.de \ --cc=dmaengine@vger.kernel.org \ --cc=dmitry.torokhov@gmail.com \ --cc=dri-devel@lists.freedesktop.org \ --cc=jingoohan1@gmail.com \ --cc=jmkrzyszt@gmail.com \ --cc=khilman@kernel.org \ --cc=krzk@kernel.org \ --cc=lee.jones@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-fbdev@vger.kernel.org \ --cc=linux-input@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mmc@vger.kernel.org \ --cc=linux-omap@vger.kernel.org \ --cc=linux-serial@vger.kernel.org \ --cc=linux-usb@vger.kernel.org \ --cc=linux@armlinux.org.uk \ --cc=linux@dominikbrodowski.net \ --cc=paul@pwsan.com \ --cc=peter.ujfalusi@gmail.com \ --cc=stern@rowland.harvard.edu \ --cc=tony@atomide.com \ --cc=ulf.hansson@linaro.org \ --cc=vkoul@kernel.org \ --subject='Re: [PATCH 27/41] ARM: omap1: use pci_remap_iospace() for omap_cf' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.