aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/power
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/power')
-rw-r--r--drivers/power/lp8788-charger.c44
1 files changed, 6 insertions, 38 deletions
diff --git a/drivers/power/lp8788-charger.c b/drivers/power/lp8788-charger.c
index 1afa5f7a5359..fb592bfbec6e 100644
--- a/drivers/power/lp8788-charger.c
+++ b/drivers/power/lp8788-charger.c
@@ -584,50 +584,18 @@ static void lp8788_setup_adc_channel(const char *consumer_name,
584 struct lp8788_charger *pchg) 584 struct lp8788_charger *pchg)
585{ 585{
586 struct lp8788_charger_platform_data *pdata = pchg->pdata; 586 struct lp8788_charger_platform_data *pdata = pchg->pdata;
587 struct device *dev = pchg->lp->dev;
588 struct iio_channel *chan; 587 struct iio_channel *chan;
589 enum lp8788_adc_id id;
590 const char *chan_name[LPADC_MAX] = {
591 [LPADC_VBATT_5P5] = "vbatt-5p5",
592 [LPADC_VBATT_6P0] = "vbatt-6p0",
593 [LPADC_VBATT_5P0] = "vbatt-5p0",
594 [LPADC_ADC1] = "adc1",
595 [LPADC_ADC2] = "adc2",
596 [LPADC_ADC3] = "adc3",
597 [LPADC_ADC4] = "adc4",
598 };
599 588
600 if (!pdata) 589 if (!pdata)
601 return; 590 return;
602 591
603 id = pdata->vbatt_adc; 592 /* ADC channel for battery voltage */
604 switch (id) { 593 chan = iio_channel_get(consumer_name, pdata->adc_vbatt);
605 case LPADC_VBATT_5P5: 594 pchg->chan[LP8788_VBATT] = IS_ERR(chan) ? NULL : chan;
606 case LPADC_VBATT_6P0:
607 case LPADC_VBATT_5P0:
608 chan = iio_channel_get(consumer_name, chan_name[id]);
609 pchg->chan[LP8788_VBATT] = IS_ERR(chan) ? NULL : chan;
610 break;
611 default:
612 dev_err(dev, "invalid ADC id for VBATT: %d\n", id);
613 pchg->chan[LP8788_VBATT] = NULL;
614 break;
615 }
616 595
617 id = pdata->batt_temp_adc; 596 /* ADC channel for battery temperature */
618 switch (id) { 597 chan = iio_channel_get(consumer_name, pdata->adc_batt_temp);
619 case LPADC_ADC1: 598 pchg->chan[LP8788_BATT_TEMP] = IS_ERR(chan) ? NULL : chan;
620 case LPADC_ADC2:
621 case LPADC_ADC3:
622 case LPADC_ADC4:
623 chan = iio_channel_get(consumer_name, chan_name[id]);
624 pchg->chan[LP8788_BATT_TEMP] = IS_ERR(chan) ? NULL : chan;
625 break;
626 default:
627 dev_err(dev, "invalid ADC id for BATT_TEMP : %d\n", id);
628 pchg->chan[LP8788_BATT_TEMP] = NULL;
629 break;
630 }
631} 599}
632 600
633static void lp8788_release_adc_channel(struct lp8788_charger *pchg) 601static void lp8788_release_adc_channel(struct lp8788_charger *pchg)