On Sat, 2021-02-06 at 20:18 -0800, Stephen Boyd wrote: > A missing semicolon here causes my external display to stop working. > Indeed, missing the semicolon on the return statement leads to > dp_panel_update_tu_timings() not existing because the compiler thinks > it's part of the return statement of a void function, so it must not be > important. > > $ ./scripts/bloat-o-meter before.o after.o > add/remove: 1/1 grow/shrink: 0/1 up/down: 7400/-7540 (-140) > Function old new delta > dp_panel_update_tu_timings - 7400 +7400 > _dp_ctrl_calc_tu.constprop 18024 17900 -124 > dp_panel_update_tu_timings.constprop 7416 - -7416 > Total: Before=54440, After=54300, chg -0.26% > > Add a semicolon so this function works like it used to. [] > diff --git a/drivers/gpu/drm/msm/dp/dp_ctrl.c > b/drivers/gpu/drm/msm/dp/dp_ctrl.c [] > @@ -631,7 +631,7 @@ static void _dp_ctrl_calc_tu(struct dp_tu_calc_input *in, > > > tu = kzalloc(sizeof(*tu), GFP_KERNEL); > if (!tu) > - return > + return; > > > dp_panel_update_tu_timings(in, tu);
Wow, that's really unfortunate that dp_panel_update_tu_timings is also void. Perhaps this as YA checkpatch warning: --- scripts/checkpatch.pl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 9a549b009d2f..6df13e5a1557 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -3674,6 +3674,12 @@ sub process { } } +# check only a c90 keyword on the line (except else) + if ($sline =~ /^\+\s*($c90_Keywords)\s*$/ && $1 ne 'else') { + WARN("BARE_KEYWORD", + "'$1' as the only word on a line is not good style\n" . $herecurr); + } + # check multi-line statement indentation matches previous line if ($perl_version_ok && $prevline =~ /^\+([ \t]*)((?:$c90_Keywords(?:\s+if)\s*)|(?:$Declare\s*)?(?:$Ident|\(\s*\*\s*$Ident\s*\))\s*|(?:\*\s*)*$Lval\s*=\s*$Ident\s*)\(.*(\&\&|\|\||,)\s*$/) {