diff options
Diffstat (limited to 'drivers/gpio/mx31_gpio.c')
| -rw-r--r-- | drivers/gpio/mx31_gpio.c | 15 | 
1 files changed, 15 insertions, 0 deletions
| diff --git a/drivers/gpio/mx31_gpio.c b/drivers/gpio/mx31_gpio.c index 737aafa82..b07f03815 100644 --- a/drivers/gpio/mx31_gpio.c +++ b/drivers/gpio/mx31_gpio.c @@ -71,3 +71,18 @@ void mx31_gpio_set(unsigned int gpio, unsigned int value)  		l &= ~(1 << gpio);  	__REG(gpio_ports[port] + GPIO_DR) = l;  } + +int mx31_gpio_get(unsigned int gpio) +{ +	unsigned int port = gpio >> 5; +	u32 l; + +	if (port >= ARRAY_SIZE(gpio_ports)) +		return -1; + +	gpio &= 0x1f; + +	l = (__REG(gpio_ports[port] + GPIO_DR) >> gpio) & 0x01; + +	return l; +} |