#include <linux/input.h>
 #include <linux/device.h>
+#include <linux/gpio.h>
 #include <asm/mach-types.h>
-#include <asm/arch/gpio.h>
 #include <asm/arch/mux.h>
 #include <asm/arch/hardware.h>
 #include <asm/hardware/tsc2101.h>
                return -ENODEV;
 
        ts->irq = gpio_to_irq(gpio);
-       if (omap_request_gpio(gpio) != 0) {
+       if (gpio_request(gpio, "TS irq") != 0) {
                printk(KERN_ERR "hX_ts_init.c: Could not reserve GPIO!\n");
                return -EINVAL;
        };
 static void __exit hx_ts_remove(void)
 {
        if (machine_is_omap_h2())
-               omap_free_gpio(H2_GPIO_NUM);
+               gpio_free(H2_GPIO_NUM);
        else if (machine_is_omap_h3())
-               omap_free_gpio(H3_GPIO_NUM);
+               gpio_free(H3_GPIO_NUM);
 }
 #endif