Commit cd8247cd authored by Nathan Chancellor's avatar Nathan Chancellor Committed by Jonathan Cameron

iio: bmi323: Drop CONFIG_PM guards around runtime functions

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>
parent 9de32f48
...@@ -2172,7 +2172,6 @@ int bmi323_core_probe(struct device *dev) ...@@ -2172,7 +2172,6 @@ int bmi323_core_probe(struct device *dev)
} }
EXPORT_SYMBOL_NS_GPL(bmi323_core_probe, IIO_BMI323); EXPORT_SYMBOL_NS_GPL(bmi323_core_probe, IIO_BMI323);
#if defined(CONFIG_PM)
static int bmi323_core_runtime_suspend(struct device *dev) static int bmi323_core_runtime_suspend(struct device *dev)
{ {
struct iio_dev *indio_dev = dev_get_drvdata(dev); struct iio_dev *indio_dev = dev_get_drvdata(dev);
...@@ -2293,11 +2292,9 @@ static int bmi323_core_runtime_resume(struct device *dev) ...@@ -2293,11 +2292,9 @@ static int bmi323_core_runtime_resume(struct device *dev)
return iio_device_resume_triggering(indio_dev); return iio_device_resume_triggering(indio_dev);
} }
#endif
const struct dev_pm_ops bmi323_core_pm_ops = { const struct dev_pm_ops bmi323_core_pm_ops = {
SET_RUNTIME_PM_OPS(bmi323_core_runtime_suspend, RUNTIME_PM_OPS(bmi323_core_runtime_suspend,
bmi323_core_runtime_resume, NULL) bmi323_core_runtime_resume, NULL)
}; };
EXPORT_SYMBOL_NS_GPL(bmi323_core_pm_ops, IIO_BMI323); EXPORT_SYMBOL_NS_GPL(bmi323_core_pm_ops, IIO_BMI323);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment