mirror of
https://github.com/torvalds/linux
synced 2024-10-17 08:46:50 +00:00
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:
parent
02e082c433
commit
ef5a5ef29c
|
@ -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");
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
|
|
Loading…
Reference in a new issue