Re: [PATCH] acpi: fix for lapic_timer_propagate_broadcast()

From: Suresh Siddha
Date: Mon Dec 14 2009 - 13:38:51 EST


On Mon, 2009-12-14 at 00:10 -0800, Hidetoshi Seto wrote:
> I got following warning on ia64 box:
> In function 'acpi_processor_power_verify':
> 642: warning: passing argument 2 of 'smp_call_function_single' from
> incompatible pointer type
>
> This smp_call_function_single() was introduced by a commit
> f833bab87fca5c3ce13778421b1365845843b976:
>
> > @@ -162,8 +162,9 @@
> > pr->power.timer_broadcast_on_state = state;
> > }
> >
> > -static void lapic_timer_propagate_broadcast(struct acpi_processor *pr)
> > +static void lapic_timer_propagate_broadcast(void *arg)
> > {
> > + struct acpi_processor *pr = (struct acpi_processor *) arg;
> > unsigned long reason;
> >
> > reason = pr->power.timer_broadcast_on_state < INT_MAX ?
> > @@ -635,7 +636,8 @@
> > working++;
> > }
> >
> > - lapic_timer_propagate_broadcast(pr);
> > + smp_call_function_single(pr->id, lapic_timer_propagate_broadcast,
> > + pr, 1);
> >
> > return (working);
> > }
>
> The problem is that the lapic_timer_propagate_broadcast() has 2 versions:
> One is real code that modified in the above commit, and the other is NOP
> code that used when !ARCH_APICTIMER_STOPS_ON_C3:
>
> static void lapic_timer_propagate_broadcast(struct acpi_processor *pr) { }
>
> So I got warning because of !ARCH_APICTIMER_STOPS_ON_C3.
>
> We really want to do nothing here on !ARCH_APICTIMER_STOPS_ON_C3, so
> modify lapic_timer_propagate_broadcast() of real version to use
> smp_call_function_single() in it.
>
> Signed-off-by: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx>

Acked-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx>

Len, please push this in to your tree.

thanks,
suresh

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