summaryrefslogtreecommitdiffstats
path: root/drivers/extcon/extcon-adc-jack.c
diff options
context:
space:
mode:
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>2020-05-10 11:53:03 +0200
committerChanwoo Choi <cw00.choi@samsung.com>2020-05-29 10:36:01 +0200
commitbc84cff2c92ae5ccb2c37da73756e7174b1b430f (patch)
tree56ef8b27831dcbe8625b6e432516bf291abf4864 /drivers/extcon/extcon-adc-jack.c
parentextcon: remove redundant assignment to variable idx (diff)
downloadlinux-bc84cff2c92ae5ccb2c37da73756e7174b1b430f.tar.xz
linux-bc84cff2c92ae5ccb2c37da73756e7174b1b430f.zip
extcon: adc-jack: Fix an error handling path in 'adc_jack_probe()'
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>
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 ad02dc6747a4..0317b614b680 100644
--- a/drivers/extcon/extcon-adc-jack.c
+++ b/drivers/extcon/extcon-adc-jack.c
@@ -124,7 +124,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);
@@ -164,7 +164,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;
}