Unverified Commit e9c77480 authored by Mark Brown's avatar Mark Brown
Browse files

ASoC: cs35l56: Define and export I2C/SPI pm_ops only

Merge series from Richard Fitzgerald <rf@opensource.cirrus.com>:

These 3 patches update the pm_ops for I2C/SPI so that they are only built
and exported if they are needed.
parents 5a7d9aaf 01e76ee2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -73,7 +73,7 @@ MODULE_DEVICE_TABLE(acpi, cs35l56_asoc_acpi_match);
static struct i2c_driver cs35l56_i2c_driver = {
	.driver = {
		.name		= "cs35l56",
		.pm = &cs35l56_pm_ops_i2c_spi,
		.pm = pm_ptr(&cs35l56_pm_ops_i2c_spi),
		.acpi_match_table = ACPI_PTR(cs35l56_asoc_acpi_match),
	},
	.id_table	= cs35l56_id_i2c,
+1 −1
Original line number Diff line number Diff line
@@ -550,7 +550,7 @@ MODULE_DEVICE_TABLE(sdw, cs35l56_sdw_id);
static struct sdw_driver cs35l56_sdw_driver = {
	.driver = {
		.name = "cs35l56",
		.pm = &cs35l56_sdw_pm,
		.pm = pm_ptr(&cs35l56_sdw_pm),
	},
	.probe = cs35l56_sdw_probe,
	.remove = cs35l56_sdw_remove,
+1 −1
Original line number Diff line number Diff line
@@ -70,7 +70,7 @@ MODULE_DEVICE_TABLE(acpi, cs35l56_asoc_acpi_match);
static struct spi_driver cs35l56_spi_driver = {
	.driver = {
		.name		= "cs35l56",
		.pm = &cs35l56_pm_ops_i2c_spi,
		.pm = pm_ptr(&cs35l56_pm_ops_i2c_spi),
		.acpi_match_table = ACPI_PTR(cs35l56_asoc_acpi_match),
	},
	.id_table	= cs35l56_id_spi,
+3 −2
Original line number Diff line number Diff line
@@ -1229,13 +1229,14 @@ void cs35l56_remove(struct cs35l56_private *cs35l56)
}
EXPORT_SYMBOL_NS_GPL(cs35l56_remove, SND_SOC_CS35L56_CORE);

const struct dev_pm_ops cs35l56_pm_ops_i2c_spi = {
#if IS_ENABLED(CONFIG_SND_SOC_CS35L56_I2C) || IS_ENABLED(CONFIG_SND_SOC_CS35L56_SPI)
EXPORT_NS_GPL_DEV_PM_OPS(cs35l56_pm_ops_i2c_spi, SND_SOC_CS35L56_CORE) = {
	SET_RUNTIME_PM_OPS(cs35l56_runtime_suspend_i2c_spi, cs35l56_runtime_resume_i2c_spi, NULL)
	SYSTEM_SLEEP_PM_OPS(cs35l56_system_suspend, cs35l56_system_resume)
	LATE_SYSTEM_SLEEP_PM_OPS(cs35l56_system_suspend_late, cs35l56_system_resume_early)
	NOIRQ_SYSTEM_SLEEP_PM_OPS(cs35l56_system_suspend_no_irq, cs35l56_system_resume_no_irq)
};
EXPORT_SYMBOL_NS_GPL(cs35l56_pm_ops_i2c_spi, SND_SOC_CS35L56_CORE);
#endif

MODULE_DESCRIPTION("ASoC CS35L56 driver");
MODULE_IMPORT_NS(SND_SOC_CS35L56_SHARED);