iio: imu: inv_icm42600: Move exports to IIO_ICM42600 namespace
As these exports are only relevant to core module and users in the bus specific modules, move them out of the main kernel 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: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com> -- EXPORT_NS_GPL_DEV_PM_OPS() v2: Switch to Paul's more flexible version of the Acked-by: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com> Link: https://lore.kernel.org/r/20220925155719.3316280-5-jic23@kernel.org Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
Родитель
02e082c433
Коммит
ef5a5ef29c
|
@ -41,7 +41,7 @@ const struct regmap_config inv_icm42600_regmap_config = {
|
|||
.ranges = inv_icm42600_regmap_ranges,
|
||||
.num_ranges = ARRAY_SIZE(inv_icm42600_regmap_ranges),
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(inv_icm42600_regmap_config);
|
||||
EXPORT_SYMBOL_NS_GPL(inv_icm42600_regmap_config, IIO_ICM42600);
|
||||
|
||||
struct inv_icm42600_hw {
|
||||
uint8_t whoami;
|
||||
|
@ -660,13 +660,13 @@ int inv_icm42600_core_probe(struct regmap *regmap, int chip, int irq,
|
|||
|
||||
return devm_add_action_or_reset(dev, inv_icm42600_disable_pm, dev);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(inv_icm42600_core_probe);
|
||||
EXPORT_SYMBOL_NS_GPL(inv_icm42600_core_probe, IIO_ICM42600);
|
||||
|
||||
/*
|
||||
* Suspend saves sensors state and turns everything off.
|
||||
* Check first if runtime suspend has not already done the job.
|
||||
*/
|
||||
static int __maybe_unused inv_icm42600_suspend(struct device *dev)
|
||||
static int inv_icm42600_suspend(struct device *dev)
|
||||
{
|
||||
struct inv_icm42600_state *st = dev_get_drvdata(dev);
|
||||
int ret;
|
||||
|
@ -706,7 +706,7 @@ out_unlock:
|
|||
* System resume gets the system back on and restores the sensors state.
|
||||
* Manually put runtime power management in system active state.
|
||||
*/
|
||||
static int __maybe_unused inv_icm42600_resume(struct device *dev)
|
||||
static int inv_icm42600_resume(struct device *dev)
|
||||
{
|
||||
struct inv_icm42600_state *st = dev_get_drvdata(dev);
|
||||
int ret;
|
||||
|
@ -739,7 +739,7 @@ out_unlock:
|
|||
}
|
||||
|
||||
/* Runtime suspend will turn off sensors that are enabled by iio devices. */
|
||||
static int __maybe_unused inv_icm42600_runtime_suspend(struct device *dev)
|
||||
static int inv_icm42600_runtime_suspend(struct device *dev)
|
||||
{
|
||||
struct inv_icm42600_state *st = dev_get_drvdata(dev);
|
||||
int ret;
|
||||
|
@ -761,7 +761,7 @@ error_unlock:
|
|||
}
|
||||
|
||||
/* Sensors are enabled by iio devices, no need to turn them back on here. */
|
||||
static int __maybe_unused inv_icm42600_runtime_resume(struct device *dev)
|
||||
static int inv_icm42600_runtime_resume(struct device *dev)
|
||||
{
|
||||
struct inv_icm42600_state *st = dev_get_drvdata(dev);
|
||||
int ret;
|
||||
|
@ -774,12 +774,11 @@ static int __maybe_unused inv_icm42600_runtime_resume(struct device *dev)
|
|||
return ret;
|
||||
}
|
||||
|
||||
const struct dev_pm_ops inv_icm42600_pm_ops = {
|
||||
SET_SYSTEM_SLEEP_PM_OPS(inv_icm42600_suspend, inv_icm42600_resume)
|
||||
SET_RUNTIME_PM_OPS(inv_icm42600_runtime_suspend,
|
||||
inv_icm42600_runtime_resume, NULL)
|
||||
EXPORT_NS_GPL_DEV_PM_OPS(inv_icm42600_pm_ops, IIO_ICM42600) = {
|
||||
SYSTEM_SLEEP_PM_OPS(inv_icm42600_suspend, inv_icm42600_resume)
|
||||
RUNTIME_PM_OPS(inv_icm42600_runtime_suspend,
|
||||
inv_icm42600_runtime_resume, NULL)
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(inv_icm42600_pm_ops);
|
||||
|
||||
MODULE_AUTHOR("InvenSense, Inc.");
|
||||
MODULE_DESCRIPTION("InvenSense ICM-426xx device driver");
|
||||
|
|
|
@ -93,7 +93,7 @@ static struct i2c_driver inv_icm42600_driver = {
|
|||
.driver = {
|
||||
.name = "inv-icm42600-i2c",
|
||||
.of_match_table = inv_icm42600_of_matches,
|
||||
.pm = &inv_icm42600_pm_ops,
|
||||
.pm = pm_ptr(&inv_icm42600_pm_ops),
|
||||
},
|
||||
.probe_new = inv_icm42600_probe,
|
||||
};
|
||||
|
@ -102,3 +102,4 @@ module_i2c_driver(inv_icm42600_driver);
|
|||
MODULE_AUTHOR("InvenSense, Inc.");
|
||||
MODULE_DESCRIPTION("InvenSense ICM-426xx I2C driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(IIO_ICM42600);
|
||||
|
|
|
@ -89,7 +89,7 @@ static struct spi_driver inv_icm42600_driver = {
|
|||
.driver = {
|
||||
.name = "inv-icm42600-spi",
|
||||
.of_match_table = inv_icm42600_of_matches,
|
||||
.pm = &inv_icm42600_pm_ops,
|
||||
.pm = pm_ptr(&inv_icm42600_pm_ops),
|
||||
},
|
||||
.probe = inv_icm42600_probe,
|
||||
};
|
||||
|
@ -98,3 +98,4 @@ module_spi_driver(inv_icm42600_driver);
|
|||
MODULE_AUTHOR("InvenSense, Inc.");
|
||||
MODULE_DESCRIPTION("InvenSense ICM-426xx SPI driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_IMPORT_NS(IIO_ICM42600);
|
||||
|
|
Загрузка…
Ссылка в новой задаче