RAMIPS_GPIO_REG_INT, /* Interrupt status */
RAMIPS_GPIO_REG_EDGE,
RAMIPS_GPIO_REG_RENA,
+ RAMIPS_GPIO_REG_FENA,
RAMIPS_GPIO_REG_DATA,
RAMIPS_GPIO_REG_DIR, /* Direction, 0:in, 1: out */
RAMIPS_GPIO_REG_POL, /* Polarity, 0: normal, 1: invert */
u32 t;
t = ramips_gpio_rr(rg, RAMIPS_GPIO_REG_DATA);
- return (t & (1 << offset));
+ return !!(t & (1 << offset));
}
static struct ramips_gpio_chip ramips_gpio_chip0 = {
[RAMIPS_GPIO_REG_INT] = GPIO0_REG_INT,
[RAMIPS_GPIO_REG_EDGE] = GPIO0_REG_EDGE,
[RAMIPS_GPIO_REG_RENA] = GPIO0_REG_RENA,
+ [RAMIPS_GPIO_REG_FENA] = GPIO0_REG_FENA,
[RAMIPS_GPIO_REG_DATA] = GPIO0_REG_DATA,
[RAMIPS_GPIO_REG_DIR] = GPIO0_REG_DIR,
[RAMIPS_GPIO_REG_POL] = GPIO0_REG_POL,
[RAMIPS_GPIO_REG_INT] = GPIO1_REG_INT,
[RAMIPS_GPIO_REG_EDGE] = GPIO1_REG_EDGE,
[RAMIPS_GPIO_REG_RENA] = GPIO1_REG_RENA,
+ [RAMIPS_GPIO_REG_FENA] = GPIO1_REG_FENA,
[RAMIPS_GPIO_REG_DATA] = GPIO1_REG_DATA,
[RAMIPS_GPIO_REG_DIR] = GPIO1_REG_DIR,
[RAMIPS_GPIO_REG_POL] = GPIO1_REG_POL,
[RAMIPS_GPIO_REG_INT] = GPIO2_REG_INT,
[RAMIPS_GPIO_REG_EDGE] = GPIO2_REG_EDGE,
[RAMIPS_GPIO_REG_RENA] = GPIO2_REG_RENA,
+ [RAMIPS_GPIO_REG_FENA] = GPIO2_REG_FENA,
[RAMIPS_GPIO_REG_DATA] = GPIO2_REG_DATA,
[RAMIPS_GPIO_REG_DIR] = GPIO2_REG_DIR,
[RAMIPS_GPIO_REG_POL] = GPIO2_REG_POL,