diff options
author | Christophe JAILLET <christophe.jaillet@wanadoo.fr> | 2020-05-10 11:53:03 +0200 |
---|---|---|
committer | Chanwoo Choi <cw00.choi@samsung.com> | 2020-05-29 17:36:01 +0900 |
commit | bc84cff2c92ae5ccb2c37da73756e7174b1b430f (patch) | |
tree | 56ef8b27831dcbe8625b6e432516bf291abf4864 /drivers | |
parent | 1fa80f182794bbefe8f1bffd74abda5470cdd973 (diff) |
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')
-rw-r--r-- | drivers/extcon/extcon-adc-jack.c | 3 |
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; } |