• Jesse Brandeburg's avatar
    drivers/net/ethernet: handle one warning explicitly · 2602ddfe
    Jesse Brandeburg authored
    While fixing the W=1 builds, this warning came up because the
    developers used a very tricky way to get structures initialized
    to a non-zero value, but this causes GCC to warn about an
    override. In this case the override was intentional, so just
    disable the warning for this code with a kernel macro that results
    in disabling the warning for compiles on GCC versions after 8.
    
    It is not appropriate to change the struct to initialize all the
    values as it will just add a lot more code for no value. The code
    is completely correct as is, we just want to acknowledge that
    this code could generate a warning and we're ok with that.
    
    NOTE: the __diag_ignore macro currently only accepts a second
    argument of 8 (version 80000), it's either use this one or
    open code the pragma.
    
    Fixed Warnings example (all the same):
    drivers/net/ethernet/renesas/sh_eth.c:51:12: warning: initialized field overwritten [-Woverride-init]
    drivers/net/ethernet/renesas/sh_eth.c:52:12: warning: initialized field overwritten [-Woverride-init]
    drivers/net/ethernet/renesas/sh_eth.c:53:13: warning: initialized field overwritten [-Woverride-init]
    + 256 more...
    Signed-off-by: default avatarJesse Brandeburg <jesse.brandeburg@intel.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    2602ddfe
sh_eth.c 85.5 KB