Re: [PATCH] uvesafb: Fix warnings about unused variables on non-x86

From: Andrew Morton
Date: Fri Nov 09 2007 - 19:47:43 EST


On Fri, 9 Nov 2007 00:08:19 +0100
Frank Lichtenheld <frank@xxxxxxxxxxxxxx> wrote:

> Variables that are only used in #ifdef CONFIG_X86 should also
> only be declared there.
>
> Signed-off-by: Frank Lichtenheld <frank@xxxxxxxxxxxxxx>
> ---
> drivers/video/uvesafb.c | 6 ++++--
> 1 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/video/uvesafb.c b/drivers/video/uvesafb.c
> index b983d26..d1d6c0f 100644
> --- a/drivers/video/uvesafb.c
> +++ b/drivers/video/uvesafb.c
> @@ -926,8 +926,10 @@ static int uvesafb_setpalette(struct uvesafb_pal_entry *entries, int count,
> int start, struct fb_info *info)
> {
> struct uvesafb_ktask *task;
> +#ifdef CONFIG_X86
> struct uvesafb_par *par = info->par;
> int i = par->mode_idx;
> +#endif
> int err = 0;
>
> /*
> @@ -1103,11 +1105,11 @@ static int uvesafb_pan_display(struct fb_var_screeninfo *var,
>
> static int uvesafb_blank(int blank, struct fb_info *info)
> {
> - struct uvesafb_par *par = info->par;
> struct uvesafb_ktask *task;
> int err = 1;
> -
> #ifdef CONFIG_X86
> + struct uvesafb_par *par = info->par;
> +
> if (par->vbe_ib.capabilities & VBE_CAP_VGACOMPAT) {
> int loop = 10000;
> u8 seq = 0, crtc17 = 0;

OK, but ug. That's some quite nasty code you've found there.

it would come out better if that x86-specific code was pulled out into
separate functions like

#ifdef CONFIG_X86
static int do_x86_stuff(...)
{
...
return 1;
}
#else
static int do_x86_stuff(...)
{
return 0;
}
#endif


static int uvesafb_setpalette(...)
{
if (do_x86_stuff(...) == 0) {
<do non-x86-specific-stuff>
}
}

-
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/