mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-22 07:27:12 +08:00
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
This commit is contained in:
@@ -27,6 +27,7 @@ properties:
|
||||
- items:
|
||||
- enum:
|
||||
- qcom,soundwire-v2.1.0
|
||||
- qcom,soundwire-v2.2.0
|
||||
- const: qcom,soundwire-v2.0.0
|
||||
|
||||
reg:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -122,6 +122,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 = {
|
||||
|
||||
@@ -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},
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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[] = {
|
||||
|
||||
@@ -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[] = {
|
||||
|
||||
@@ -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[] = {
|
||||
|
||||
@@ -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[] = {
|
||||
|
||||
@@ -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[] = {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -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[] = {
|
||||
|
||||
@@ -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[] = {
|
||||
|
||||
@@ -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[] = {
|
||||
|
||||
@@ -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[] = {
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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[] = {
|
||||
|
||||
@@ -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[] = {
|
||||
|
||||
@@ -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[] = {
|
||||
|
||||
@@ -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[] = {
|
||||
|
||||
@@ -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[] = {
|
||||
|
||||
@@ -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[] = {
|
||||
|
||||
@@ -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[] = {
|
||||
|
||||
@@ -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[] = {
|
||||
|
||||
@@ -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[] = {
|
||||
|
||||
Reference in New Issue
Block a user