Friday, December 24, 2010

Regulator frame work in linux


Version : 2.6.35

You can read a presentation from Liam at free electrons.

Good documentation is there in Linux kernel DOCUMENTATION folder also. (Documentation/power/regulator/)

Problem:
Before enabling the regulator driver in linux kernel, I m able to get the sendend interrupts. But after enabling the regulator driver, not getting the interrupts.

Reason:
There is a call in my board file like,
regulator_has_full_constraints();

Here is the explanation given in drivers/regulators/core.c

/**
* regulator_has_full_constraints - the system has fully specified constraints
*
* Calling this function will cause the regulator API to disable all
* regulators which have a zero use count and don't have an always_on
* constraint in a late_initcall.
*
* The intention is that this will become the default behaviour in a
* future kernel release so users are encouraged to use this facility
* now.
*/

So this was switching off one LDO down which is used by a comparator to detect the send end interrupts. So commented out that function from the board file till power management becomes important. :-)

No comments: