[PATCH V4 06/62] ST SPEAr13XX: Adding machine specific header files

Russell King - ARM Linux linux at arm.linux.org.uk
Tue Jan 18 11:00:37 EST 2011

On Tue, Jan 18, 2011 at 12:41:34PM +0530, Viresh Kumar wrote:
> +
> +/* General Configuration */
> +#define SOC_CFG			((unsigned int *)(MISC_BASE + 0x000))
> +#define BOOTSTRAP_CFG		((unsigned int *)(MISC_BASE + 0x004))

You could really do with an IOMEM() macro, thus:

#ifndef __ASSEMBLY__
#define IOMEM(x)	((void __iomem __force *)(x))
#define IOMEM(x)	(x)

You can then use that for stuff like VA_SPEAR13XX_MISC_BASE, and all
these definitions then become:

#define SOC_CFG			(MISC_BASE + 0x000)

because GCC allows void pointer arithmetic (treats it as char).

More information about the linux-arm-kernel mailing list