• Nathan Chancellor's avatar
    iio: bmi323: Drop CONFIG_PM guards around runtime functions · cd8247cd
    Nathan Chancellor authored
    When building with clang and CONFIG_PM disabled (such as with s390), it
    warns:
    
      drivers/iio/imu/bmi323/bmi323_core.c:121:27: warning: variable 'bmi323_reg_savestate' is not needed and will not be emitted [-Wunneeded-internal-declaration]
        121 | static const unsigned int bmi323_reg_savestate[] = {
            |                           ^~~~~~~~~~~~~~~~~~~~
      drivers/iio/imu/bmi323/bmi323_core.c:133:27: warning: variable 'bmi323_ext_reg_savestate' is not needed and will not be emitted [-Wunneeded-internal-declaration]
        133 | static const unsigned int bmi323_ext_reg_savestate[] = {
            |                           ^~~~~~~~~~~~~~~~~~~~~~~~
    
    These arrays have no references outside of sizeof(), which will be
    evaluated at compile time. To avoid these warnings, remove the CONFIG_PM
    ifdef guard and use the RUNTIME_PM_OPS macro to ensure these functions
    always appear used to the compiler, which allows the references to the
    arrays to be visible as well. This results in no difference in runtime
    behavior because bmi323_core_pm_ops is only used when CONFIG_PM is set
    with the pm_ptr() macro.
    
    Fixes: b09999ee ("iio: bmi323: suspend and resume triggering on relevant pm operations")
    Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
    Link: https://patch.msgid.link/20240910-iio-bmi323-remove-config_pm-guards-v1-1-0552249207af@kernel.orgSigned-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
    cd8247cd
bmi323_core.c 57.7 KB