error: 'flags' undeclared (first use in this function)

drivers/clk/ingenic/power-gate.c:82:33: error: 'flags' undeclared (first use in this function); did you mean 'fls'?
   spin_lock_irqsave(gate->lock, flags);
                                 ^

unsigned long uninitialized_var(flags);

-       unsigned long uninitialized_var(ip);    /* GCC be quiet */
+       unsigned long ip;
commit 63a0895d960aa3d3653ef0ecad5bd8579388f14b
Author: Kees Cook <keescook@chromium.org>
Date:   Wed Jun 3 13:09:38 2020 -0700

    compiler: Remove uninitialized_var() macro

    Using uninitialized_var() is dangerous as it papers over real bugs[1]
    (or can in the future), and suppresses unrelated compiler warnings
    (e.g. "unused variable"). If the compiler thinks it is uninitialized,
    either simply initialize the variable or make compiler changes.

    As recommended[2] by[3] Linus[4], remove the macro. With the recent
    change to disable -Wmaybe-uninitialized in v5.7 in commit 78a5255ffb6a
    ("Stop the ad-hoc games with -Wno-maybe-initialized"), this is likely
    the best time to make this treewide change.

    [1] https://lore.kernel.org/lkml/20200603174714.192027-1-glider@google.com/
    [2] https://lore.kernel.org/lkml/CA+55aFw+Vbj0i=1TGqCR5vQkCzWJ0QxK6CernOU6eedsudAixw@mail.gmail.com/
    [3] https://lore.kernel.org/lkml/CA+55aFwgbgqhbp1fkxvRKEpzyR5J8n1vKT1VZdz9knmPuXhOeg@mail.gmail.com/
    [4] https://lore.kernel.org/lkml/CA+55aFz2500WfbKXAx8s67wrm9=yVJu65TpLgN_ybYNv0VEOKA@mail.gmail.com/
commit 3f649ab728cda8038259d8f14492fe400fbab911
Author: Kees Cook <keescook@chromium.org>
Date:   Wed Jun 3 13:09:38 2020 -0700

    treewide: Remove uninitialized_var() usage

    Using uninitialized_var() is dangerous as it papers over real bugs[1]
    (or can in the future), and suppresses unrelated compiler warnings
    (e.g. "unused variable"). If the compiler thinks it is uninitialized,
    either simply initialize the variable or make compiler changes.

    In preparation for removing[2] the[3] macro[4], remove all remaining
    needless uses with the following script:

    git grep '\buninitialized_var\b' | cut -d: -f1 | sort -u | \
            xargs perl -pi -e \
                    's/\buninitialized_var\(([^\)]+)\)/\1/g;
                     s:\s*/\* (GCC be quiet|to make compiler happy) \*/$::g;'

    drivers/video/fbdev/riva/riva_hw.c was manually tweaked to avoid
    pathological white-space.

    No outstanding warnings were found building allmodconfig with GCC 9.3.0
    for x86_64, i386, arm64, arm, powerpc, powerpc64le, s390x, mips, sparc64,
    alpha, and m68k.

    [1] https://lore.kernel.org/lkml/20200603174714.192027-1-glider@google.com/
    [2] https://lore.kernel.org/lkml/CA+55aFw+Vbj0i=1TGqCR5vQkCzWJ0QxK6CernOU6eedsudAixw@mail.gmail.com/
    [3] https://lore.kernel.org/lkml/CA+55aFwgbgqhbp1fkxvRKEpzyR5J8n1vKT1VZdz9knmPuXhOeg@mail.gmail.com/
    [4] https://lore.kernel.org/lkml/CA+55aFz2500WfbKXAx8s67wrm9=yVJu65TpLgN_ybYNv0VEOKA@mail.gmail.com/

    Reviewed-by: Leon Romanovsky <leonro@mellanox.com> # drivers/infiniband and mlx4/mlx5
    Acked-by: Jason Gunthorpe <jgg@mellanox.com> # IB
    Acked-by: Kalle Valo <kvalo@codeaurora.org> # wireless drivers
    Reviewed-by: Chao Yu <yuchao0@huawei.com> # erofs
    Signed-off-by: Kees Cook <keescook@chromium.org>
0%