#ifdef CONFIG_ARCH_OMAP16XX if (bank->method == METHOD_GPIO_1610) { /* Disable wake-up during idle for dynamic tick */ void __iomem *reg = bank->base + OMAP1610_GPIO_CLEAR_WAKEUPENA; __raw_writel(1 << get_gpio_index(gpio), reg); } #endif #ifdef CONFIG_ARCH_OMAP24XX if (bank->method == METHOD_GPIO_24XX) { /* Disable wake-up during idle for dynamic tick */ void __iomem *reg = bank->base + OMAP24XX_GPIO_CLEARWKUENA; __raw_writel(1 << get_gpio_index(gpio), reg); } #endif 
void omap_free_gpio(int gpio){	struct gpio_bank *bank;	if (check_gpio(gpio) < 0)		return;	bank = get_gpio_bank(gpio);	spin_lock(&bank->lock);	if (unlikely(!(bank->reserved_map & (1 << get_gpio_index(gpio))))) {		printk(KERN_ERR "omap-gpio: GPIO %d wasn't reserved!\n", gpio);		dump_stack();		spin_unlock(&bank->lock);		return;	}	bank->reserved_map &= ~(1 << get_gpio_index(gpio));	_set_gpio_direction(bank, get_gpio_index(gpio), 1);	_set_gpio_irqenable(bank, gpio, 0);	_clear_gpio_irqstatus(bank, gpio);	spin_unlock(&bank->lock);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/92105bb70634abacc08bbe12bf6f888fbd7dad38/gpio.c/clean/arch/arm/plat-omap/gpio.c