On Mon, Feb 27, 2017 at 11:19:27AM +0100, Jean-Christophe PLAGNIOL-VILLARD wrote: > use the one with the most priority. > > We can not select the clocksource at user level. > > Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@xxxxxxxxxxxx> > --- > common/clock.c | 11 +++++++++++ > include/clock.h | 3 ++- > 2 files changed, 13 insertions(+), 1 deletion(-) > > diff --git a/common/clock.c b/common/clock.c > index 2c5dd91cc..d99d06853 100644 > --- a/common/clock.c > +++ b/common/clock.c > @@ -213,6 +213,17 @@ EXPORT_SYMBOL(mdelay_non_interruptible); > > int init_clock(struct clocksource *cs) > { > + if (current_clock && cs->priority < current_clock->priority) > + return -EBUSY; You should return successfully here. Otherwise driver probe functions return -EBUSY for something which is not the drivers fault. In fact, it's not an error, it's just that we currently don't have any use for an additional clock. Also consider testing for <= current_clock->priority instead of <. All current clocks have priority 0 and we want to initialize only the first one. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox