Hi Thomas,
As suggested by you (https://lkml.org/lkml/2014/5/10/86), here is an attempt to implement first two steps for fixing the bigger problem.
This patchset is about adding ->set_dev_mode() to struct clock_event_device with return type 'int'. To achieve that return type of clockevents_set_mode() is also changed to propagate failures.
Let me know if this is what you wanted to see or I screwed up again :(
I will then start updating drivers one by one (100 drivers AFAICT). I will try to fix them in separate patches and will post them together in a single patchset. And because the number is going to be over 100, let me know how do you want me to send that..
Viresh Kumar (2): clockevents: return 'int' from clockevents_set_mode() clockevents: add ->set_dev_mode() to struct clock_event_device
arch/arm/common/bL_switcher.c | 5 +++-- include/linux/clockchips.h | 7 +++++-- kernel/time/clockevents.c | 34 +++++++++++++++++++++++++--------- kernel/time/tick-broadcast.c | 25 ++++++++++++++++--------- kernel/time/tick-common.c | 6 +++--- kernel/time/tick-oneshot.c | 6 +++--- kernel/time/timer_list.c | 9 +++++++-- 7 files changed, 62 insertions(+), 30 deletions(-)