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 -- To unsubscribe from this list: send the line "unsubscribe cpufreq" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html