Add "gpio status" command.
diff --git a/arch/arm/include/asm/arch-omap4/gpio.h b/arch/arm/include/asm/arch-omap4/gpio.h
index 26f19d1..48e24bc 100644
--- a/arch/arm/include/asm/arch-omap4/gpio.h
+++ b/arch/arm/include/asm/arch-omap4/gpio.h
@@ -47,4 +47,6 @@
 #define OMAP44XX_GPIO5_BASE		0x4805B000
 #define OMAP44XX_GPIO6_BASE		0x4805D000
 
+#define	gpio_status()			gpio_info()
+
 #endif /* _GPIO_OMAP4_H */
diff --git a/drivers/gpio/omap_gpio.c b/drivers/gpio/omap_gpio.c
index fc89f2a..07358a1 100644
--- a/drivers/gpio/omap_gpio.c
+++ b/drivers/gpio/omap_gpio.c
@@ -139,6 +139,13 @@
 	__raw_writel(l, reg);
 }
 
+int gpio_get_direction(unsigned gpio)
+{
+	if (check_gpio(gpio) < 0)
+		return -1;
+	return _get_gpio_direction(get_gpio_bank(gpio), get_gpio_index(gpio));
+}
+
 /**
  * Set value of the specified gpio
  */
@@ -241,3 +248,13 @@
 {
 	return 0;
 }
+
+void gpio_info(void)
+{
+	unsigned gpio;
+
+	for (gpio = 0; gpio < 192; gpio++)
+		printf("GPIO %3d: %s %s\n", gpio,
+		  gpio_get_direction(gpio) == OMAP_GPIO_DIR_OUT ? "out" : "in ",
+		  gpio_get_value(gpio) ? "hi" : "lo");
+}