[PATCH] ARM: fix __io macro for PCMCIA
Joachim Eastwood
manabian at gmail.com
Wed Apr 4 06:02:30 EDT 2012
On Wed, Apr 4, 2012 at 5:11 AM, Rob Herring <robherring2 at gmail.com> wrote:
> From: Rob Herring <rob.herring at calxeda.com>
>
> With commit c334bc1 (ARM: make mach/io.h include optional), PCMCIA was
> broken as PCMCIA depends on __io() being just a cast. This needs a better
> fix with a fixed i/o address mapping, but for now we just restore things
> to the previous behavior.
>
> Signed-off-by: Rob Herring <rob.herring at calxeda.com>
> Cc: Joachim Eastwood <joachim.eastwood at jotron.com>
> Cc: Paul Parsons <lost.distance at yahoo.com>
> ---
> arch/arm/include/asm/io.h | 6 ++++--
> 1 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/include/asm/io.h b/arch/arm/include/asm/io.h
> index df0ac0b..00262a4 100644
> --- a/arch/arm/include/asm/io.h
> +++ b/arch/arm/include/asm/io.h
> @@ -118,6 +118,8 @@ static inline void __iomem *__typesafe_io(unsigned long addr)
> */
> #ifdef CONFIG_NEED_MACH_IO_H
> #include <mach/io.h>
> +#elif defined(CONFIG_PCCARD)
> +#define __io(a) __typesafe_io(a)
> #else
> #define __io(a) ({ (void)(a); __typesafe_io(0); })
> #endif
> @@ -134,9 +136,9 @@ static inline void __iomem *__typesafe_io(unsigned long addr)
> * readb() et.al. on such platforms.
> */
> #ifndef IO_SPACE_LIMIT
> -#if defined(CONFIG_PCMCIA_SOC_COMMON) || defined(CONFIG_PCMCIA_SOC_COMMON_MODULE)
> +#if defined(CONFIG_PCCARD)
> #define IO_SPACE_LIMIT ((resource_size_t)0xffffffff)
> -#elif defined(CONFIG_PCI) || defined(CONFIG_ISA) || defined(CONFIG_PCCARD)
> +#elif defined(CONFIG_PCI) || defined(CONFIG_ISA)
> #define IO_SPACE_LIMIT ((resource_size_t)0xffff)
> #else
> #define IO_SPACE_LIMIT ((resource_size_t)0)
> --
> 1.7.5.4
This doesn't work on my AT91RM9200 board. It still fails with the same
error as without this patch.
[ 80.500000] pata_pcmcia: probe of 0.0 failed with error -12
regards
Joachim Eastwood
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
More information about the linux-arm-kernel
mailing list