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*$/)
 {


Reply via email to