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:
Jonathan Cameron 2022-09-25 16:57:18 +01:00
parent 02e082c433
commit ef5a5ef29c
3 changed files with 14 additions and 13 deletions

View file

@ -41,7 +41,7 @@ const struct regmap_config inv_icm42600_regmap_config = {
.ranges = inv_icm42600_regmap_ranges, .ranges = inv_icm42600_regmap_ranges,
.num_ranges = ARRAY_SIZE(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 { struct inv_icm42600_hw {
uint8_t whoami; 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); 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. * Suspend saves sensors state and turns everything off.
* Check first if runtime suspend has not already done the job. * 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); struct inv_icm42600_state *st = dev_get_drvdata(dev);
int ret; int ret;
@ -706,7 +706,7 @@ static int __maybe_unused inv_icm42600_suspend(struct device *dev)
* System resume gets the system back on and restores the sensors state. * System resume gets the system back on and restores the sensors state.
* Manually put runtime power management in system active 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); struct inv_icm42600_state *st = dev_get_drvdata(dev);
int ret; int ret;
@ -739,7 +739,7 @@ static int __maybe_unused inv_icm42600_resume(struct device *dev)
} }
/* Runtime suspend will turn off sensors that are enabled by iio devices. */ /* 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); struct inv_icm42600_state *st = dev_get_drvdata(dev);
int ret; int ret;
@ -761,7 +761,7 @@ static int __maybe_unused inv_icm42600_runtime_suspend(struct device *dev)
} }
/* Sensors are enabled by iio devices, no need to turn them back on here. */ /* 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); struct inv_icm42600_state *st = dev_get_drvdata(dev);
int ret; int ret;
@ -774,12 +774,11 @@ static int __maybe_unused inv_icm42600_runtime_resume(struct device *dev)
return ret; return ret;
} }
const struct dev_pm_ops inv_icm42600_pm_ops = { EXPORT_NS_GPL_DEV_PM_OPS(inv_icm42600_pm_ops, IIO_ICM42600) = {
SET_SYSTEM_SLEEP_PM_OPS(inv_icm42600_suspend, inv_icm42600_resume) SYSTEM_SLEEP_PM_OPS(inv_icm42600_suspend, inv_icm42600_resume)
SET_RUNTIME_PM_OPS(inv_icm42600_runtime_suspend, RUNTIME_PM_OPS(inv_icm42600_runtime_suspend,
inv_icm42600_runtime_resume, NULL) inv_icm42600_runtime_resume, NULL)
}; };
EXPORT_SYMBOL_GPL(inv_icm42600_pm_ops);
MODULE_AUTHOR("InvenSense, Inc."); MODULE_AUTHOR("InvenSense, Inc.");
MODULE_DESCRIPTION("InvenSense ICM-426xx device driver"); MODULE_DESCRIPTION("InvenSense ICM-426xx device driver");

View file

@ -93,7 +93,7 @@ static struct i2c_driver inv_icm42600_driver = {
.driver = { .driver = {
.name = "inv-icm42600-i2c", .name = "inv-icm42600-i2c",
.of_match_table = inv_icm42600_of_matches, .of_match_table = inv_icm42600_of_matches,
.pm = &inv_icm42600_pm_ops, .pm = pm_ptr(&inv_icm42600_pm_ops),
}, },
.probe_new = inv_icm42600_probe, .probe_new = inv_icm42600_probe,
}; };
@ -102,3 +102,4 @@ module_i2c_driver(inv_icm42600_driver);
MODULE_AUTHOR("InvenSense, Inc."); MODULE_AUTHOR("InvenSense, Inc.");
MODULE_DESCRIPTION("InvenSense ICM-426xx I2C driver"); MODULE_DESCRIPTION("InvenSense ICM-426xx I2C driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(IIO_ICM42600);

View file

@ -89,7 +89,7 @@ static struct spi_driver inv_icm42600_driver = {
.driver = { .driver = {
.name = "inv-icm42600-spi", .name = "inv-icm42600-spi",
.of_match_table = inv_icm42600_of_matches, .of_match_table = inv_icm42600_of_matches,
.pm = &inv_icm42600_pm_ops, .pm = pm_ptr(&inv_icm42600_pm_ops),
}, },
.probe = inv_icm42600_probe, .probe = inv_icm42600_probe,
}; };
@ -98,3 +98,4 @@ module_spi_driver(inv_icm42600_driver);
MODULE_AUTHOR("InvenSense, Inc."); MODULE_AUTHOR("InvenSense, Inc.");
MODULE_DESCRIPTION("InvenSense ICM-426xx SPI driver"); MODULE_DESCRIPTION("InvenSense ICM-426xx SPI driver");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_IMPORT_NS(IIO_ICM42600);