iio: gyro: fxas210002c: Move exports to IIO_FXAS210002C namespace.

Includes using EXPORT_NS_GPL_DEV_PM_OPS() and the simplifications that
brings by allowing the compiler to remove unused struct dev_pm_ops
and callbacks without needing explicit __maybe_unused markings.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

--
Dropped Rui's tag on basis this is rather different from v1 due to
the different macro implementation.

v2: Switch to Paul's more flexible approach to EXPORT_NS_GPL_DEV_PM_OPS()
Acked-by: Rui Miguel Silva <rui.silva@linaro.org>
Link: https://lore.kernel.org/r/20220925155719.3316280-4-jic23@kernel.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
Jonathan Cameron 2022-09-25 16:57:17 +01:00
parent 687c8848c6
commit 02e082c433
3 changed files with 14 additions and 13 deletions

View File

@ -998,7 +998,7 @@ pm_disable:
return ret; return ret;
} }
EXPORT_SYMBOL_GPL(fxas21002c_core_probe); EXPORT_SYMBOL_NS_GPL(fxas21002c_core_probe, IIO_FXAS21002C);
void fxas21002c_core_remove(struct device *dev) void fxas21002c_core_remove(struct device *dev)
{ {
@ -1009,9 +1009,9 @@ void fxas21002c_core_remove(struct device *dev)
pm_runtime_disable(dev); pm_runtime_disable(dev);
pm_runtime_set_suspended(dev); pm_runtime_set_suspended(dev);
} }
EXPORT_SYMBOL_GPL(fxas21002c_core_remove); EXPORT_SYMBOL_NS_GPL(fxas21002c_core_remove, IIO_FXAS21002C);
static int __maybe_unused fxas21002c_suspend(struct device *dev) static int fxas21002c_suspend(struct device *dev)
{ {
struct fxas21002c_data *data = iio_priv(dev_get_drvdata(dev)); struct fxas21002c_data *data = iio_priv(dev_get_drvdata(dev));
@ -1021,7 +1021,7 @@ static int __maybe_unused fxas21002c_suspend(struct device *dev)
return 0; return 0;
} }
static int __maybe_unused fxas21002c_resume(struct device *dev) static int fxas21002c_resume(struct device *dev)
{ {
struct fxas21002c_data *data = iio_priv(dev_get_drvdata(dev)); struct fxas21002c_data *data = iio_priv(dev_get_drvdata(dev));
int ret; int ret;
@ -1033,26 +1033,25 @@ static int __maybe_unused fxas21002c_resume(struct device *dev)
return fxas21002c_mode_set(data, data->prev_mode); return fxas21002c_mode_set(data, data->prev_mode);
} }
static int __maybe_unused fxas21002c_runtime_suspend(struct device *dev) static int fxas21002c_runtime_suspend(struct device *dev)
{ {
struct fxas21002c_data *data = iio_priv(dev_get_drvdata(dev)); struct fxas21002c_data *data = iio_priv(dev_get_drvdata(dev));
return fxas21002c_mode_set(data, FXAS21002C_MODE_READY); return fxas21002c_mode_set(data, FXAS21002C_MODE_READY);
} }
static int __maybe_unused fxas21002c_runtime_resume(struct device *dev) static int fxas21002c_runtime_resume(struct device *dev)
{ {
struct fxas21002c_data *data = iio_priv(dev_get_drvdata(dev)); struct fxas21002c_data *data = iio_priv(dev_get_drvdata(dev));
return fxas21002c_mode_set(data, FXAS21002C_MODE_ACTIVE); return fxas21002c_mode_set(data, FXAS21002C_MODE_ACTIVE);
} }
const struct dev_pm_ops fxas21002c_pm_ops = { EXPORT_NS_GPL_DEV_PM_OPS(fxas21002c_pm_ops, IIO_FXAS21002C) = {
SET_SYSTEM_SLEEP_PM_OPS(fxas21002c_suspend, fxas21002c_resume) SYSTEM_SLEEP_PM_OPS(fxas21002c_suspend, fxas21002c_resume)
SET_RUNTIME_PM_OPS(fxas21002c_runtime_suspend, RUNTIME_PM_OPS(fxas21002c_runtime_suspend, fxas21002c_runtime_resume,
fxas21002c_runtime_resume, NULL) NULL)
}; };
EXPORT_SYMBOL_GPL(fxas21002c_pm_ops);
MODULE_AUTHOR("Rui Miguel Silva <rui.silva@linaro.org>"); MODULE_AUTHOR("Rui Miguel Silva <rui.silva@linaro.org>");
MODULE_LICENSE("GPL v2"); MODULE_LICENSE("GPL v2");

View File

@ -53,7 +53,7 @@ MODULE_DEVICE_TABLE(of, fxas21002c_i2c_of_match);
static struct i2c_driver fxas21002c_i2c_driver = { static struct i2c_driver fxas21002c_i2c_driver = {
.driver = { .driver = {
.name = "fxas21002c_i2c", .name = "fxas21002c_i2c",
.pm = &fxas21002c_pm_ops, .pm = pm_ptr(&fxas21002c_pm_ops),
.of_match_table = fxas21002c_i2c_of_match, .of_match_table = fxas21002c_i2c_of_match,
}, },
.probe_new = fxas21002c_i2c_probe, .probe_new = fxas21002c_i2c_probe,
@ -65,3 +65,4 @@ module_i2c_driver(fxas21002c_i2c_driver);
MODULE_AUTHOR("Rui Miguel Silva <rui.silva@linaro.org>"); MODULE_AUTHOR("Rui Miguel Silva <rui.silva@linaro.org>");
MODULE_LICENSE("GPL v2"); MODULE_LICENSE("GPL v2");
MODULE_DESCRIPTION("FXAS21002C I2C Gyro driver"); MODULE_DESCRIPTION("FXAS21002C I2C Gyro driver");
MODULE_IMPORT_NS(IIO_FXAS21002C);

View File

@ -54,7 +54,7 @@ MODULE_DEVICE_TABLE(of, fxas21002c_spi_of_match);
static struct spi_driver fxas21002c_spi_driver = { static struct spi_driver fxas21002c_spi_driver = {
.driver = { .driver = {
.name = "fxas21002c_spi", .name = "fxas21002c_spi",
.pm = &fxas21002c_pm_ops, .pm = pm_ptr(&fxas21002c_pm_ops),
.of_match_table = fxas21002c_spi_of_match, .of_match_table = fxas21002c_spi_of_match,
}, },
.probe = fxas21002c_spi_probe, .probe = fxas21002c_spi_probe,
@ -66,3 +66,4 @@ module_spi_driver(fxas21002c_spi_driver);
MODULE_AUTHOR("Rui Miguel Silva <rui.silva@linaro.org>"); MODULE_AUTHOR("Rui Miguel Silva <rui.silva@linaro.org>");
MODULE_LICENSE("GPL v2"); MODULE_LICENSE("GPL v2");
MODULE_DESCRIPTION("FXAS21002C SPI Gyro driver"); MODULE_DESCRIPTION("FXAS21002C SPI Gyro driver");
MODULE_IMPORT_NS(IIO_FXAS21002C);