On Tue, Feb 05, 2013 at 04:13:23PM +0530, Viresh Kumar wrote:
There isn't lot of code that we have to keep inside the macro you suggest. Its just an if else (with single line block), which would give the parent kobject. Nothing else.
I didn't wanted to create a macro for just that. For me an if/else is not that big code.
Yeah, I imagine for you it isn't, no.
Anyway, if nobody else comes on my side i can create that macro for you. But, personally i would prefer code without such macros.
Here's an even cleaner way:
platform_driver: init(struct cpufreq_policy *policy) { ...
add_additional_sysfs_entries(policy);
... }
...
static void add_additional_sysfs_entries(struct cpufreq_policy *policy) { #ifdef CONFIG_CPUFREQ_MULTIPLE_POLICIES create-folder-in-cpu/cpu*/cpufreq; ... #endif }
and the platform driver will have in its Kconfig section:
config CPUFREQ_PLATFORM_DRIVER_X ... select CPUFREQ_MULTIPLE_POLICIES
You don't need the policy->have_multiple_policies member even.