static void strongarm_gpio_write(void *opaque, hwaddr offset,

                                 uint64_t value, unsigned size)

{

    StrongARMGPIOInfo *s = opaque;



    switch (offset) {

    case GPDR:        /* GPIO Pin-Direction registers */

        s->dir = value;

        strongarm_gpio_handler_update(s);

        break;



    case GPSR:        /* GPIO Pin-Output Set registers */

        s->olevel |= value;

        strongarm_gpio_handler_update(s);

        s->gpsr = value;

        break;



    case GPCR:        /* GPIO Pin-Output Clear registers */

        s->olevel &= ~value;

        strongarm_gpio_handler_update(s);

        break;



    case GRER:        /* GPIO Rising-Edge Detect Enable registers */

        s->rising = value;

        break;



    case GFER:        /* GPIO Falling-Edge Detect Enable registers */

        s->falling = value;

        break;



    case GAFR:        /* GPIO Alternate Function registers */

        s->gafr = value;

        break;



    case GEDR:        /* GPIO Edge Detect Status registers */

        s->status &= ~value;

        strongarm_gpio_irq_update(s);

        break;



    default:

        printf("%s: Bad offset 0x" TARGET_FMT_plx "\n", __func__, offset);

    }

}

static void strongarm_gpio_write(void *opaque, hwaddr offset,

                                 uint64_t value, unsigned size)

{

    StrongARMGPIOInfo *s = opaque;



    switch (offset) {

    case GPDR:        

        s->dir = value;

        strongarm_gpio_handler_update(s);

        break;



    case GPSR:        

        s->olevel |= value;

        strongarm_gpio_handler_update(s);

        s->gpsr = value;

        break;



    case GPCR:        

        s->olevel &= ~value;

        strongarm_gpio_handler_update(s);

        break;



    case GRER:        

        s->rising = value;

        break;



    case GFER:        

        s->falling = value;

        break;



    case GAFR:        

        s->gafr = value;

        break;



    case GEDR:        

        s->status &= ~value;

        strongarm_gpio_irq_update(s);

        break;



    default:

        printf("%s: Bad offset 0x" TARGET_FMT_plx "\n", __func__, offset);

    }

}

        s->gpsr = value;
static void FUNC_0(void *VAR_0, hwaddr VAR_1,

                                 uint64_t VAR_2, unsigned VAR_3)

{

    StrongARMGPIOInfo *s = VAR_0;



    switch (VAR_1) {

    case GPDR:        

        s->dir = VAR_2;

        strongarm_gpio_handler_update(s);

        break;



    case GPSR:        

        s->olevel |= VAR_2;

        strongarm_gpio_handler_update(s);

        s->gpsr = VAR_2;

        break;



    case GPCR:        

        s->olevel &= ~VAR_2;

        strongarm_gpio_handler_update(s);

        break;



    case GRER:        

        s->rising = VAR_2;

        break;



    case GFER:        

        s->falling = VAR_2;

        break;



    case GAFR:        

        s->gafr = VAR_2;

        break;



    case GEDR:        

        s->status &= ~VAR_2;

        strongarm_gpio_irq_update(s);

        break;



    default:

        printf("%s: Bad VAR_1 0x" TARGET_FMT_plx "\n", __func__, VAR_1);

    }

}

static void FUNC_0(void *VAR_0, hwaddr VAR_1,
uint64_t VAR_2, unsigned VAR_3)
{ StrongARMGPIOInfo *s = VAR_0; switch (VAR_1) { case GPDR:
s->dir = VAR_2; strongarm_gpio_handler_update(s); break; case GPSR:
s->olevel |= VAR_2; strongarm_gpio_handler_update(s); s->gpsr = VAR_2; break; case GPCR:
s->olevel &= ~VAR_2; strongarm_gpio_handler_update(s); break; case GRER:
s->rising = VAR_2; break; case GFER:
s->falling = VAR_2; break; case GAFR:
s->gafr = VAR_2; break; case GEDR:
s->status &= ~VAR_2; strongarm_gpio_irq_update(s); break; default:
printf("%s: Bad VAR_1 0x" TARGET_FMT_plx "\n", __func__, VAR_1); } }