On Thu, 16 Oct 2014 07:40:16 -0600 Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote: > On Thu, Oct 16, 2014 at 1:22 AM, Martin Schwidefsky > <schwidefsky@xxxxxxxxxx> wrote: > > On Wed, 15 Oct 2014 17:30:33 -0600 > > Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote: > > > >> [+cc Daniel, Martin, linux-s390; sorry, I botched my "stg mail" so you > >> weren't included the first time. s390 could see issues from this.] > >> > >> On Wed, Oct 15, 2014 at 11:06 AM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote: > >> > kernel/time/jiffies.c provides a default clocksource_default_clock() > >> > definition explicitly marked "weak". arch/s390 provides its own definition > >> > intended to override the default, but the "weak" attribute on the > >> > declaration applied to the s390 definition as well, so the linker chose one > >> > based on link order (see 10629d711ed7 ("PCI: Remove __weak annotation from > >> > pcibios_get_phb_of_node decl")). > >> > > >> > Remove the "weak" attribute from the clocksource_default_clock() > >> > declaration so we always prefer a non-weak definition over the weak one, > >> > independent of link order. > >> > > >> > Fixes: f1b82746c1e9 ("clocksource: Cleanup clocksource selection") > >> > Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> > >> > CC: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> > >> > CC: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> > >> > --- > >> > include/linux/clocksource.h | 2 +- > >> > 1 file changed, 1 insertion(+), 1 deletion(-) > >> > > >> > diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h > >> > index 653f0e2b6ca9..abcafaa20b86 100644 > >> > --- a/include/linux/clocksource.h > >> > +++ b/include/linux/clocksource.h > >> > @@ -287,7 +287,7 @@ extern struct clocksource* clocksource_get_next(void); > >> > extern void clocksource_change_rating(struct clocksource *cs, int rating); > >> > extern void clocksource_suspend(void); > >> > extern void clocksource_resume(void); > >> > -extern struct clocksource * __init __weak clocksource_default_clock(void); > >> > +extern struct clocksource * __init clocksource_default_clock(void); > >> > extern void clocksource_mark_unstable(struct clocksource *cs); > >> > > >> > extern u64 > >> > > > > > s390 compiles and boots without the __weak for clocksource_default_clock. > > I assume this means you've tested this patch and s390 compiles and boots? Correct. > I assume you *don't* mean that s390 could drop its > clocksource_default_clock() implementation and use the generic one, > right? Sorry, but I want to keep the s390 TOD clock as default. The jiffies clock is not precise enough, even if it is used only at the beginning. -- blue skies, Martin. "Reality continues to ruin my life." - Calvin. -- To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html