Hi Viresh,
On Fri, May 23, 2014 at 10:03:27AM +0530, Viresh Kumar wrote:
On 22 May 2014 20:22, Eduardo Valentin edubezval@gmail.com wrote:
However, on CPUs that needs thermal managment, it makes sense to have such dependency, from functional perspective. Mainly because scaling frequency and voltage up would be allowed only when thermal management is enabled.
AFAIK, dependencies in KCONFIG are only for fixing compilation time issues.
Actually, they also impose module loading sequencing.
As some APIs wouldn't be available without enabling some config options..
If drivers fail at runtime because some API returned error, fix it for your platform instead and not bug KCONFIG for that.
Agreed, but I don't think this is the point of this thread, as you already stated in your patch description.
Thought we might consider some runtime dependencies here as well. For example regulators. There probably are dummy routine available for cases where CONFIG_REGULATOR (or whatever) isn't enabled and driver would still compile, but it is guaranteed to fail as we don't continue when we get errors from regulator APIs..
I agree. We need to have runtime dependency, and that is the major concern on my behalf. The problem of Kconfig dependency is that it imposes sequencing only on module loading, not at boot sequencing.
Another way around is returning -EPROBE_DEFER when some API is not ready at device probing for instance.
Though I still feel that this driver should still support platforms without regulators (atleast in software, they might always have them on board :)).. And so dependencies for regulators may also die out one day..
The dependencies here mean: "This driver would never ever work/compile if the dependencies aren't met.."