• Ian Munsie's avatar
    cxl: Fix build failure due to -Wunused-variable behaviour change · 2cd55c68
    Ian Munsie authored
    A recent change in gcc caused this build failure:
    
    /var/lib/jenkins/workspace/gcc_kernel_build/linux/drivers/misc/cxl/cxl.h:72:27:
    error: ‘CXL_PSL_DLCNTL’ defined but not used [-Werror=unused-const-variable]
     static const cxl_p1_reg_t CXL_PSL_DLCNTL  = {0x0060};
    
    Because of this gcc commit:
    
    Commit 1bca8cbd0c68366f07277f98ce6963e10c2aa617 by mark
    PR28901 -Wunused-variable ignores unused const initialised variables in C
    12 years ago it was decided that -Wunused-variable shouldn't warn about
    static const variables because some code used const static char rcsid[]
    strings which were never used but wanted in the code anyway. But as the
    bug points out this hides some real bugs. These days the usage of
    rcsids is not very popular anymore. So this patch changes the default
    to warn about unused static const variables in C with
    -Wunused-variable. And it adds a new option -Wno-unused-const-variable
    to turn this warning off. For C++ this new warning is off by default,
    since const variables can be used as #defines in C++. New testcases for
    the new defaults in C and C++ are included testing the new warning and
    suppressing it with an unused attribute or using
    -Wno-unused-const-variable. gcc/ChangeLog
    
    The cxl driver uses static consts in place of #defines in some cases
    for type safety, so this change causes the driver to fail to build on
    new copilers as these constants are not all used in every file that
    imports the header. Suppress the warning for this driver to return to
    the old behaviour of -Wunused-variable.
    Reported-by: default avatarAnton Blanchard <anton@au1.ibm.com>
    Signed-off-by: default avatarIan Munsie <imunsie@au1.ibm.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    2cd55c68
Makefile 340 Bytes