]> pilppa.com Git - linux-2.6-omap-h63xx.git/commit
[ARM] omap: fix inappropriate casting in gpio.c
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Fri, 5 Sep 2008 14:49:14 +0000 (15:49 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 5 Sep 2008 16:02:33 +0000 (17:02 +0100)
commit7c7095aa423b9b14038abc08fba84b9d7a33d643
treed71363e05eca317a5d712eda3252066c27469892
parent397fcaf71783de804b2e1ae3ec41da0c79a89a61
[ARM] omap: fix inappropriate casting in gpio.c

gpio.c wilfully casts physical addresses to void __iomem * and then
fixes them up at runtime using:

bank->base = IO_ADDRESS(bank->base);

where accesses prior to this fixup are via omap_read/omap_write, and
after are by __raw_read/__raw_write.  This doesn't lend itself to
static checking, nor to easy understanding of the code.

And so, OMAP_MPUIO_BASE gets to be the right type - integer like since
it's a physical address, not a MMIO pointer.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/plat-omap/gpio.c
arch/arm/plat-omap/include/mach/gpio.h