summaryrefslogtreecommitdiff
path: root/drivers/extcon/extcon-adc-jack.c
diff options
context:
space:
mode:
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>2020-05-10 12:53:03 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-06-25 16:41:55 +0300
commitc8c6ce040bf588541324afd2024c1a37c84033cf (patch)
tree0022cd79756e6d94eb904ffe1daaf20d80fc87f0 /drivers/extcon/extcon-adc-jack.c
parentba112d00f50c32682485c6e67904ca5a17c36373 (diff)
downloadlinux-c8c6ce040bf588541324afd2024c1a37c84033cf.tar.xz
extcon: adc-jack: Fix an error handling path in 'adc_jack_probe()'
[ Upstream commit bc84cff2c92ae5ccb2c37da73756e7174b1b430f ] In some error handling paths, a call to 'iio_channel_get()' is not balanced by a corresponding call to 'iio_channel_release()'. This can be achieved easily by using the devm_ variant of 'iio_channel_get()'. This has the extra benefit to simplify the remove function. Fixes: 19939860dcae ("extcon: adc_jack: adc-jack driver to support 3.5 pi or simliar devices") Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/extcon/extcon-adc-jack.c')
-rw-r--r--drivers/extcon/extcon-adc-jack.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/extcon/extcon-adc-jack.c b/drivers/extcon/extcon-adc-jack.c
index 6f6537ab0a79..59e6ca685be8 100644
--- a/drivers/extcon/extcon-adc-jack.c
+++ b/drivers/extcon/extcon-adc-jack.c
@@ -128,7 +128,7 @@ static int adc_jack_probe(struct platform_device *pdev)
for (i = 0; data->adc_conditions[i].id != EXTCON_NONE; i++);
data->num_conditions = i;
- data->chan = iio_channel_get(&pdev->dev, pdata->consumer_channel);
+ data->chan = devm_iio_channel_get(&pdev->dev, pdata->consumer_channel);
if (IS_ERR(data->chan))
return PTR_ERR(data->chan);
@@ -170,7 +170,6 @@ static int adc_jack_remove(struct platform_device *pdev)
free_irq(data->irq, data);
cancel_work_sync(&data->handler.work);
- iio_channel_release(data->chan);
return 0;
}