power: pm8xxx-ccadc: missing calibration at bootup

There is a bug in the sequence between when the calibration work is
scheduled and the global chip pointer is initialized. If work is
scheduled before the chip pointer is initialized it refuses to
calibrate.

Initialize the chip pointer before scheduling calibration work.

Change-Id: I333c97c005e8bc17a28fc0dac3f76e4f26fcc486
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
This commit is contained in:
Abhijeet Dharmapurikar
2012-07-12 14:39:13 -07:00
committed by Stephen Boyd
parent ad818ec2af
commit 4ea74ee2c4

View File

@@ -685,13 +685,13 @@ static int __devinit pm8xxx_ccadc_probe(struct platform_device *pdev)
goto free_chip;
}
INIT_DELAYED_WORK(&chip->calib_ccadc_work, calibrate_ccadc_work);
schedule_delayed_work(&chip->calib_ccadc_work, 0);
disable_irq_nosync(chip->eoc_irq);
platform_set_drvdata(pdev, chip);
the_chip = chip;
INIT_DELAYED_WORK(&chip->calib_ccadc_work, calibrate_ccadc_work);
schedule_delayed_work(&chip->calib_ccadc_work, 0);
create_debugfs_entries(chip);