#include <mach/irqs.h>
 #include <mach/hardware.h>
+#include <mach/common.h>
+
+#include "devices.h"
 
 /*
  * Resource definition for the MXC IrDA
        [0] = {
                .chip.label = "gpio-0",
                .irq = MXC_INT_GPIO,
-               .base = (void*)(AIPI_BASE_ADDR_VIRT + 0x15000 + 0x100 * 0),
+               .base = IO_ADDRESS(GPIO_BASE_ADDR),
                .virtual_irq_start = MXC_GPIO_IRQ_START,
        },
        [1] = {
                .chip.label = "gpio-1",
-               .base = (void*)(AIPI_BASE_ADDR_VIRT + 0x15000 + 0x100 * 1),
+               .base = IO_ADDRESS(GPIO_BASE_ADDR + 0x100),
                .virtual_irq_start = MXC_GPIO_IRQ_START + 32,
        },
        [2] = {
                .chip.label = "gpio-2",
-               .base = (void*)(AIPI_BASE_ADDR_VIRT + 0x15000 + 0x100 * 2),
+               .base = IO_ADDRESS(GPIO_BASE_ADDR + 0x200),
                .virtual_irq_start = MXC_GPIO_IRQ_START + 64,
        },
        [3] = {
                .chip.label = "gpio-3",
-               .base = (void*)(AIPI_BASE_ADDR_VIRT + 0x15000 + 0x100 * 3),
+               .base = IO_ADDRESS(GPIO_BASE_ADDR + 0x300),
                .virtual_irq_start = MXC_GPIO_IRQ_START + 96,
        },
        [4] = {
                .chip.label = "gpio-4",
-               .base = (void*)(AIPI_BASE_ADDR_VIRT + 0x15000 + 0x100 * 4),
+               .base = IO_ADDRESS(GPIO_BASE_ADDR + 0x400),
                .virtual_irq_start = MXC_GPIO_IRQ_START + 128,
        },
        [5] = {
                .chip.label = "gpio-5",
-               .base = (void*)(AIPI_BASE_ADDR_VIRT + 0x15000 + 0x100 * 5),
+               .base = IO_ADDRESS(GPIO_BASE_ADDR + 0x500),
                .virtual_irq_start = MXC_GPIO_IRQ_START + 160,
        }
 };
 
 #include <linux/mm.h>
 #include <linux/init.h>
 #include <mach/hardware.h>
+#include <mach/common.h>
 #include <asm/pgtable.h>
 #include <asm/mach/map.h>
 
 
        mx27_clocks_init(fref);
 }
 
-struct sys_timer mx27ads_timer = {
+static struct sys_timer mx27ads_timer = {
        .init   = mx27ads_timer_init,
 };
 
        },
 };
 
-void __init mx27ads_map_io(void)
+static void __init mx27ads_map_io(void)
 {
        mxc_map_io();
        iotable_init(mx27ads_io_desc, ARRAY_SIZE(mx27ads_io_desc));
 
        mx27_clocks_init(26000000);
 }
 
-struct sys_timer pcm038_timer = {
+static struct sys_timer pcm038_timer = {
        .init = pcm038_timer_init,
 };
 
 
 #include <linux/serial.h>
 #include <mach/hardware.h>
 #include <mach/imx-uart.h>
+#include "devices.h"
 
 static struct resource uart0[] = {
        {
 
 #include <linux/kernel.h>
 #include <linux/init.h>
 #include <linux/platform_device.h>
+#include <mach/common.h>
 
 int __init mxc_register_device(struct platform_device *pdev, void *data)
 {
 
  * Base address of PBC controller, CS4
  */
 #define PBC_BASE_ADDRESS        0xEB000000
-#define PBC_REG_ADDR(offset)    (PBC_BASE_ADDRESS + (offset))
+#define PBC_REG_ADDR(offset)    (void __force __iomem *) \
+               (PBC_BASE_ADDRESS + (offset))
 
 /*
  * PBC Interupt name definitions
 
  * it returns 0xDEADBEEF
  */
 #define IO_ADDRESS(x)   \
-       (void __iomem *) \
+       (void __force __iomem *) \
        (((x >= AIPI_BASE_ADDR) && (x < (AIPI_BASE_ADDR + AIPI_SIZE))) ? \
                AIPI_IO_ADDRESS(x) : \
        ((x >= SAHB1_BASE_ADDR) && (x < (SAHB1_BASE_ADDR + SAHB1_SIZE))) ? \
 
 
 static int __init mxc_clocksource_init(struct clk *timer_clk)
 {
-       unsigned int clock;
+       unsigned int c = clk_get_rate(timer_clk);
 
-       clock = clk_get_rate(timer_clk);
-
-       clocksource_mxc.mult = clocksource_hz2mult(clock,
+       clocksource_mxc.mult = clocksource_hz2mult(c,
                                        clocksource_mxc.shift);
        clocksource_register(&clocksource_mxc);
 
 
 static int __init mxc_clockevent_init(struct clk *timer_clk)
 {
-       unsigned int clock;
-
-       clock = clk_get_rate(timer_clk);
+       unsigned int c = clk_get_rate(timer_clk);
 
-       clockevent_mxc.mult = div_sc(clock, NSEC_PER_SEC,
+       clockevent_mxc.mult = div_sc(c, NSEC_PER_SEC,
                                        clockevent_mxc.shift);
        clockevent_mxc.max_delta_ns =
                        clockevent_delta2ns(0xfffffffe, &clockevent_mxc);