Commit 0f6dad11 authored by Linus Walleij's avatar Linus Walleij Committed by Sebastian Reichel
Browse files

power: supply: ab8500_charger: Restrict ADC retrieveal



The AB8505 only has two ADC channels: the voltage and current
provided from VBUS (USB). It does not support AC charging at all.
Make sure we don't try to retrieve the non-existing channels.

Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarSebastian Reichel <sebastian.reichel@collabora.com>
parent 75ee3f6f
Loading
Loading
Loading
Loading
+13 −11
Original line number Original line Diff line number Diff line
@@ -3443,6 +3443,7 @@ static int ab8500_charger_probe(struct platform_device *pdev)
	di->parent = dev_get_drvdata(pdev->dev.parent);
	di->parent = dev_get_drvdata(pdev->dev.parent);


	/* Get ADC channels */
	/* Get ADC channels */
	if (!is_ab8505(di->parent)) {
		di->adc_main_charger_v = devm_iio_channel_get(dev, "main_charger_v");
		di->adc_main_charger_v = devm_iio_channel_get(dev, "main_charger_v");
		if (IS_ERR(di->adc_main_charger_v)) {
		if (IS_ERR(di->adc_main_charger_v)) {
			ret = dev_err_probe(dev, PTR_ERR(di->adc_main_charger_v),
			ret = dev_err_probe(dev, PTR_ERR(di->adc_main_charger_v),
@@ -3455,6 +3456,7 @@ static int ab8500_charger_probe(struct platform_device *pdev)
					    "failed to get ADC main charger current\n");
					    "failed to get ADC main charger current\n");
			return ret;
			return ret;
		}
		}
	}
	di->adc_vbus_v = devm_iio_channel_get(dev, "vbus_v");
	di->adc_vbus_v = devm_iio_channel_get(dev, "vbus_v");
	if (IS_ERR(di->adc_vbus_v)) {
	if (IS_ERR(di->adc_vbus_v)) {
		ret = dev_err_probe(dev, PTR_ERR(di->adc_vbus_v),
		ret = dev_err_probe(dev, PTR_ERR(di->adc_vbus_v),