power: pm8xxx-ccadc: reduce boot time for calibration

- reduce the wait time between adc readings to 20ms from 60ms. This
  speeds up the calibration time.

- move the initial calibration to a workqueue.

CRs-Fixed: 331215
Change-Id: I2034c55f2df8d3e1df216dd5a739cbe70e53c2ed
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
This commit is contained in:
Abhijeet Dharmapurikar
2012-01-16 17:35:18 -08:00
committed by Linux Build Service Account
parent 8c6d485cf3
commit ccfc4f3abd
2 changed files with 3 additions and 3 deletions

View File

@@ -1893,7 +1893,7 @@ static int __devinit pm8921_bms_probe(struct platform_device *pdev)
INIT_DELAYED_WORK(&chip->calib_ccadc_work, calibrate_ccadc_work); INIT_DELAYED_WORK(&chip->calib_ccadc_work, calibrate_ccadc_work);
/* begin calibration only on chips > 2.0 */ /* begin calibration only on chips > 2.0 */
if (chip->revision >= PM8XXX_REVISION_8921_2p0) if (chip->revision >= PM8XXX_REVISION_8921_2p0)
calibrate_ccadc_work(&(chip->calib_ccadc_work.work)); schedule_delayed_work(&chip->calib_ccadc_work, 0);
/* initial hkadc calibration */ /* initial hkadc calibration */
schedule_work(&chip->calib_hkadc_work); schedule_work(&chip->calib_hkadc_work);

View File

@@ -1,4 +1,4 @@
/* Copyright (c) 2011, Code Aurora Forum. All rights reserved. /* Copyright (c) 2011-2012, Code Aurora Forum. All rights reserved.
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and * it under the terms of the GNU General Public License version 2 and
@@ -209,7 +209,7 @@ static int calib_start_conv(struct pm8xxx_ccadc_chip *chip,
return rc; return rc;
} }
if ((reg & (START_CONV_BIT | EOC_CONV_BIT)) != EOC_CONV_BIT) if ((reg & (START_CONV_BIT | EOC_CONV_BIT)) != EOC_CONV_BIT)
msleep(60); msleep(20);
else else
break; break;
} }