Skip to contentSkip to conversation

ASoC: Fix error handling in e800_init to free gpios

PATCH Applied Axel Lin 2 participants 4 messages Dec 7, 2011

Subsystems (3)
lore
Share & tools
lore

Axel Lin

author
#0 lore raw

PATCH 1/3 ASoC: Fix error handling in e800_init to free gpios

---
 sound/soc/pxa/e800_wm9712.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)
sound/soc/pxa/e800_wm9712.c +4 -2
index 6a8f38b..26e0232 100644
@@ -136,8 +136,10 @@ static int __init e800_init(void)
 		goto free_spk_amp_gpio;
 
 	e800_snd_device = platform_device_alloc("soc-audio", -1);
-	if (!e800_snd_device)
-		return -ENOMEM;
+	if (!e800_snd_device) {
+		ret = -ENOMEM;
+		goto free_spk_amp_gpio;
+	}
 
 	platform_set_drvdata(e800_snd_device, &e800);
 	ret = platform_device_add(e800_snd_device);
Signature · 1 line
1.7.5.4
author
#1 lore raw

PATCH 2/3 ASoC: Convert e800_wm9712 to use gpio_request_one()

---
 sound/soc/pxa/e800_wm9712.c |   14 ++++----------
 1 files changed, 4 insertions(+), 10 deletions(-)
sound/soc/pxa/e800_wm9712.c +4 -10
index 26e0232..478ff19 100644
@@ -119,22 +119,16 @@ static int __init e800_init(void)
 	if (!machine_is_e800())
 		return -ENODEV;
 
-	ret = gpio_request(GPIO_E800_HP_AMP_OFF,  "Headphone amp");
+	ret = gpio_request_one(GPIO_E800_HP_AMP_OFF, GPIOF_OUT_INIT_HIGH,
+			       "Headphone amp");
 	if (ret)
 		return ret;
 
-	ret = gpio_request(GPIO_E800_SPK_AMP_ON, "Speaker amp");
+	ret = gpio_request_one(GPIO_E800_SPK_AMP_ON, GPIOF_OUT_INIT_HIGH,
+			       "Speaker amp");
 	if (ret)
 		goto free_hp_amp_gpio;
 
-	ret = gpio_direction_output(GPIO_E800_HP_AMP_OFF, 1);
-	if (ret)
-		goto free_spk_amp_gpio;
-
-	ret = gpio_direction_output(GPIO_E800_SPK_AMP_ON, 1);
-	if (ret)
-		goto free_spk_amp_gpio;
-
 	e800_snd_device = platform_device_alloc("soc-audio", -1);
 	if (!e800_snd_device) {
 		ret = -ENOMEM;
Signature · 1 line
1.7.5.4
author
#2 lore raw

PATCH 3/3 ASoC: Convert e750_wm9705 to use gpio_request_one()

In reply to Axel Lin
---
 sound/soc/pxa/e750_wm9705.c |   14 ++++----------
 1 files changed, 4 insertions(+), 10 deletions(-)
sound/soc/pxa/e750_wm9705.c +4 -10
index ce5f056..55c53d1 100644
@@ -129,22 +129,16 @@ static int __init e750_init(void)
 	if (!machine_is_e750())
 		return -ENODEV;
 
-	ret = gpio_request(GPIO_E750_HP_AMP_OFF,  "Headphone amp");
+	ret = gpio_request_one(GPIO_E750_HP_AMP_OFF, GPIOF_OUT_INIT_HIGH,
+			       "Headphone amp");
 	if (ret)
 		return ret;
 
-	ret = gpio_request(GPIO_E750_SPK_AMP_OFF, "Speaker amp");
+	ret = gpio_request_one(GPIO_E750_SPK_AMP_OFF, GPIOF_OUT_INIT_HIGH,
+			       "Speaker amp");
 	if (ret)
 		goto free_hp_amp_gpio;
 
-	ret = gpio_direction_output(GPIO_E750_HP_AMP_OFF, 1);
-	if (ret)
-		goto free_spk_amp_gpio;
-
-	ret = gpio_direction_output(GPIO_E750_SPK_AMP_OFF, 1);
-	if (ret)
-		goto free_spk_amp_gpio;
-
 	e750_snd_device = platform_device_alloc("soc-audio", -1);
 	if (!e750_snd_device) {
 		ret = -ENOMEM;
Signature · 1 line
1.7.5.4