Re: [PATCH] cpufreq: fix UP build

From: Linus Torvalds
Date: Wed Jul 08 2009 - 14:09:18 EST




On Wed, 8 Jul 2009, Alexander Beregalov wrote:
>
> From: Alexander Beregalov <a.beregalov@xxxxxxxxx>
>
> Fix this build error when CONFIG_SMP is not set:
> drivers/cpufreq/cpufreq.c:941: 'managed_policy' undeclared

Grr. DaveJ?

That said, I'd much prefer the fix that does _not_ have this crap in it
(not new to your diff - it's pre-existing crap):

> #ifdef CONFIG_SMP
> struct cpufreq_policy *managed_policy;
> + struct sys_device *cpu_sys_dev;
> #endif

and instead those variables should be declared inside the blocks where
they are used, not at the top.

The rule should always be: make the scope of a variable as small as
possible. Don't declare it at the top and try to "save" a declaration when
it can be used inside multiple blocks as multiple different variables.

Also, that whole function could damn well be split into smaller pieces,
which would make it much more readable than that horrible 250+ line piece
of crap monster-function with #ifdef's inside the code.

Please, somebody?

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/