MACIO_IN32
#define MACIO_BIS(r,v) (MACIO_OUT32((r), MACIO_IN32(r) | (v)))
#define MACIO_BIC(r,v) (MACIO_OUT32((r), MACIO_IN32(r) & ~(v)))
(void)MACIO_IN32(KEYLARGO_FCR2);
(void)MACIO_IN32(KEYLARGO_FCR2);
(void)MACIO_IN32(KEYLARGO_FCR0);
(void)MACIO_IN32(KEYLARGO_FCR0);
(void)MACIO_IN32(KEYLARGO_FCR1);
reg = MACIO_IN32(KEYLARGO_FCR4);
(void)MACIO_IN32(KEYLARGO_FCR4);
reg = MACIO_IN32(KEYLARGO_FCR3);
(void)MACIO_IN32(KEYLARGO_FCR3);
reg = MACIO_IN32(KEYLARGO_FCR4);
(void)MACIO_IN32(KEYLARGO_FCR4);
reg = MACIO_IN32(KEYLARGO_FCR3);
(void)MACIO_IN32(KEYLARGO_FCR3);
(void)MACIO_IN32(KEYLARGO_FCR0);
(void)MACIO_IN32(KEYLARGO_FCR0);
(void)MACIO_IN32(KEYLARGO_FCR0);
(void)MACIO_IN32(KEYLARGO_FCR0);
(void)MACIO_IN32(KEYLARGO_FCR1);
(void)MACIO_IN32(reg);
(void)MACIO_IN32(KEYLARGO_FCR0);
temp = MACIO_IN32(KEYLARGO_FCR3);
(void)MACIO_IN32(KEYLARGO_FCR0); mdelay(1);
temp = MACIO_IN32(KEYLARGO_FCR3);
(void)MACIO_IN32(KEYLARGO_FCR0); mdelay(1);
temp = MACIO_IN32(KEYLARGO_FCR3);
(void)MACIO_IN32(KEYLARGO_FCR0);
save_gpio_levels[0] = MACIO_IN32(KEYLARGO_GPIO_LEVELS0);
save_gpio_levels[1] = MACIO_IN32(KEYLARGO_GPIO_LEVELS1);
save_mbcr = MACIO_IN32(KEYLARGO_MBCR);
save_fcr[0] = MACIO_IN32(KEYLARGO_FCR0);
save_fcr[1] = MACIO_IN32(KEYLARGO_FCR1);
save_fcr[2] = MACIO_IN32(KEYLARGO_FCR2);
save_fcr[3] = MACIO_IN32(KEYLARGO_FCR3);
save_fcr[4] = MACIO_IN32(KEYLARGO_FCR4);
save_fcr[5] = MACIO_IN32(KEYLARGO_FCR5);
(void)MACIO_IN32(KEYLARGO_MBCR); udelay(10);
(void)MACIO_IN32(KEYLARGO_FCR0); udelay(10);
(void)MACIO_IN32(KEYLARGO_FCR1); udelay(10);
(void)MACIO_IN32(KEYLARGO_FCR2); udelay(10);
(void)MACIO_IN32(KEYLARGO_FCR3); udelay(10);
(void)MACIO_IN32(KEYLARGO_FCR4); udelay(10);
(void)MACIO_IN32(KEYLARGO_FCR5); udelay(10);
fcr = MACIO_IN32(OHARE_FCR);
(void)MACIO_IN32(OHARE_FCR);
fcr = MACIO_IN32(OHARE_FCR);
(void)MACIO_IN32(HEATHROW_FCR);
(void)MACIO_IN32(HEATHROW_FCR);
(void)MACIO_IN32(HEATHROW_MBCR);
(void)MACIO_IN32(HEATHROW_FCR);
(void)MACIO_IN32(HEATHROW_FCR);
(void)MACIO_IN32(HEATHROW_FCR);
save_fcr[2] = MACIO_IN32(0x38);
save_fcr[3] = MACIO_IN32(0x3c);
save_fcr[0] = MACIO_IN32(0x38);
save_fcr[1] = MACIO_IN32(0x3c);
save_mbcr = MACIO_IN32(0x34);
(void)MACIO_IN32(HEATHROW_FCR);
(void)MACIO_IN32(0x38);
(void)MACIO_IN32(0x38);
(void)MACIO_IN32(0x38);
(void)MACIO_IN32(0x38);
(void)MACIO_IN32(0x38);
fcr = MACIO_IN32(KEYLARGO_FCR0);
(void)MACIO_IN32(KEYLARGO_FCR0);
(void)MACIO_IN32(KEYLARGO_FCR0);
fcr = MACIO_IN32(KEYLARGO_FCR0);
(void)MACIO_IN32(KEYLARGO_FCR2);
(void)MACIO_IN32(KEYLARGO_FCR2);
(void)MACIO_IN32(KEYLARGO_FCR2);
MACIO_OUT32(offset, (MACIO_IN32(offset) & ~mask) | (value & mask));
*args->u[0].p = MACIO_IN32(offset);
*args->u[0].p = ((MACIO_IN32(offset) & mask) >> shift) ^ xor;
tmp = MACIO_IN32(offset);
(void)MACIO_IN32(KEYLARGO_FCR1);
(void)MACIO_IN32(KEYLARGO_FCR1);