diff options
Diffstat (limited to 'sound/soc/soc-jack.c')
-rw-r--r-- | sound/soc/soc-jack.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/sound/soc/soc-jack.c b/sound/soc/soc-jack.c index ab47fea997a3..4380dcc064a5 100644 --- a/sound/soc/soc-jack.c +++ b/sound/soc/soc-jack.c | |||
@@ -116,7 +116,7 @@ EXPORT_SYMBOL_GPL(snd_soc_jack_report); | |||
116 | * | 116 | * |
117 | * @jack: ASoC jack | 117 | * @jack: ASoC jack |
118 | * @count: Number of zones | 118 | * @count: Number of zones |
119 | * @zone: Array of zones | 119 | * @zones: Array of zones |
120 | * | 120 | * |
121 | * After this function has been called the zones specified in the | 121 | * After this function has been called the zones specified in the |
122 | * array will be associated with the jack. | 122 | * array will be associated with the jack. |
@@ -309,7 +309,7 @@ int snd_soc_jack_add_gpios(struct snd_soc_jack *jack, int count, | |||
309 | /* GPIO descriptor */ | 309 | /* GPIO descriptor */ |
310 | gpios[i].desc = gpiod_get_index(gpios[i].gpiod_dev, | 310 | gpios[i].desc = gpiod_get_index(gpios[i].gpiod_dev, |
311 | gpios[i].name, | 311 | gpios[i].name, |
312 | gpios[i].idx); | 312 | gpios[i].idx, GPIOD_IN); |
313 | if (IS_ERR(gpios[i].desc)) { | 313 | if (IS_ERR(gpios[i].desc)) { |
314 | ret = PTR_ERR(gpios[i].desc); | 314 | ret = PTR_ERR(gpios[i].desc); |
315 | dev_err(gpios[i].gpiod_dev, | 315 | dev_err(gpios[i].gpiod_dev, |
@@ -327,17 +327,14 @@ int snd_soc_jack_add_gpios(struct snd_soc_jack *jack, int count, | |||
327 | goto undo; | 327 | goto undo; |
328 | } | 328 | } |
329 | 329 | ||
330 | ret = gpio_request(gpios[i].gpio, gpios[i].name); | 330 | ret = gpio_request_one(gpios[i].gpio, GPIOF_IN, |
331 | gpios[i].name); | ||
331 | if (ret) | 332 | if (ret) |
332 | goto undo; | 333 | goto undo; |
333 | 334 | ||
334 | gpios[i].desc = gpio_to_desc(gpios[i].gpio); | 335 | gpios[i].desc = gpio_to_desc(gpios[i].gpio); |
335 | } | 336 | } |
336 | 337 | ||
337 | ret = gpiod_direction_input(gpios[i].desc); | ||
338 | if (ret) | ||
339 | goto err; | ||
340 | |||
341 | INIT_DELAYED_WORK(&gpios[i].work, gpio_work); | 338 | INIT_DELAYED_WORK(&gpios[i].work, gpio_work); |
342 | gpios[i].jack = jack; | 339 | gpios[i].jack = jack; |
343 | 340 | ||