On Wed, Dec 28, 2011 at 11:42:37AM +0000, Mark Brown wrote:
On Wed, Dec 28, 2011 at 11:31:29AM +0800, Richard Zhao wrote:
On Wed, Dec 28, 2011 at 11:14:10AM +0800, Richard Zhao wrote:
if (cpu_reg) {
ret = regulator_is_supported_voltage(cpu_reg,
cpu_volts[i * 2], cpu_volts[i * 2 + 1]);
Is there any reason you didn't export symbol regulator_is_supported_voltage? and also it don't have !REGULATOR dummy implementation.
regulator_set_voltage_time and some other functions don't have dummy one either.
You can't usefully work with voltages without knowing what the actual voltages are - the only sensible stubs we could provide would return errors but then any driver using the stubs would probably fail to do whatever it was doing. With enable and disable we can sensibly stub things out with an always on regulator.
Sorry, I can not get your point here. Let me describe the problem I met: - regulator_is_supported_voltage is not exported. when I build clk-reg-cpufreq as kernel module, there's a link error. - I saw linux/regulator/consumer.h has some dummy functions if !REGULATOR. I tried to make clk-reg-cpufreq driver work even !REGULATOR. I think that's why the dummy functions are there. If regulator_get return NULL, it'll avoid calling other regulator functions. But regulator_is_supported_voltage and regulator_set_voltage_time don't have such dummy ones. Undefined functions.
Thanks Richard