summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2026-02-17 10:07:13 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2026-02-17 10:07:13 -0800
commit4e15e819710e3518ec28735a12e0f45b7550290d (patch)
treeebfa8b709134f02bb0d2f9abd87743fd0b25e52c
parentd295082ea672e7277388e1cf7c5af73788cf8029 (diff)
parentdc3a6a942e9ee3f18560bfcb16c06bb94f37fabf (diff)
Merge tag 'soundwire-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire
Pull soundwire updates from Vinod Koul: - support for Qualcomm v2.2.0 controllers - bus method updates for .probe(), .remove() and .shutdown() and remove function return value updates - Avell B.ON dmi-quirks mapping - mark cs42l45 codec as wake capable * tag 'soundwire-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire: soundwire: intel_ace2x: add SND_HDA_CORE dependency dt-bindings: soundwire: qcom: Add SoundWire v2.2.0 compatible soundwire: Use bus methods for .probe(), .remove() and .shutdown() soundwire: Make remove function return no value soundwire: dmi-quirks: add mapping for Avell B.ON (OEM rebranded of NUC15) soundwire: qcom: Use guard to avoid mixing cleanup and goto soundwire: intel_auxdevice: add cs42l45 codec to wake_capable_list
-rw-r--r--Documentation/devicetree/bindings/soundwire/qcom,soundwire.yaml1
-rw-r--r--drivers/soundwire/Kconfig1
-rw-r--r--drivers/soundwire/bus_type.c31
-rw-r--r--drivers/soundwire/dmi-quirks.c11
-rw-r--r--drivers/soundwire/intel_auxdevice.c1
-rw-r--r--drivers/soundwire/qcom.c12
-rw-r--r--include/linux/soundwire/sdw.h2
-rw-r--r--sound/soc/codecs/cs35l56-sdw.c4
-rw-r--r--sound/soc/codecs/cs42l42-sdw.c4
-rw-r--r--sound/soc/codecs/max98373-sdw.c4
-rw-r--r--sound/soc/codecs/pm4125-sdw.c4
-rw-r--r--sound/soc/codecs/rt1017-sdca-sdw.c4
-rw-r--r--sound/soc/codecs/rt1308-sdw.c4
-rw-r--r--sound/soc/codecs/rt1316-sdw.c4
-rw-r--r--sound/soc/codecs/rt1318-sdw.c4
-rw-r--r--sound/soc/codecs/rt1320-sdw.c4
-rw-r--r--sound/soc/codecs/rt5682-sdw.c4
-rw-r--r--sound/soc/codecs/rt700-sdw.c4
-rw-r--r--sound/soc/codecs/rt711-sdca-sdw.c4
-rw-r--r--sound/soc/codecs/rt711-sdw.c4
-rw-r--r--sound/soc/codecs/rt712-sdca-dmic.c4
-rw-r--r--sound/soc/codecs/rt712-sdca-sdw.c4
-rw-r--r--sound/soc/codecs/rt715-sdca-sdw.c4
-rw-r--r--sound/soc/codecs/rt715-sdw.c4
-rw-r--r--sound/soc/codecs/rt721-sdca-sdw.c4
-rw-r--r--sound/soc/codecs/rt722-sdca-sdw.c4
-rw-r--r--sound/soc/codecs/tas2783-sdw.c4
-rw-r--r--sound/soc/codecs/wcd937x-sdw.c4
-rw-r--r--sound/soc/codecs/wcd938x-sdw.c4
-rw-r--r--sound/soc/codecs/wcd939x-sdw.c4
30 files changed, 57 insertions, 94 deletions
diff --git a/Documentation/devicetree/bindings/soundwire/qcom,soundwire.yaml b/Documentation/devicetree/bindings/soundwire/qcom,soundwire.yaml
index 003023729fb8..9447a2f371b5 100644
--- a/Documentation/devicetree/bindings/soundwire/qcom,soundwire.yaml
+++ b/Documentation/devicetree/bindings/soundwire/qcom,soundwire.yaml
@@ -27,6 +27,7 @@ properties:
- items:
- enum:
- qcom,soundwire-v2.1.0
+ - qcom,soundwire-v2.2.0
- const: qcom,soundwire-v2.0.0
reg:
diff --git a/drivers/soundwire/Kconfig b/drivers/soundwire/Kconfig
index ad56393e4c93..196a7daaabdb 100644
--- a/drivers/soundwire/Kconfig
+++ b/drivers/soundwire/Kconfig
@@ -40,6 +40,7 @@ config SOUNDWIRE_INTEL
select AUXILIARY_BUS
depends on ACPI && SND_SOC
depends on SND_SOC_SOF_HDA_MLINK || !SND_SOC_SOF_HDA_MLINK
+ depends on SND_HDA_CORE || !SND_HDA_ALIGNED_MMIO
help
SoundWire Intel Master driver.
If you have an Intel platform which has a SoundWire Master then
diff --git a/drivers/soundwire/bus_type.c b/drivers/soundwire/bus_type.c
index 5c67c13e5735..a05aa36828cb 100644
--- a/drivers/soundwire/bus_type.c
+++ b/drivers/soundwire/bus_type.c
@@ -72,13 +72,7 @@ int sdw_slave_uevent(const struct device *dev, struct kobj_uevent_env *env)
return 0;
}
-const struct bus_type sdw_bus_type = {
- .name = "soundwire",
- .match = sdw_bus_match,
-};
-EXPORT_SYMBOL_GPL(sdw_bus_type);
-
-static int sdw_drv_probe(struct device *dev)
+static int sdw_bus_probe(struct device *dev)
{
struct sdw_slave *slave = dev_to_sdw_dev(dev);
struct sdw_driver *drv = drv_to_sdw_driver(dev->driver);
@@ -164,11 +158,10 @@ static int sdw_drv_probe(struct device *dev)
return 0;
}
-static int sdw_drv_remove(struct device *dev)
+static void sdw_bus_remove(struct device *dev)
{
struct sdw_slave *slave = dev_to_sdw_dev(dev);
struct sdw_driver *drv = drv_to_sdw_driver(dev->driver);
- int ret = 0;
mutex_lock(&slave->sdw_dev_lock);
@@ -177,22 +170,29 @@ static int sdw_drv_remove(struct device *dev)
mutex_unlock(&slave->sdw_dev_lock);
if (drv->remove)
- ret = drv->remove(slave);
+ drv->remove(slave);
ida_free(&slave->bus->slave_ida, slave->index);
-
- return ret;
}
-static void sdw_drv_shutdown(struct device *dev)
+static void sdw_bus_shutdown(struct device *dev)
{
struct sdw_slave *slave = dev_to_sdw_dev(dev);
struct sdw_driver *drv = drv_to_sdw_driver(dev->driver);
- if (drv->shutdown)
+ if (dev->driver && drv->shutdown)
drv->shutdown(slave);
}
+const struct bus_type sdw_bus_type = {
+ .name = "soundwire",
+ .match = sdw_bus_match,
+ .probe = sdw_bus_probe,
+ .remove = sdw_bus_remove,
+ .shutdown = sdw_bus_shutdown,
+};
+EXPORT_SYMBOL_GPL(sdw_bus_type);
+
/**
* __sdw_register_driver() - register a SoundWire Slave driver
* @drv: driver to register
@@ -211,9 +211,6 @@ int __sdw_register_driver(struct sdw_driver *drv, struct module *owner)
}
drv->driver.owner = owner;
- drv->driver.probe = sdw_drv_probe;
- drv->driver.remove = sdw_drv_remove;
- drv->driver.shutdown = sdw_drv_shutdown;
drv->driver.dev_groups = sdw_attr_groups;
return driver_register(&drv->driver);
diff --git a/drivers/soundwire/dmi-quirks.c b/drivers/soundwire/dmi-quirks.c
index 91ab97a456fa..5854218e1a27 100644
--- a/drivers/soundwire/dmi-quirks.c
+++ b/drivers/soundwire/dmi-quirks.c
@@ -123,6 +123,17 @@ static const struct dmi_system_id adr_remap_quirk_table[] = {
.driver_data = (void *)intel_tgl_bios,
},
{
+ /*
+ * quirk used for Avell B.ON (OEM rebrand of NUC15 'Bishop County'
+ * LAPBC510 and LAPBC710)
+ */
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Avell High Performance"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "B.ON"),
+ },
+ .driver_data = (void *)intel_tgl_bios,
+ },
+ {
/* quirk used for NUC15 'Rooks County' LAPRC510 and LAPRC710 skews */
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Intel(R) Client Systems"),
diff --git a/drivers/soundwire/intel_auxdevice.c b/drivers/soundwire/intel_auxdevice.c
index 6df2601fff90..8752b0e3ce74 100644
--- a/drivers/soundwire/intel_auxdevice.c
+++ b/drivers/soundwire/intel_auxdevice.c
@@ -52,6 +52,7 @@ struct wake_capable_part {
static struct wake_capable_part wake_capable_list[] = {
{0x01fa, 0x4243},
+ {0x01fa, 0x4245},
{0x025d, 0x5682},
{0x025d, 0x700},
{0x025d, 0x711},
diff --git a/drivers/soundwire/qcom.c b/drivers/soundwire/qcom.c
index 17afc5aa8b44..8102a1b0d516 100644
--- a/drivers/soundwire/qcom.c
+++ b/drivers/soundwire/qcom.c
@@ -1228,7 +1228,7 @@ static int qcom_swrm_stream_alloc_ports(struct qcom_swrm_ctrl *ctrl,
struct sdw_port_runtime *p_rt;
struct sdw_slave *slave;
unsigned long *port_mask;
- int maxport, pn, nports = 0, ret = 0;
+ int maxport, pn, nports = 0;
unsigned int m_port;
struct sdw_port_config *pconfig __free(kfree) = kcalloc(ctrl->nports,
sizeof(*pconfig), GFP_KERNEL);
@@ -1246,7 +1246,8 @@ static int qcom_swrm_stream_alloc_ports(struct qcom_swrm_ctrl *ctrl,
sconfig.type = stream->type;
sconfig.bps = 1;
- mutex_lock(&ctrl->port_lock);
+ guard(mutex)(&ctrl->port_lock);
+
list_for_each_entry(m_rt, &stream->master_list, stream_node) {
/*
* For streams with multiple masters:
@@ -1272,8 +1273,7 @@ static int qcom_swrm_stream_alloc_ports(struct qcom_swrm_ctrl *ctrl,
if (pn > maxport) {
dev_err(ctrl->dev, "All ports busy\n");
- ret = -EBUSY;
- goto out;
+ return -EBUSY;
}
set_bit(pn, port_mask);
pconfig[nports].num = pn;
@@ -1285,10 +1285,8 @@ static int qcom_swrm_stream_alloc_ports(struct qcom_swrm_ctrl *ctrl,
sdw_stream_add_master(&ctrl->bus, &sconfig, pconfig,
nports, stream);
-out:
- mutex_unlock(&ctrl->port_lock);
- return ret;
+ return 0;
}
static int qcom_swrm_hw_params(struct snd_pcm_substream *substream,
diff --git a/include/linux/soundwire/sdw.h b/include/linux/soundwire/sdw.h
index e6a3476bcef1..f462717acf20 100644
--- a/include/linux/soundwire/sdw.h
+++ b/include/linux/soundwire/sdw.h
@@ -705,7 +705,7 @@ struct sdw_master_device {
struct sdw_driver {
int (*probe)(struct sdw_slave *sdw, const struct sdw_device_id *id);
- int (*remove)(struct sdw_slave *sdw);
+ void (*remove)(struct sdw_slave *sdw);
void (*shutdown)(struct sdw_slave *sdw);
const struct sdw_device_id *id_table;
diff --git a/sound/soc/codecs/cs35l56-sdw.c b/sound/soc/codecs/cs35l56-sdw.c
index 42d24ac2977f..30b3192d6ce9 100644
--- a/sound/soc/codecs/cs35l56-sdw.c
+++ b/sound/soc/codecs/cs35l56-sdw.c
@@ -554,7 +554,7 @@ static int cs35l56_sdw_probe(struct sdw_slave *peripheral, const struct sdw_devi
return 0;
}
-static int cs35l56_sdw_remove(struct sdw_slave *peripheral)
+static void cs35l56_sdw_remove(struct sdw_slave *peripheral)
{
struct cs35l56_private *cs35l56 = dev_get_drvdata(&peripheral->dev);
@@ -566,8 +566,6 @@ static int cs35l56_sdw_remove(struct sdw_slave *peripheral)
sdw_write_no_pm(peripheral, CS35L56_SDW_GEN_INT_STAT_1, 0xFF);
cs35l56_remove(cs35l56);
-
- return 0;
}
static const struct dev_pm_ops cs35l56_sdw_pm = {
diff --git a/sound/soc/codecs/cs42l42-sdw.c b/sound/soc/codecs/cs42l42-sdw.c
index f837c7eff10b..d5999ad9ff9b 100644
--- a/sound/soc/codecs/cs42l42-sdw.c
+++ b/sound/soc/codecs/cs42l42-sdw.c
@@ -585,14 +585,12 @@ static int cs42l42_sdw_probe(struct sdw_slave *peripheral, const struct sdw_devi
return 0;
}
-static int cs42l42_sdw_remove(struct sdw_slave *peripheral)
+static void cs42l42_sdw_remove(struct sdw_slave *peripheral)
{
struct cs42l42_private *cs42l42 = dev_get_drvdata(&peripheral->dev);
cs42l42_common_remove(cs42l42);
pm_runtime_disable(cs42l42->dev);
-
- return 0;
}
static const struct dev_pm_ops cs42l42_sdw_pm = {
diff --git a/sound/soc/codecs/max98373-sdw.c b/sound/soc/codecs/max98373-sdw.c
index 88ff215f52b3..16673440218c 100644
--- a/sound/soc/codecs/max98373-sdw.c
+++ b/sound/soc/codecs/max98373-sdw.c
@@ -839,11 +839,9 @@ static int max98373_sdw_probe(struct sdw_slave *slave,
return max98373_init(slave, regmap);
}
-static int max98373_sdw_remove(struct sdw_slave *slave)
+static void max98373_sdw_remove(struct sdw_slave *slave)
{
pm_runtime_disable(&slave->dev);
-
- return 0;
}
#if defined(CONFIG_OF)
diff --git a/sound/soc/codecs/pm4125-sdw.c b/sound/soc/codecs/pm4125-sdw.c
index 3167b38e2876..1c612ae4a4b2 100644
--- a/sound/soc/codecs/pm4125-sdw.c
+++ b/sound/soc/codecs/pm4125-sdw.c
@@ -436,13 +436,11 @@ static int pm4125_probe(struct sdw_slave *pdev, const struct sdw_device_id *id)
return 0;
}
-static int pm4125_remove(struct sdw_slave *pdev)
+static void pm4125_remove(struct sdw_slave *pdev)
{
struct device *dev = &pdev->dev;
component_del(dev, &wcd_sdw_component_ops);
-
- return 0;
}
static const struct sdw_device_id pm4125_slave_id[] = {
diff --git a/sound/soc/codecs/rt1017-sdca-sdw.c b/sound/soc/codecs/rt1017-sdca-sdw.c
index a9c000876be8..148b36173a25 100644
--- a/sound/soc/codecs/rt1017-sdca-sdw.c
+++ b/sound/soc/codecs/rt1017-sdca-sdw.c
@@ -741,14 +741,12 @@ static int rt1017_sdca_sdw_probe(struct sdw_slave *slave,
return rt1017_sdca_init(&slave->dev, regmap, slave);
}
-static int rt1017_sdca_sdw_remove(struct sdw_slave *slave)
+static void rt1017_sdca_sdw_remove(struct sdw_slave *slave)
{
struct rt1017_sdca_priv *rt1017 = dev_get_drvdata(&slave->dev);
if (rt1017->first_hw_init)
pm_runtime_disable(&slave->dev);
-
- return 0;
}
static const struct sdw_device_id rt1017_sdca_id[] = {
diff --git a/sound/soc/codecs/rt1308-sdw.c b/sound/soc/codecs/rt1308-sdw.c
index b6c224832a43..e077d096bc23 100644
--- a/sound/soc/codecs/rt1308-sdw.c
+++ b/sound/soc/codecs/rt1308-sdw.c
@@ -739,11 +739,9 @@ static int rt1308_sdw_probe(struct sdw_slave *slave,
return rt1308_sdw_init(&slave->dev, regmap, slave);
}
-static int rt1308_sdw_remove(struct sdw_slave *slave)
+static void rt1308_sdw_remove(struct sdw_slave *slave)
{
pm_runtime_disable(&slave->dev);
-
- return 0;
}
static const struct sdw_device_id rt1308_id[] = {
diff --git a/sound/soc/codecs/rt1316-sdw.c b/sound/soc/codecs/rt1316-sdw.c
index 01a977398864..20fc1579eb9c 100644
--- a/sound/soc/codecs/rt1316-sdw.c
+++ b/sound/soc/codecs/rt1316-sdw.c
@@ -716,11 +716,9 @@ static int rt1316_sdw_probe(struct sdw_slave *slave,
return rt1316_sdw_init(&slave->dev, regmap, slave);
}
-static int rt1316_sdw_remove(struct sdw_slave *slave)
+static void rt1316_sdw_remove(struct sdw_slave *slave)
{
pm_runtime_disable(&slave->dev);
-
- return 0;
}
static const struct sdw_device_id rt1316_id[] = {
diff --git a/sound/soc/codecs/rt1318-sdw.c b/sound/soc/codecs/rt1318-sdw.c
index 70db5450d6d2..d28f1afe68f1 100644
--- a/sound/soc/codecs/rt1318-sdw.c
+++ b/sound/soc/codecs/rt1318-sdw.c
@@ -793,11 +793,9 @@ static int rt1318_sdw_probe(struct sdw_slave *slave,
return rt1318_sdw_init(&slave->dev, regmap, slave);
}
-static int rt1318_sdw_remove(struct sdw_slave *slave)
+static void rt1318_sdw_remove(struct sdw_slave *slave)
{
pm_runtime_disable(&slave->dev);
-
- return 0;
}
static const struct sdw_device_id rt1318_id[] = {
diff --git a/sound/soc/codecs/rt1320-sdw.c b/sound/soc/codecs/rt1320-sdw.c
index 977881994e60..50f65662e143 100644
--- a/sound/soc/codecs/rt1320-sdw.c
+++ b/sound/soc/codecs/rt1320-sdw.c
@@ -2950,14 +2950,12 @@ static int rt1320_sdw_probe(struct sdw_slave *slave,
return rt1320_sdw_init(&slave->dev, regmap, mbq_regmap, slave);
}
-static int rt1320_sdw_remove(struct sdw_slave *slave)
+static void rt1320_sdw_remove(struct sdw_slave *slave)
{
struct rt1320_sdw_priv *rt1320 = dev_get_drvdata(&slave->dev);
cancel_work_sync(&rt1320->load_dspfw_work);
pm_runtime_disable(&slave->dev);
-
- return 0;
}
/*
diff --git a/sound/soc/codecs/rt5682-sdw.c b/sound/soc/codecs/rt5682-sdw.c
index 055bea0a4a3b..fc464538ceff 100644
--- a/sound/soc/codecs/rt5682-sdw.c
+++ b/sound/soc/codecs/rt5682-sdw.c
@@ -690,7 +690,7 @@ static int rt5682_sdw_probe(struct sdw_slave *slave,
return rt5682_sdw_init(&slave->dev, regmap, slave);
}
-static int rt5682_sdw_remove(struct sdw_slave *slave)
+static void rt5682_sdw_remove(struct sdw_slave *slave)
{
struct rt5682_priv *rt5682 = dev_get_drvdata(&slave->dev);
@@ -698,8 +698,6 @@ static int rt5682_sdw_remove(struct sdw_slave *slave)
cancel_delayed_work_sync(&rt5682->jack_detect_work);
pm_runtime_disable(&slave->dev);
-
- return 0;
}
static const struct sdw_device_id rt5682_id[] = {
diff --git a/sound/soc/codecs/rt700-sdw.c b/sound/soc/codecs/rt700-sdw.c
index 44543c0da177..9ce36a66fae1 100644
--- a/sound/soc/codecs/rt700-sdw.c
+++ b/sound/soc/codecs/rt700-sdw.c
@@ -455,7 +455,7 @@ static int rt700_sdw_probe(struct sdw_slave *slave,
return rt700_init(&slave->dev, sdw_regmap, regmap, slave);
}
-static int rt700_sdw_remove(struct sdw_slave *slave)
+static void rt700_sdw_remove(struct sdw_slave *slave)
{
struct rt700_priv *rt700 = dev_get_drvdata(&slave->dev);
@@ -465,8 +465,6 @@ static int rt700_sdw_remove(struct sdw_slave *slave)
}
pm_runtime_disable(&slave->dev);
-
- return 0;
}
static const struct sdw_device_id rt700_id[] = {
diff --git a/sound/soc/codecs/rt711-sdca-sdw.c b/sound/soc/codecs/rt711-sdca-sdw.c
index 6eb05871db37..49dacceddf81 100644
--- a/sound/soc/codecs/rt711-sdca-sdw.c
+++ b/sound/soc/codecs/rt711-sdca-sdw.c
@@ -365,7 +365,7 @@ static int rt711_sdca_sdw_probe(struct sdw_slave *slave,
return rt711_sdca_init(&slave->dev, regmap, mbq_regmap, slave);
}
-static int rt711_sdca_sdw_remove(struct sdw_slave *slave)
+static void rt711_sdca_sdw_remove(struct sdw_slave *slave)
{
struct rt711_sdca_priv *rt711 = dev_get_drvdata(&slave->dev);
@@ -378,8 +378,6 @@ static int rt711_sdca_sdw_remove(struct sdw_slave *slave)
mutex_destroy(&rt711->calibrate_mutex);
mutex_destroy(&rt711->disable_irq_lock);
-
- return 0;
}
static const struct sdw_device_id rt711_sdca_id[] = {
diff --git a/sound/soc/codecs/rt711-sdw.c b/sound/soc/codecs/rt711-sdw.c
index 93a5a89a96b1..72ddf4cebdf3 100644
--- a/sound/soc/codecs/rt711-sdw.c
+++ b/sound/soc/codecs/rt711-sdw.c
@@ -458,7 +458,7 @@ static int rt711_sdw_probe(struct sdw_slave *slave,
return rt711_init(&slave->dev, sdw_regmap, regmap, slave);
}
-static int rt711_sdw_remove(struct sdw_slave *slave)
+static void rt711_sdw_remove(struct sdw_slave *slave)
{
struct rt711_priv *rt711 = dev_get_drvdata(&slave->dev);
@@ -472,8 +472,6 @@ static int rt711_sdw_remove(struct sdw_slave *slave)
mutex_destroy(&rt711->calibrate_mutex);
mutex_destroy(&rt711->disable_irq_lock);
-
- return 0;
}
static const struct sdw_device_id rt711_id[] = {
diff --git a/sound/soc/codecs/rt712-sdca-dmic.c b/sound/soc/codecs/rt712-sdca-dmic.c
index 2928649e80e4..4d83544ef204 100644
--- a/sound/soc/codecs/rt712-sdca-dmic.c
+++ b/sound/soc/codecs/rt712-sdca-dmic.c
@@ -960,11 +960,9 @@ static int rt712_sdca_dmic_sdw_probe(struct sdw_slave *slave,
return rt712_sdca_dmic_init(&slave->dev, regmap, mbq_regmap, slave);
}
-static int rt712_sdca_dmic_sdw_remove(struct sdw_slave *slave)
+static void rt712_sdca_dmic_sdw_remove(struct sdw_slave *slave)
{
pm_runtime_disable(&slave->dev);
-
- return 0;
}
static struct sdw_driver rt712_sdca_dmic_sdw_driver = {
diff --git a/sound/soc/codecs/rt712-sdca-sdw.c b/sound/soc/codecs/rt712-sdca-sdw.c
index ea07131edfa2..8c82887174db 100644
--- a/sound/soc/codecs/rt712-sdca-sdw.c
+++ b/sound/soc/codecs/rt712-sdca-sdw.c
@@ -374,7 +374,7 @@ static int rt712_sdca_sdw_probe(struct sdw_slave *slave,
return rt712_sdca_init(&slave->dev, regmap, mbq_regmap, slave);
}
-static int rt712_sdca_sdw_remove(struct sdw_slave *slave)
+static void rt712_sdca_sdw_remove(struct sdw_slave *slave)
{
struct rt712_sdca_priv *rt712 = dev_get_drvdata(&slave->dev);
@@ -387,8 +387,6 @@ static int rt712_sdca_sdw_remove(struct sdw_slave *slave)
mutex_destroy(&rt712->calibrate_mutex);
mutex_destroy(&rt712->disable_irq_lock);
-
- return 0;
}
static const struct sdw_device_id rt712_sdca_id[] = {
diff --git a/sound/soc/codecs/rt715-sdca-sdw.c b/sound/soc/codecs/rt715-sdca-sdw.c
index ce7d8955efc3..968bc183b8d8 100644
--- a/sound/soc/codecs/rt715-sdca-sdw.c
+++ b/sound/soc/codecs/rt715-sdca-sdw.c
@@ -191,11 +191,9 @@ static int rt715_sdca_sdw_probe(struct sdw_slave *slave,
return rt715_sdca_init(&slave->dev, mbq_regmap, regmap, slave);
}
-static int rt715_sdca_sdw_remove(struct sdw_slave *slave)
+static void rt715_sdca_sdw_remove(struct sdw_slave *slave)
{
pm_runtime_disable(&slave->dev);
-
- return 0;
}
static const struct sdw_device_id rt715_sdca_id[] = {
diff --git a/sound/soc/codecs/rt715-sdw.c b/sound/soc/codecs/rt715-sdw.c
index a3df4bbedf86..49c91d015be4 100644
--- a/sound/soc/codecs/rt715-sdw.c
+++ b/sound/soc/codecs/rt715-sdw.c
@@ -471,11 +471,9 @@ static int rt715_sdw_probe(struct sdw_slave *slave,
return rt715_init(&slave->dev, sdw_regmap, regmap, slave);
}
-static int rt715_sdw_remove(struct sdw_slave *slave)
+static void rt715_sdw_remove(struct sdw_slave *slave)
{
pm_runtime_disable(&slave->dev);
-
- return 0;
}
static const struct sdw_device_id rt715_id[] = {
diff --git a/sound/soc/codecs/rt721-sdca-sdw.c b/sound/soc/codecs/rt721-sdca-sdw.c
index 4d8a12b13015..6eb8512975b8 100644
--- a/sound/soc/codecs/rt721-sdca-sdw.c
+++ b/sound/soc/codecs/rt721-sdca-sdw.c
@@ -415,7 +415,7 @@ static int rt721_sdca_sdw_probe(struct sdw_slave *slave,
return rt721_sdca_init(&slave->dev, regmap, mbq_regmap, slave);
}
-static int rt721_sdca_sdw_remove(struct sdw_slave *slave)
+static void rt721_sdca_sdw_remove(struct sdw_slave *slave)
{
struct rt721_sdca_priv *rt721 = dev_get_drvdata(&slave->dev);
@@ -429,8 +429,6 @@ static int rt721_sdca_sdw_remove(struct sdw_slave *slave)
mutex_destroy(&rt721->calibrate_mutex);
mutex_destroy(&rt721->disable_irq_lock);
-
- return 0;
}
static const struct sdw_device_id rt721_sdca_id[] = {
diff --git a/sound/soc/codecs/rt722-sdca-sdw.c b/sound/soc/codecs/rt722-sdca-sdw.c
index a0f5601a262a..0a5b3ffa90da 100644
--- a/sound/soc/codecs/rt722-sdca-sdw.c
+++ b/sound/soc/codecs/rt722-sdca-sdw.c
@@ -428,7 +428,7 @@ static int rt722_sdca_sdw_probe(struct sdw_slave *slave,
return rt722_sdca_init(&slave->dev, regmap, slave);
}
-static int rt722_sdca_sdw_remove(struct sdw_slave *slave)
+static void rt722_sdca_sdw_remove(struct sdw_slave *slave)
{
struct rt722_sdca_priv *rt722 = dev_get_drvdata(&slave->dev);
@@ -442,8 +442,6 @@ static int rt722_sdca_sdw_remove(struct sdw_slave *slave)
mutex_destroy(&rt722->calibrate_mutex);
mutex_destroy(&rt722->disable_irq_lock);
-
- return 0;
}
static const struct sdw_device_id rt722_sdca_id[] = {
diff --git a/sound/soc/codecs/tas2783-sdw.c b/sound/soc/codecs/tas2783-sdw.c
index 3c1fbf523529..193aee8653d1 100644
--- a/sound/soc/codecs/tas2783-sdw.c
+++ b/sound/soc/codecs/tas2783-sdw.c
@@ -1299,7 +1299,7 @@ static s32 tas_sdw_probe(struct sdw_slave *peripheral,
return tas_init(tas_dev);
}
-static s32 tas_sdw_remove(struct sdw_slave *peripheral)
+static void tas_sdw_remove(struct sdw_slave *peripheral)
{
struct tas2783_prv *tas_dev = dev_get_drvdata(&peripheral->dev);
@@ -1308,8 +1308,6 @@ static s32 tas_sdw_remove(struct sdw_slave *peripheral)
mutex_destroy(&tas_dev->calib_lock);
mutex_destroy(&tas_dev->pde_lock);
dev_set_drvdata(&peripheral->dev, NULL);
-
- return 0;
}
static const struct sdw_device_id tas_sdw_id[] = {
diff --git a/sound/soc/codecs/wcd937x-sdw.c b/sound/soc/codecs/wcd937x-sdw.c
index 1878d67e3fa1..7a18bed7f347 100644
--- a/sound/soc/codecs/wcd937x-sdw.c
+++ b/sound/soc/codecs/wcd937x-sdw.c
@@ -1056,13 +1056,11 @@ static int wcd9370_probe(struct sdw_slave *pdev,
return 0;
}
-static int wcd9370_remove(struct sdw_slave *pdev)
+static void wcd9370_remove(struct sdw_slave *pdev)
{
struct device *dev = &pdev->dev;
component_del(dev, &wcd_sdw_component_ops);
-
- return 0;
}
static const struct sdw_device_id wcd9370_slave_id[] = {
diff --git a/sound/soc/codecs/wcd938x-sdw.c b/sound/soc/codecs/wcd938x-sdw.c
index 8c8f39d04972..0f0cc0ac3056 100644
--- a/sound/soc/codecs/wcd938x-sdw.c
+++ b/sound/soc/codecs/wcd938x-sdw.c
@@ -1217,13 +1217,11 @@ static int wcd9380_probe(struct sdw_slave *pdev,
return 0;
}
-static int wcd9380_remove(struct sdw_slave *pdev)
+static void wcd9380_remove(struct sdw_slave *pdev)
{
struct device *dev = &pdev->dev;
component_del(dev, &wcd_sdw_component_ops);
-
- return 0;
}
static const struct sdw_device_id wcd9380_slave_id[] = {
diff --git a/sound/soc/codecs/wcd939x-sdw.c b/sound/soc/codecs/wcd939x-sdw.c
index 399dfba79aa2..95f4be287e79 100644
--- a/sound/soc/codecs/wcd939x-sdw.c
+++ b/sound/soc/codecs/wcd939x-sdw.c
@@ -1403,13 +1403,11 @@ static int wcd9390_probe(struct sdw_slave *pdev, const struct sdw_device_id *id)
return 0;
}
-static int wcd9390_remove(struct sdw_slave *pdev)
+static void wcd9390_remove(struct sdw_slave *pdev)
{
struct device *dev = &pdev->dev;
component_del(dev, &wcd_sdw_component_ops);
-
- return 0;
}
static const struct sdw_device_id wcd9390_slave_id[] = {