diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-n8x0.c')
| -rw-r--r-- | arch/arm/mach-omap2/board-n8x0.c | 28 | 
1 files changed, 11 insertions, 17 deletions
diff --git a/arch/arm/mach-omap2/board-n8x0.c b/arch/arm/mach-omap2/board-n8x0.c index e710cd9e079..8d74318ed49 100644 --- a/arch/arm/mach-omap2/board-n8x0.c +++ b/arch/arm/mach-omap2/board-n8x0.c @@ -106,14 +106,13 @@ static void __init n8x0_usb_init(void)  	static char	announce[] __initdata = KERN_INFO "TUSB 6010\n";  	/* PM companion chip power control pin */ -	ret = gpio_request(TUSB6010_GPIO_ENABLE, "TUSB6010 enable"); +	ret = gpio_request_one(TUSB6010_GPIO_ENABLE, GPIOF_OUT_INIT_LOW, +			       "TUSB6010 enable");  	if (ret != 0) {  		printk(KERN_ERR "Could not get TUSB power GPIO%i\n",  		       TUSB6010_GPIO_ENABLE);  		return;  	} -	gpio_direction_output(TUSB6010_GPIO_ENABLE, 0); -  	tusb_set_power(0);  	ret = tusb6010_setup_interface(&tusb_data, TUSB6010_REFCLK_19, 2, @@ -494,8 +493,12 @@ static struct omap_mmc_platform_data mmc1_data = {  static struct omap_mmc_platform_data *mmc_data[OMAP24XX_NR_MMC]; -static void __init n8x0_mmc_init(void) +static struct gpio n810_emmc_gpios[] __initdata = { +	{ N810_EMMC_VSD_GPIO, GPIOF_OUT_INIT_LOW,  "MMC slot 2 Vddf" }, +	{ N810_EMMC_VIO_GPIO, GPIOF_OUT_INIT_LOW,  "MMC slot 2 Vdd"  }, +}; +static void __init n8x0_mmc_init(void)  {  	int err; @@ -512,27 +515,18 @@ static void __init n8x0_mmc_init(void)  		mmc1_data.slots[1].ban_openended = 1;  	} -	err = gpio_request(N8X0_SLOT_SWITCH_GPIO, "MMC slot switch"); +	err = gpio_request_one(N8X0_SLOT_SWITCH_GPIO, GPIOF_OUT_INIT_LOW, +			       "MMC slot switch");  	if (err)  		return; -	gpio_direction_output(N8X0_SLOT_SWITCH_GPIO, 0); -  	if (machine_is_nokia_n810()) { -		err = gpio_request(N810_EMMC_VSD_GPIO, "MMC slot 2 Vddf"); -		if (err) { -			gpio_free(N8X0_SLOT_SWITCH_GPIO); -			return; -		} -		gpio_direction_output(N810_EMMC_VSD_GPIO, 0); - -		err = gpio_request(N810_EMMC_VIO_GPIO, "MMC slot 2 Vdd"); +		err = gpio_request_array(n810_emmc_gpios, +					 ARRAY_SIZE(n810_emmc_gpios));  		if (err) {  			gpio_free(N8X0_SLOT_SWITCH_GPIO); -			gpio_free(N810_EMMC_VSD_GPIO);  			return;  		} -		gpio_direction_output(N810_EMMC_VIO_GPIO, 0);  	}  	mmc_data[0] = &mmc1_data;  |