[PATCH] time: Mark expected switch fall-throughs

From: Gustavo A. R. Silva
Date: Wed Jan 23 2019 - 03:14:18 EST


In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

This patch fixes the following warnings:

kernel/time/hrtimer.c: In function âhrtimer_fixup_activateâ:
./include/linux/compiler.h:77:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
# define unlikely(x) __builtin_expect(!!(x), 0)
^~~~~~~~~~~~~~~~~~~~~~~~~~
./include/asm-generic/bug.h:125:2: note: in expansion of macro âunlikelyâ
unlikely(__ret_warn_on); \
^~~~~~~~
kernel/time/hrtimer.c:366:3: note: in expansion of macro âWARN_ONâ
WARN_ON(1);
^~~~~~~
kernel/time/hrtimer.c:368:2: note: here
default:
^~~~~~~

kernel/time/timer.c: In function âtimer_fixup_activateâ:
./include/linux/compiler.h:77:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
# define unlikely(x) __builtin_expect(!!(x), 0)
^~~~~~~~~~~~~~~~~~~~~~~~~~
./include/asm-generic/bug.h:125:2: note: in expansion of macro âunlikelyâ
unlikely(__ret_warn_on); \
^~~~~~~~
kernel/time/timer.c:649:3: note: in expansion of macro âWARN_ONâ
WARN_ON(1);
^~~~~~~
kernel/time/timer.c:651:2: note: here
default:
^~~~~~~

kernel/time/tick-broadcast.c: In function âtick_broadcast_controlâ:
kernel/time/tick-broadcast.c:377:25: warning: this statement may fall through [-Wimplicit-fallthrough=]
tick_broadcast_forced = 1;
~~~~~~~~~~~~~~~~~~~~~~^~~
kernel/time/tick-broadcast.c:378:2: note: here
case TICK_BROADCAST_ON:
^~~~

Warning level 3 was used: -Wimplicit-fallthrough=3

This patch is part of the ongoing efforts to enabling
-Wimplicit-fallthrough.

Signed-off-by: Gustavo A. R. Silva <gustavo@xxxxxxxxxxxxxx>
---
kernel/time/hrtimer.c | 1 +
kernel/time/tick-broadcast.c | 1 +
kernel/time/timer.c | 1 +
3 files changed, 3 insertions(+)

diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
index 0f5f96075110..5fc8c8add815 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -364,6 +364,7 @@ static bool hrtimer_fixup_activate(void *addr, enum debug_obj_state state)
switch (state) {
case ODEBUG_STATE_ACTIVE:
WARN_ON(1);
+ /* fall through */

default:
return false;
diff --git a/kernel/time/tick-broadcast.c b/kernel/time/tick-broadcast.c
index 803fa67aace9..ee834d4fb814 100644
--- a/kernel/time/tick-broadcast.c
+++ b/kernel/time/tick-broadcast.c
@@ -375,6 +375,7 @@ void tick_broadcast_control(enum tick_broadcast_mode mode)
switch (mode) {
case TICK_BROADCAST_FORCE:
tick_broadcast_forced = 1;
+ /* fall through */
case TICK_BROADCAST_ON:
cpumask_set_cpu(cpu, tick_broadcast_on);
if (!cpumask_test_and_set_cpu(cpu, tick_broadcast_mask)) {
diff --git a/kernel/time/timer.c b/kernel/time/timer.c
index 6eb7cc4b6d52..b1425b7d84d5 100644
--- a/kernel/time/timer.c
+++ b/kernel/time/timer.c
@@ -647,6 +647,7 @@ static bool timer_fixup_activate(void *addr, enum debug_obj_state state)

case ODEBUG_STATE_ACTIVE:
WARN_ON(1);
+ /* fall through */

default:
return false;
--
2.20.1