[PATCH 1/2] ASoC: Intel: boards: use software node API in SoundWire machines
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Tue Jun 8 00:35:02 CEST 2021
From: Heikki Krogerus <heikki.krogerus at linux.intel.com>
The function device_add_properties() is going to be removed.
Replacing it with software node API equivalents.
Signed-off-by: Heikki Krogerus <heikki.krogerus at linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart at linux.intel.com>
---
sound/soc/intel/boards/sof_sdw_rt711.c | 20 +++++++++++++++-----
sound/soc/intel/boards/sof_sdw_rt711_sdca.c | 20 +++++++++++++++-----
2 files changed, 30 insertions(+), 10 deletions(-)
diff --git a/sound/soc/intel/boards/sof_sdw_rt711.c b/sound/soc/intel/boards/sof_sdw_rt711.c
index 04074c09dded..b7c635c0fadd 100644
--- a/sound/soc/intel/boards/sof_sdw_rt711.c
+++ b/sound/soc/intel/boards/sof_sdw_rt711.c
@@ -24,19 +24,29 @@
static int rt711_add_codec_device_props(const char *sdw_dev_name)
{
struct property_entry props[MAX_NO_PROPS] = {};
+ struct fwnode_handle *fwnode;
struct device *sdw_dev;
int ret;
+ if (!SOF_RT711_JDSRC(sof_sdw_quirk))
+ return 0;
+
sdw_dev = bus_find_device_by_name(&sdw_bus_type, NULL, sdw_dev_name);
if (!sdw_dev)
return -EPROBE_DEFER;
- if (SOF_RT711_JDSRC(sof_sdw_quirk)) {
- props[0] = PROPERTY_ENTRY_U32("realtek,jd-src",
- SOF_RT711_JDSRC(sof_sdw_quirk));
+ props[0] = PROPERTY_ENTRY_U32("realtek,jd-src",
+ SOF_RT711_JDSRC(sof_sdw_quirk));
+
+ fwnode = fwnode_create_software_node(props, NULL);
+ if (IS_ERR(fwnode)) {
+ put_device(sdw_dev);
+ return PTR_ERR(fwnode);
}
- ret = device_add_properties(sdw_dev, props);
+ ret = device_add_software_node(sdw_dev, to_software_node(fwnode));
+
+ fwnode_handle_put(fwnode);
put_device(sdw_dev);
return ret;
@@ -144,7 +154,7 @@ int sof_sdw_rt711_exit(struct device *dev, struct snd_soc_dai_link *dai_link)
if (!sdw_dev)
return -EINVAL;
- device_remove_properties(sdw_dev);
+ device_remove_software_node(sdw_dev);
put_device(sdw_dev);
return 0;
diff --git a/sound/soc/intel/boards/sof_sdw_rt711_sdca.c b/sound/soc/intel/boards/sof_sdw_rt711_sdca.c
index 19496f0f9110..300a52d15506 100644
--- a/sound/soc/intel/boards/sof_sdw_rt711_sdca.c
+++ b/sound/soc/intel/boards/sof_sdw_rt711_sdca.c
@@ -24,19 +24,29 @@
static int rt711_sdca_add_codec_device_props(const char *sdw_dev_name)
{
struct property_entry props[MAX_NO_PROPS] = {};
+ struct fwnode_handle *fwnode;
struct device *sdw_dev;
int ret;
+ if (!SOF_RT711_JDSRC(sof_sdw_quirk))
+ return 0;
+
sdw_dev = bus_find_device_by_name(&sdw_bus_type, NULL, sdw_dev_name);
if (!sdw_dev)
return -EPROBE_DEFER;
- if (SOF_RT711_JDSRC(sof_sdw_quirk)) {
- props[0] = PROPERTY_ENTRY_U32("realtek,jd-src",
- SOF_RT711_JDSRC(sof_sdw_quirk));
+ props[0] = PROPERTY_ENTRY_U32("realtek,jd-src",
+ SOF_RT711_JDSRC(sof_sdw_quirk));
+
+ fwnode = fwnode_create_software_node(props, NULL);
+ if (IS_ERR(fwnode)) {
+ put_device(sdw_dev);
+ return PTR_ERR(fwnode);
}
- ret = device_add_properties(sdw_dev, props);
+ ret = device_add_software_node(sdw_dev, to_software_node(fwnode));
+
+ fwnode_handle_put(fwnode);
put_device(sdw_dev);
return ret;
@@ -144,7 +154,7 @@ int sof_sdw_rt711_sdca_exit(struct device *dev, struct snd_soc_dai_link *dai_lin
if (!sdw_dev)
return -EINVAL;
- device_remove_properties(sdw_dev);
+ device_remove_software_node(sdw_dev);
put_device(sdw_dev);
return 0;
--
2.25.1
More information about the Alsa-devel
mailing list