@@ -487,14 +487,17 @@ static int ab8500_charger_get_ac_voltage(struct ab8500_charger *di)
487487
488488 /* Only measure voltage if the charger is connected */
489489 if (di -> ac .charger_connected ) {
490- ret = iio_read_channel_processed (di -> adc_main_charger_v , & vch );
491- if (ret < 0 )
492- dev_err (di -> dev , "%s ADC conv failed,\n" , __func__ );
490+ /* Convert to microvolt, IIO returns millivolt */
491+ ret = iio_read_channel_processed_scale (di -> adc_main_charger_v ,
492+ & vch , 1000 );
493+ if (ret < 0 ) {
494+ dev_err (di -> dev , "%s ADC conv failed\n" , __func__ );
495+ return ret ;
496+ }
493497 } else {
494498 vch = 0 ;
495499 }
496- /* Convert to microvolt, IIO returns millivolt */
497- return vch * 1000 ;
500+ return vch ;
498501}
499502
500503/**
@@ -539,14 +542,17 @@ static int ab8500_charger_get_vbus_voltage(struct ab8500_charger *di)
539542
540543 /* Only measure voltage if the charger is connected */
541544 if (di -> usb .charger_connected ) {
542- ret = iio_read_channel_processed (di -> adc_vbus_v , & vch );
543- if (ret < 0 )
544- dev_err (di -> dev , "%s ADC conv failed,\n" , __func__ );
545+ /* Convert to microvolt, IIO returns millivolt */
546+ ret = iio_read_channel_processed_scale (di -> adc_vbus_v ,
547+ & vch , 1000 );
548+ if (ret < 0 ) {
549+ dev_err (di -> dev , "%s ADC conv failed\n" , __func__ );
550+ return ret ;
551+ }
545552 } else {
546553 vch = 0 ;
547554 }
548- /* Convert to microvolt, IIO returns millivolt */
549- return vch * 1000 ;
555+ return vch ;
550556}
551557
552558/**
@@ -562,14 +568,17 @@ static int ab8500_charger_get_usb_current(struct ab8500_charger *di)
562568
563569 /* Only measure current if the charger is online */
564570 if (di -> usb .charger_online ) {
565- ret = iio_read_channel_processed (di -> adc_usb_charger_c , & ich );
566- if (ret < 0 )
567- dev_err (di -> dev , "%s ADC conv failed,\n" , __func__ );
571+ /* Return microamperes */
572+ ret = iio_read_channel_processed_scale (di -> adc_usb_charger_c ,
573+ & ich , 1000 );
574+ if (ret < 0 ) {
575+ dev_err (di -> dev , "%s ADC conv failed\n" , __func__ );
576+ return ret ;
577+ }
568578 } else {
569579 ich = 0 ;
570580 }
571- /* Return microamperes */
572- return ich * 1000 ;
581+ return ich ;
573582}
574583
575584/**
@@ -585,14 +594,17 @@ static int ab8500_charger_get_ac_current(struct ab8500_charger *di)
585594
586595 /* Only measure current if the charger is online */
587596 if (di -> ac .charger_online ) {
588- ret = iio_read_channel_processed (di -> adc_main_charger_c , & ich );
589- if (ret < 0 )
590- dev_err (di -> dev , "%s ADC conv failed,\n" , __func__ );
597+ /* Return microamperes */
598+ ret = iio_read_channel_processed_scale (di -> adc_main_charger_c ,
599+ & ich , 1000 );
600+ if (ret < 0 ) {
601+ dev_err (di -> dev , "%s ADC conv failed\n" , __func__ );
602+ return ret ;
603+ }
591604 } else {
592605 ich = 0 ;
593606 }
594- /* Return microamperes */
595- return ich * 1000 ;
607+ return ich ;
596608}
597609
598610/**
0 commit comments