diff --git a/board/cm_t35/leds.c b/board/cm_t35/leds.c
index 71c5b0d..ae76d09 100644
--- a/board/cm_t35/leds.c
+++ b/board/cm_t35/leds.c
@@ -36,10 +36,10 @@ void __led_init(led_id_t mask, int state)
 
 void __led_set(led_id_t mask, int state)
 {
-	omap_set_gpio_dataout(leds[mask], state == STATUS_LED_ON);
+	gpio_set_value(leds[mask], state == STATUS_LED_ON);
 }
 
 void __led_toggle(led_id_t mask)
 {
-	omap_set_gpio_dataout(leds[mask], !omap_get_gpio_datain(leds[mask]));
+	gpio_set_value(leds[mask], !gpio_get_value(leds[mask]));
 }
diff --git a/board/comelit/dig297/dig297.c b/board/comelit/dig297/dig297.c
index 0062f12..4628554 100644
--- a/board/comelit/dig297/dig297.c
+++ b/board/comelit/dig297/dig297.c
@@ -168,13 +168,13 @@ static void setup_net_chip(void)
 	       &ctrl_base->gpmc_nadv_ale);
 
 	/* Make GPIO 12 as output pin and send a magic pulse through it */
-	if (!omap_request_gpio(NET_LAN9221_RESET_GPIO)) {
-		omap_set_gpio_direction(NET_LAN9221_RESET_GPIO, 0);
-		omap_set_gpio_dataout(NET_LAN9221_RESET_GPIO, 1);
+	if (!gpio_request(NET_LAN9221_RESET_GPIO, "")) {
+		gpio_direction_output(NET_LAN9221_RESET_GPIO);
+		gpio_set_value(NET_LAN9221_RESET_GPIO, 1);
 		udelay(1);
-		omap_set_gpio_dataout(NET_LAN9221_RESET_GPIO, 0);
+		gpio_set_value(NET_LAN9221_RESET_GPIO, 0);
 		udelay(31000);	/* Should be >= 30ms according to datasheet */
-		omap_set_gpio_dataout(NET_LAN9221_RESET_GPIO, 1);
+		gpio_set_value(NET_LAN9221_RESET_GPIO, 1);
 	}
 }
 #endif /* CONFIG_CMD_NET */
diff --git a/board/isee/igep0020/igep0020.c b/board/isee/igep0020/igep0020.c
index 36cc924..52008d1 100644
--- a/board/isee/igep0020/igep0020.c
+++ b/board/isee/igep0020/igep0020.c
@@ -81,13 +81,13 @@ static void setup_net_chip(void)
 		&ctrl_base->gpmc_nadv_ale);
 
 	/* Make GPIO 64 as output pin and send a magic pulse through it */
-	if (!omap_request_gpio(64)) {
-		omap_set_gpio_direction(64, 0);
-		omap_set_gpio_dataout(64, 1);
+	if (!gpio_request(64, "")) {
+		gpio_direction_output(64);
+		gpio_set_value(64, 1);
 		udelay(1);
-		omap_set_gpio_dataout(64, 0);
+		gpio_set_value(64, 0);
 		udelay(1);
-		omap_set_gpio_dataout(64, 1);
+		gpio_set_value(64, 1);
 	}
 }
 #endif
diff --git a/board/logicpd/zoom2/debug_board.c b/board/logicpd/zoom2/debug_board.c
index a4ddf29..0bb6576 100644
--- a/board/logicpd/zoom2/debug_board.c
+++ b/board/logicpd/zoom2/debug_board.c
@@ -33,14 +33,14 @@ static void zoom2_debug_board_detect (void)
 {
 	int val = 0;
 
-	if (!omap_request_gpio(158)) {
+	if (!gpio_request(158, "")) {
 		/*
 		 * GPIO to query for debug board
 		 * 158 db board query
 		 */
-		omap_set_gpio_direction(158, 1);
-		val = omap_get_gpio_datain(158);
-		omap_free_gpio(158);
+		gpio_direction_input(158);
+		val = gpio_get_value(158);
+		gpio_free(158);
 	}
 
 	if (!val)
diff --git a/board/logicpd/zoom2/led.c b/board/logicpd/zoom2/led.c
index 4e14c58..6704152 100644
--- a/board/logicpd/zoom2/led.c
+++ b/board/logicpd/zoom2/led.c
@@ -39,9 +39,9 @@ static unsigned int saved_state[2] = {STATUS_LED_OFF, STATUS_LED_OFF};
 void red_LED_off (void)
 {
 	/* red */
-	if (!omap_request_gpio(ZOOM2_LED_RED)) {
-		omap_set_gpio_direction(ZOOM2_LED_RED, 0);
-		omap_set_gpio_dataout(ZOOM2_LED_RED, 0);
+	if (!gpio_request(ZOOM2_LED_RED, "")) {
+		gpio_direction_output(ZOOM2_LED_RED);
+		gpio_set_value(ZOOM2_LED_RED, 0);
 	}
 	saved_state[STATUS_LED_RED] = STATUS_LED_OFF;
 }
@@ -49,15 +49,15 @@ void red_LED_off (void)
 void blue_LED_off (void)
 {
 	/* blue */
-	if (!omap_request_gpio(ZOOM2_LED_BLUE)) {
-		omap_set_gpio_direction(ZOOM2_LED_BLUE, 0);
-		omap_set_gpio_dataout(ZOOM2_LED_BLUE, 0);
+	if (!gpio_request(ZOOM2_LED_BLUE, "")) {
+		gpio_direction_output(ZOOM2_LED_BLUE);
+		gpio_set_value(ZOOM2_LED_BLUE, 0);
 	}
 
 	/* blue 2 */
-	if (!omap_request_gpio(ZOOM2_LED_BLUE2)) {
-		omap_set_gpio_direction(ZOOM2_LED_BLUE2, 0);
-		omap_set_gpio_dataout(ZOOM2_LED_BLUE2, 0);
+	if (!gpio_request(ZOOM2_LED_BLUE2, "")) {
+		gpio_direction_output(ZOOM2_LED_BLUE2);
+		gpio_set_value(ZOOM2_LED_BLUE2, 0);
 	}
 	saved_state[STATUS_LED_BLUE] = STATUS_LED_OFF;
 }
@@ -67,9 +67,9 @@ void red_LED_on (void)
 	blue_LED_off ();
 
 	/* red */
-	if (!omap_request_gpio(ZOOM2_LED_RED)) {
-		omap_set_gpio_direction(ZOOM2_LED_RED, 0);
-		omap_set_gpio_dataout(ZOOM2_LED_RED, 1);
+	if (!gpio_request(ZOOM2_LED_RED, "")) {
+		gpio_direction_output(ZOOM2_LED_RED);
+		gpio_set_value(ZOOM2_LED_RED, 1);
 	}
 	saved_state[STATUS_LED_RED] = STATUS_LED_ON;
 }
@@ -79,15 +79,15 @@ void blue_LED_on (void)
 	red_LED_off ();
 
 	/* blue */
-	if (!omap_request_gpio(ZOOM2_LED_BLUE)) {
-		omap_set_gpio_direction(ZOOM2_LED_BLUE, 0);
-		omap_set_gpio_dataout(ZOOM2_LED_BLUE, 1);
+	if (!gpio_request(ZOOM2_LED_BLUE, "")) {
+		gpio_direction_output(ZOOM2_LED_BLUE);
+		gpio_set_value(ZOOM2_LED_BLUE, 1);
 	}
 
 	/* blue 2 */
-	if (!omap_request_gpio(ZOOM2_LED_BLUE2)) {
-		omap_set_gpio_direction(ZOOM2_LED_BLUE2, 0);
-		omap_set_gpio_dataout(ZOOM2_LED_BLUE2, 1);
+	if (!gpio_request(ZOOM2_LED_BLUE2, "")) {
+		gpio_direction_output(ZOOM2_LED_BLUE2);
+		gpio_set_value(ZOOM2_LED_BLUE2, 1);
 	}
 
 	saved_state[STATUS_LED_BLUE] = STATUS_LED_ON;
diff --git a/board/logicpd/zoom2/zoom2.c b/board/logicpd/zoom2/zoom2.c
index 76793e4..6cb240b 100644
--- a/board/logicpd/zoom2/zoom2.c
+++ b/board/logicpd/zoom2/zoom2.c
@@ -89,12 +89,12 @@ void zoom2_identify(void)
 	 * and they are not commonly used.  They are mentioned here
 	 * only for completeness.
 	 */
-	if (!omap_request_gpio(94)) {
+	if (!gpio_request(94, "")) {
 		unsigned int val;
 
-		omap_set_gpio_direction(94, 1);
-		val = omap_get_gpio_datain(94);
-		omap_free_gpio(94);
+		gpio_direction_input(94);
+		val = gpio_get_value(94);
+		gpio_free(94);
 
 		if (val)
 			revision = ZOOM2_REVISION_BETA;
diff --git a/board/overo/overo.c b/board/overo/overo.c
index 4eafdb1..8481791 100644
--- a/board/overo/overo.c
+++ b/board/overo/overo.c
@@ -106,21 +106,21 @@ int get_board_revision(void)
 {
 	int revision;
 
-	if (!omap_request_gpio(112) &&
-	    !omap_request_gpio(113) &&
-	    !omap_request_gpio(115)) {
+	if (!gpio_request(112, "") &&
+	    !gpio_request(113, "") &&
+	    !gpio_request(115, "")) {
 
-		omap_set_gpio_direction(112, 1);
-		omap_set_gpio_direction(113, 1);
-		omap_set_gpio_direction(115, 1);
+		gpio_direction_input(112);
+		gpio_direction_input(113);
+		gpio_direction_input(115);
 
-		revision = omap_get_gpio_datain(115) << 2 |
-			   omap_get_gpio_datain(113) << 1 |
-			   omap_get_gpio_datain(112);
+		revision = gpio_get_value(115) << 2 |
+			   gpio_get_value(113) << 1 |
+			   gpio_get_value(112);
 
-		omap_free_gpio(112);
-		omap_free_gpio(113);
-		omap_free_gpio(115);
+		gpio_free(112);
+		gpio_free(113);
+		gpio_free(115);
 	} else {
 		printf("Error: unable to acquire board revision GPIOs\n");
 		revision = -1;
@@ -139,21 +139,21 @@ int get_sdio2_config(void)
 {
 	int sdio_direct;
 
-	if (!omap_request_gpio(130) && !omap_request_gpio(139)) {
+	if (!gpio_request(130, "") && !gpio_request(139, "")) {
 
-		omap_set_gpio_direction(130, 0);
-		omap_set_gpio_direction(139, 1);
+		gpio_direction_output(130);
+		gpio_direction_input(139);
 
 		sdio_direct = 1;
-		omap_set_gpio_dataout(130, 0);
-		if (omap_get_gpio_datain(139) == 0) {
-			omap_set_gpio_dataout(130, 1);
-			if (omap_get_gpio_datain(139) == 1)
+		gpio_set_value(130, 0);
+		if (gpio_get_value(139) == 0) {
+			gpio_set_value(130, 1);
+			if (gpio_get_value(139) == 1)
 				sdio_direct = 0;
 		}
 
-		omap_free_gpio(130);
-		omap_free_gpio(139);
+		gpio_free(130);
+		gpio_free(139);
 	} else {
 		printf("Error: unable to acquire sdio2 clk GPIOs\n");
 		sdio_direct = -1;
@@ -322,13 +322,13 @@ static void setup_net_chip(void)
 		&ctrl_base->gpmc_nadv_ale);
 
 	/* Make GPIO 64 as output pin and send a magic pulse through it */
-	if (!omap_request_gpio(64)) {
-		omap_set_gpio_direction(64, 0);
-		omap_set_gpio_dataout(64, 1);
+	if (!gpio_request(64, "")) {
+		gpio_direction_output(64);
+		gpio_set_value(64, 1);
 		udelay(1);
-		omap_set_gpio_dataout(64, 0);
+		gpio_set_value(64, 0);
 		udelay(1);
-		omap_set_gpio_dataout(64, 1);
+		gpio_set_value(64, 1);
 	}
 }
 #endif
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
index ab50514..3cf0920 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
@@ -115,21 +115,21 @@ int get_board_revision(void)
 {
 	int revision;
 
-	if (!omap_request_gpio(171) &&
-	    !omap_request_gpio(172) &&
-	    !omap_request_gpio(173)) {
+	if (!gpio_request(171, "") &&
+	    !gpio_request(172, "") &&
+	    !gpio_request(173, "")) {
 
-		omap_set_gpio_direction(171, 1);
-		omap_set_gpio_direction(172, 1);
-		omap_set_gpio_direction(173, 1);
+		gpio_direction_input(171);
+		gpio_direction_input(172);
+		gpio_direction_input(173);
 
-		revision = omap_get_gpio_datain(173) << 2 |
-			   omap_get_gpio_datain(172) << 1 |
-			   omap_get_gpio_datain(171);
+		revision = gpio_get_value(173) << 2 |
+			   gpio_get_value(172) << 1 |
+			   gpio_get_value(171);
 
-		omap_free_gpio(171);
-		omap_free_gpio(172);
-		omap_free_gpio(173);
+		gpio_free(171);
+		gpio_free(172);
+		gpio_free(173);
 	} else {
 		printf("Error: unable to acquire board revision GPIOs\n");
 		revision = -1;
@@ -344,7 +344,7 @@ int board_mmc_init(bd_t *bis)
 int ehci_hcd_stop(void)
 {
 	pr_debug("Resetting OMAP3 EHCI\n");
-	omap_set_gpio_dataout(GPIO_PHY_RESET, 0);
+	gpio_set_value(GPIO_PHY_RESET, 0);
 	writel(OMAP_UHH_SYSCONFIG_SOFTRESET, OMAP3_UHH_BASE + OMAP_UHH_SYSCONFIG);
 	return 0;
 }
@@ -366,9 +366,9 @@ int ehci_hcd_init(void)
 	pr_debug("Initializing OMAP3 ECHI\n");
 
 	/* Put the PHY in RESET */
-	omap_request_gpio(GPIO_PHY_RESET);
-	omap_set_gpio_direction(GPIO_PHY_RESET, 0);
-	omap_set_gpio_dataout(GPIO_PHY_RESET, 0);
+	gpio_request(GPIO_PHY_RESET, "");
+	gpio_direction_output(GPIO_PHY_RESET);
+	gpio_set_value(GPIO_PHY_RESET, 0);
 
 	/* Hold the PHY in RESET for enough time till DIR is high */
 	/* Refer: ISSUE1 */
@@ -420,7 +420,7 @@ int ehci_hcd_init(void)
 	 * PHY is settled and ready
 	 */
 	udelay(10);
-	omap_set_gpio_dataout(GPIO_PHY_RESET, 1);
+	gpio_set_value(GPIO_PHY_RESET, 1);
 
 	hccr = (struct ehci_hccr *)(OMAP3_EHCI_BASE);
 	hcor = (struct ehci_hcor *)(OMAP3_EHCI_BASE + 0x10);
diff --git a/board/ti/beagle/led.c b/board/ti/beagle/led.c
index 08f95a0..4b24b73 100644
--- a/board/ti/beagle/led.c
+++ b/board/ti/beagle/led.c
@@ -71,18 +71,18 @@ void __led_set (led_id_t mask, int state)
 {
 #ifdef STATUS_LED_BIT
 	if (STATUS_LED_BIT & mask) {
-		if (!omap_request_gpio(BEAGLE_LED_USR0)) {
-			omap_set_gpio_direction(BEAGLE_LED_USR0, 0);
-			omap_set_gpio_dataout(BEAGLE_LED_USR0, state);
+		if (!gpio_request(BEAGLE_LED_USR0, "")) {
+			gpio_direction_output(BEAGLE_LED_USR0);
+			gpio_set_value(BEAGLE_LED_USR0, state);
 		}
 		saved_state[0] = state;
 	}
 #endif
 #ifdef STATUS_LED_BIT1
 	if (STATUS_LED_BIT1 & mask) {
-		if (!omap_request_gpio(BEAGLE_LED_USR1)) {
-			omap_set_gpio_direction(BEAGLE_LED_USR1, 0);
-			omap_set_gpio_dataout(BEAGLE_LED_USR1, state);
+		if (!gpio_request(BEAGLE_LED_USR1, "")) {
+			gpio_direction_output(BEAGLE_LED_USR1);
+			gpio_set_value(BEAGLE_LED_USR1, state);
 		}
 		saved_state[1] = state;
 	}
diff --git a/board/ti/evm/evm.c b/board/ti/evm/evm.c
index 30c1c57..bb50c10 100644
--- a/board/ti/evm/evm.c
+++ b/board/ti/evm/evm.c
@@ -33,7 +33,7 @@
 #include <asm/arch/mem.h>
 #include <asm/arch/mux.h>
 #include <asm/arch/sys_proto.h>
-#include <asm/arch/gpio.h>
+#include <asm/gpio.h>
 #include <i2c.h>
 #include <asm/mach-types.h>
 #include "evm.h"
@@ -195,21 +195,21 @@ static void reset_net_chip(void)
 		rst_gpio = OMAP3EVM_GPIO_ETH_RST_GEN2;
 	}
 
-	ret = omap_request_gpio(rst_gpio);
+	ret = gpio_request(rst_gpio, "");
 	if (ret < 0) {
 		printf("Unable to get GPIO %d\n", rst_gpio);
 		return ;
 	}
 
 	/* Configure as output */
-	omap_set_gpio_direction(rst_gpio, 0);
+	gpio_direction_output(rst_gpio, 0);
 
 	/* Send a pulse on the GPIO pin */
-	omap_set_gpio_dataout(rst_gpio, 1);
+	gpio_set_value(rst_gpio, 1);
 	udelay(1);
-	omap_set_gpio_dataout(rst_gpio, 0);
+	gpio_set_value(rst_gpio, 0);
 	udelay(1);
-	omap_set_gpio_dataout(rst_gpio, 1);
+	gpio_set_value(rst_gpio, 1);
 }
 
 int board_eth_init(bd_t *bis)
