[PATCH v2 1/4] ASoC: SMA1303: Remove the I2C Retry property in devicetree
It's necessary to set the value for each device, so remove that.
Signed-off-by: Kiseok Jo kiseok.jo@irondevice.com --- sound/soc/codecs/sma1303.c | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-)
diff --git a/sound/soc/codecs/sma1303.c b/sound/soc/codecs/sma1303.c index fbedba574ff4..fdcc40f5fc61 100644 --- a/sound/soc/codecs/sma1303.c +++ b/sound/soc/codecs/sma1303.c @@ -1621,21 +1621,6 @@ static int sma1303_i2c_probe(struct i2c_client *client) }
if (np) { - if (!of_property_read_u32(np, "i2c-retry", &value)) { - if (value > 50 || value <= 0) { - sma1303->retry_cnt = SMA1303_I2C_RETRY_COUNT; - dev_dbg(&client->dev, "%s : %s\n", __func__, - "i2c-retry out of range (up to 50)"); - } else { - sma1303->retry_cnt = value; - dev_dbg(&client->dev, "%s : %s = %u\n", - __func__, "i2c-retry count", value); - } - } else { - dev_dbg(&client->dev, "%s : %s = %d\n", __func__, - "i2c-retry count", SMA1303_I2C_RETRY_COUNT); - sma1303->retry_cnt = SMA1303_I2C_RETRY_COUNT; - } if (!of_property_read_u32(np, "tdm-slot-rx", &value)) { dev_dbg(&client->dev, "tdm slot rx is '%d' from DT\n", value); @@ -1733,6 +1718,7 @@ static int sma1303_i2c_probe(struct i2c_client *client) sma1303->last_ocp_val = 0x08; sma1303->last_over_temp = 0xC0; sma1303->tsdw_cnt = 0; + sma1303->retry_cnt = SMA1303_I2C_RETRY_COUNT;
sma1303->dev = &client->dev; sma1303->kobj = &client->dev.kobj;
It seems correct that the user changes the TDM slot needed after device probe.
Signed-off-by: Kiseok Jo kiseok.jo@irondevice.com --- sound/soc/codecs/sma1303.c | 100 ++++++++++++++++++++++++++++++------- 1 file changed, 82 insertions(+), 18 deletions(-)
diff --git a/sound/soc/codecs/sma1303.c b/sound/soc/codecs/sma1303.c index fdcc40f5fc61..9ae4e3cba3ae 100644 --- a/sound/soc/codecs/sma1303.c +++ b/sound/soc/codecs/sma1303.c @@ -292,6 +292,9 @@ static const char * const sma1303_aif_in_source_text[] = { static const char * const sma1303_aif_out_source_text[] = { "Disable", "After_FmtC", "After_Mixer", "After_DSP", "After_Post", "Clk_PLL", "Clk_OSC"}; +static const char * const sma1303_tdm_slot_text[] = { + "Slot0", "Slot1", "Slot2", "Slot3", + "Slot4", "Slot5", "Slot6", "Slot7"};
static const struct soc_enum sma1303_aif_in_source_enum = SOC_ENUM_SINGLE_EXT(ARRAY_SIZE(sma1303_aif_in_source_text), @@ -299,6 +302,9 @@ static const struct soc_enum sma1303_aif_in_source_enum = static const struct soc_enum sma1303_aif_out_source_enum = SOC_ENUM_SINGLE_EXT(ARRAY_SIZE(sma1303_aif_out_source_text), sma1303_aif_out_source_text); +static const struct soc_enum sma1303_tdm_slot_enum = + SOC_ENUM_SINGLE_EXT(ARRAY_SIZE(sma1303_tdm_slot_text), + sma1303_tdm_slot_text);
static int sma1303_force_mute_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) @@ -368,6 +374,76 @@ static int sma1303_postscaler_put(struct snd_kcontrol *kcontrol, return change; }
+static int sma1303_tdm_slot_rx_get(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_value *ucontrol) +{ + struct snd_soc_component *component = + snd_soc_kcontrol_component(kcontrol); + struct sma1303_priv *sma1303 = snd_soc_component_get_drvdata(component); + int val, ret; + + ret = sma1303_regmap_read(sma1303, SMA1303_A5_TDM1, &val); + if (ret < 0) + return -EINVAL; + + ucontrol->value.integer.value[0] = (val & 0x38) >> 3; + sma1303->tdm_slot_rx = ucontrol->value.integer.value[0]; + + return 0; +} + +static int sma1303_tdm_slot_rx_put(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_value *ucontrol) +{ + struct snd_soc_component *component = + snd_soc_kcontrol_component(kcontrol); + struct sma1303_priv *sma1303 = snd_soc_component_get_drvdata(component); + int ret, val = (int)ucontrol->value.integer.value[0]; + bool change; + + ret = sma1303_regmap_update_bits(sma1303, + SMA1303_A5_TDM1, 0x38, (val << 3), &change); + if (ret < 0) + return -EINVAL; + + return change; +} + +static int sma1303_tdm_slot_tx_get(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_value *ucontrol) +{ + struct snd_soc_component *component = + snd_soc_kcontrol_component(kcontrol); + struct sma1303_priv *sma1303 = snd_soc_component_get_drvdata(component); + int val, ret; + + ret = sma1303_regmap_read(sma1303, SMA1303_A6_TDM2, &val); + if (ret < 0) + return -EINVAL; + + ucontrol->value.integer.value[0] = (val & 0x38) >> 3; + sma1303->tdm_slot_tx = ucontrol->value.integer.value[0]; + + return 0; +} + +static int sma1303_tdm_slot_tx_put(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_value *ucontrol) +{ + struct snd_soc_component *component = + snd_soc_kcontrol_component(kcontrol); + struct sma1303_priv *sma1303 = snd_soc_component_get_drvdata(component); + int ret, val = (int)ucontrol->value.integer.value[0]; + bool change; + + ret = sma1303_regmap_update_bits(sma1303, + SMA1303_A6_TDM2, 0x38, (val << 3), &change); + if (ret < 0) + return -EINVAL; + + return change; +} + static int sma1303_startup(struct snd_soc_component *component) { struct sma1303_priv *sma1303 = snd_soc_component_get_drvdata(component); @@ -781,6 +857,10 @@ static const struct snd_kcontrol_new sma1303_snd_controls[] = { sma1303_force_mute_get, sma1303_force_mute_put), SOC_SINGLE_EXT("Postscaler Gain", SMA1303_90_POSTSCALER, 1, 0x30, 0, sma1303_postscaler_get, sma1303_postscaler_put), + SOC_ENUM_EXT("TDM RX Slot Position", sma1303_tdm_slot_enum, + sma1303_tdm_slot_rx_get, sma1303_tdm_slot_rx_put), + SOC_ENUM_EXT("TDM TX Slot Position", sma1303_tdm_slot_enum, + sma1303_tdm_slot_tx_get, sma1303_tdm_slot_tx_put), };
static const struct snd_soc_dapm_widget sma1303_dapm_widgets[] = { @@ -1621,24 +1701,6 @@ static int sma1303_i2c_probe(struct i2c_client *client) }
if (np) { - if (!of_property_read_u32(np, "tdm-slot-rx", &value)) { - dev_dbg(&client->dev, - "tdm slot rx is '%d' from DT\n", value); - sma1303->tdm_slot_rx = value; - } else { - dev_dbg(&client->dev, - "Default setting of tdm slot rx is '0'\n"); - sma1303->tdm_slot_rx = 0; - } - if (!of_property_read_u32(np, "tdm-slot-tx", &value)) { - dev_dbg(&client->dev, - "tdm slot tx is '%u' from DT\n", value); - sma1303->tdm_slot_tx = value; - } else { - dev_dbg(&client->dev, - "Default setting of tdm slot tx is '0'\n"); - sma1303->tdm_slot_tx = 0; - } if (!of_property_read_u32(np, "sys-clk-id", &value)) { switch (value) { case SMA1303_EXTERNAL_CLOCK_19_2: @@ -1719,6 +1781,8 @@ static int sma1303_i2c_probe(struct i2c_client *client) sma1303->last_over_temp = 0xC0; sma1303->tsdw_cnt = 0; sma1303->retry_cnt = SMA1303_I2C_RETRY_COUNT; + sma1303->tdm_slot_rx = 0; + sma1303->tdm_slot_tx = 0;
sma1303->dev = &client->dev; sma1303->kobj = &client->dev.kobj;
Previously, sysclk was configured using devicetree and sysclk-id. Change the method to obtain and use clock information using clk_get.
Signed-off-by: Kiseok Jo kiseok.jo@irondevice.com --- sound/soc/codecs/sma1303.c | 124 ++++++++++++++++++------------------- sound/soc/codecs/sma1303.h | 5 -- 2 files changed, 59 insertions(+), 70 deletions(-)
diff --git a/sound/soc/codecs/sma1303.c b/sound/soc/codecs/sma1303.c index 9ae4e3cba3ae..a21cde126906 100644 --- a/sound/soc/codecs/sma1303.c +++ b/sound/soc/codecs/sma1303.c @@ -7,6 +7,7 @@ // Auther: Gyuhwa Park gyuhwa.park@irondevice.com // Kiseok Jo kiseok.jo@irondevice.com
+#include <linux/clk.h> #include <linux/module.h> #include <linux/moduleparam.h> #include <linux/kernel.h> @@ -59,6 +60,7 @@ struct sma1303_pll_match { struct sma1303_priv { enum sma1303_type devtype; struct attribute_group *attr_grp; + struct clk *mclk; struct delayed_work check_fault_work; struct device *dev; struct kobject *kobj; @@ -936,27 +938,23 @@ static int sma1303_setup_pll(struct snd_soc_component *component, dev_dbg(component->dev, "%s : BCLK = %dHz\n", __func__, bclk);
- if (sma1303->sys_clk_id == SMA1303_PLL_CLKIN_MCLK) { - dev_dbg(component->dev, "%s : MCLK is not supported\n", - __func__); - } else if (sma1303->sys_clk_id == SMA1303_PLL_CLKIN_BCLK) { - for (i = 0; i < sma1303->num_of_pll_matches; i++) { - if (sma1303->pll_matches[i].input_clk == bclk) - break; - } - if (i == sma1303->num_of_pll_matches) { - dev_dbg(component->dev, "%s : No matching value between pll table and SCK\n", + for (i = 0; i < sma1303->num_of_pll_matches; i++) { + if (sma1303->pll_matches[i].input_clk == bclk) + break; + } + if (i == sma1303->num_of_pll_matches) { + dev_dbg(component->dev, + "%s : No matching value between pll table and SCK\n", __func__); - return -EINVAL; - } - - ret += sma1303_regmap_update_bits(sma1303, - SMA1303_A2_TOP_MAN1, - SMA1303_PLL_PD_MASK|SMA1303_PLL_REF_CLK_MASK, - SMA1303_PLL_OPERATION|SMA1303_PLL_SCK, - NULL); + return -EINVAL; }
+ ret += sma1303_regmap_update_bits(sma1303, + SMA1303_A2_TOP_MAN1, + SMA1303_PLL_PD_MASK|SMA1303_PLL_REF_CLK_MASK, + SMA1303_PLL_OPERATION|SMA1303_PLL_SCK, + NULL); + ret += sma1303_regmap_write(sma1303, SMA1303_8B_PLL_POST_N, sma1303->pll_matches[i].post_n); @@ -999,13 +997,14 @@ static int sma1303_dai_hw_params_amp(struct snd_pcm_substream *substream,
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
- if (sma1303->sys_clk_id == SMA1303_PLL_CLKIN_MCLK - || sma1303->sys_clk_id == SMA1303_PLL_CLKIN_BCLK) { - + if (IS_ERR(sma1303->mclk)) { if (sma1303->last_bclk != bclk) { sma1303_setup_pll(component, bclk); sma1303->last_bclk = bclk; } + } else { + dev_dbg(component->dev, + "%s : MCLK is not supported\n", __func__); }
switch (params_rate(params)) { @@ -1175,19 +1174,6 @@ static int sma1303_dai_set_sysclk_amp(struct snd_soc_dai *dai, struct snd_soc_component *component = dai->component; struct sma1303_priv *sma1303 = snd_soc_component_get_drvdata(component);
- switch (clk_id) { - case SMA1303_EXTERNAL_CLOCK_19_2: - break; - case SMA1303_EXTERNAL_CLOCK_24_576: - break; - case SMA1303_PLL_CLKIN_MCLK: - break; - case SMA1303_PLL_CLKIN_BCLK: - break; - default: - dev_err(component->dev, "Invalid clk id: %d\n", clk_id); - return -EINVAL; - } sma1303->sys_clk_id = clk_id; return 0; } @@ -1570,8 +1556,12 @@ static int sma1303_probe(struct snd_soc_component *component) { struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component); + struct sma1303_priv *sma1303 = snd_soc_component_get_drvdata(component);
snd_soc_dapm_sync(dapm); + sma1303->mclk = devm_clk_get(sma1303->dev, "mclk"); + if (PTR_ERR(sma1303->mclk) == -EPROBE_DEFER) + return -EPROBE_DEFER;
return 0; } @@ -1583,9 +1573,44 @@ static void sma1303_remove(struct snd_soc_component *component) cancel_delayed_work_sync(&sma1303->check_fault_work); }
+static int sma1303_set_bias_level(struct snd_soc_component *component, + enum snd_soc_bias_level level) +{ + struct sma1303_priv *sma1303 = snd_soc_component_get_drvdata(component); + int ret; + + switch (level) { + case SND_SOC_BIAS_ON: + dev_dbg(sma1303->dev, "%s : SND_SOC_BIAS_ON\n", __func__); + break; + case SND_SOC_BIAS_STANDBY: + dev_dbg(sma1303->dev, "%s : SND_SOC_BIAS_STANDBY\n", __func__); + break; + case SND_SOC_BIAS_PREPARE: + dev_dbg(sma1303->dev, "%s : SND_SOC_BIAS_PREPARE\n", __func__); + if (IS_ERR(sma1303->mclk)) + break; + if (snd_soc_component_get_bias_level(component) + == SND_SOC_BIAS_ON) { + clk_disable_unprepare(sma1303->mclk); + } else { + ret = clk_prepare_enable(sma1303->mclk); + if (ret) + return ret; + } + break; + case SND_SOC_BIAS_OFF: + dev_dbg(sma1303->dev, "%s : SND_SOC_BIAS_OFF\n", __func__); + sma1303_shutdown(component); + break; + } + return 0; +} + static const struct snd_soc_component_driver sma1303_component = { .probe = sma1303_probe, .remove = sma1303_remove, + .set_bias_level = sma1303_set_bias_level, .controls = sma1303_snd_controls, .num_controls = ARRAY_SIZE(sma1303_snd_controls), .dapm_widgets = sma1303_dapm_widgets, @@ -1680,9 +1705,7 @@ static struct attribute_group sma1303_attr_group = { static int sma1303_i2c_probe(struct i2c_client *client) { struct sma1303_priv *sma1303; - struct device_node *np = client->dev.of_node; int ret, i = 0; - u32 value = 0; unsigned int device_info, status, otp_stat;
sma1303 = devm_kzalloc(&client->dev, @@ -1700,35 +1723,6 @@ static int sma1303_i2c_probe(struct i2c_client *client) return ret; }
- if (np) { - if (!of_property_read_u32(np, "sys-clk-id", &value)) { - switch (value) { - case SMA1303_EXTERNAL_CLOCK_19_2: - case SMA1303_EXTERNAL_CLOCK_24_576: - case SMA1303_PLL_CLKIN_MCLK: - dev_dbg(&client->dev, "MCLK is not supported\n"); - break; - case SMA1303_PLL_CLKIN_BCLK: - dev_dbg(&client->dev, - "Take an BCLK(SCK) and covert it to an internal PLL for use\n"); - break; - default: - dev_err(&client->dev, - "Invalid sys-clk-id: %u\n", value); - return -EINVAL; - } - sma1303->sys_clk_id = value; - } else { - dev_dbg(&client->dev, "Use the internal PLL clock by default\n"); - sma1303->sys_clk_id = SMA1303_PLL_CLKIN_BCLK; - } - } else { - dev_err(&client->dev, - "device node initialization error\n"); - devm_kfree(&client->dev, sma1303); - return -ENODEV; - } - ret = sma1303_regmap_read(sma1303, SMA1303_FF_DEVICE_INDEX, &device_info);
diff --git a/sound/soc/codecs/sma1303.h b/sound/soc/codecs/sma1303.h index ae70f207adde..29e6d19035c6 100644 --- a/sound/soc/codecs/sma1303.h +++ b/sound/soc/codecs/sma1303.h @@ -16,11 +16,6 @@ #define SMA1303_I2C_ADDR_10 0x5e #define SMA1303_I2C_ADDR_11 0x7e
-#define SMA1303_EXTERNAL_CLOCK_19_2 0x00 -#define SMA1303_EXTERNAL_CLOCK_24_576 0x01 -#define SMA1303_PLL_CLKIN_MCLK 0x02 -#define SMA1303_PLL_CLKIN_BCLK 0x03 - #define SMA1303_MONO 0x00 #define SMA1303_STEREO 0x01
On 08/02/2023 10:24, Kiseok Jo wrote:
Previously, sysclk was configured using devicetree and sysclk-id. Change the method to obtain and use clock information using clk_get.
Signed-off-by: Kiseok Jo kiseok.jo@irondevice.com
sound/soc/codecs/sma1303.c | 124 ++++++++++++++++++------------------- sound/soc/codecs/sma1303.h | 5 -- 2 files changed, 59 insertions(+), 70 deletions(-)
diff --git a/sound/soc/codecs/sma1303.c b/sound/soc/codecs/sma1303.c index 9ae4e3cba3ae..a21cde126906 100644 --- a/sound/soc/codecs/sma1303.c +++ b/sound/soc/codecs/sma1303.c @@ -7,6 +7,7 @@ // Auther: Gyuhwa Park gyuhwa.park@irondevice.com // Kiseok Jo kiseok.jo@irondevice.com
+#include <linux/clk.h> #include <linux/module.h> #include <linux/moduleparam.h> #include <linux/kernel.h> @@ -59,6 +60,7 @@ struct sma1303_pll_match { struct sma1303_priv { enum sma1303_type devtype; struct attribute_group *attr_grp;
- struct clk *mclk; struct delayed_work check_fault_work; struct device *dev; struct kobject *kobj;
@@ -936,27 +938,23 @@ static int sma1303_setup_pll(struct snd_soc_component *component, dev_dbg(component->dev, "%s : BCLK = %dHz\n", __func__, bclk);
- if (sma1303->sys_clk_id == SMA1303_PLL_CLKIN_MCLK) {
dev_dbg(component->dev, "%s : MCLK is not supported\n",
__func__);
- } else if (sma1303->sys_clk_id == SMA1303_PLL_CLKIN_BCLK) {
for (i = 0; i < sma1303->num_of_pll_matches; i++) {
if (sma1303->pll_matches[i].input_clk == bclk)
break;
}
if (i == sma1303->num_of_pll_matches) {
dev_dbg(component->dev, "%s : No matching value between pll table and SCK\n",
- for (i = 0; i < sma1303->num_of_pll_matches; i++) {
if (sma1303->pll_matches[i].input_clk == bclk)
break;
- }
- if (i == sma1303->num_of_pll_matches) {
dev_dbg(component->dev,
"%s : No matching value between pll table and SCK\n", __func__);
return -EINVAL;
}
ret += sma1303_regmap_update_bits(sma1303,
SMA1303_A2_TOP_MAN1,
SMA1303_PLL_PD_MASK|SMA1303_PLL_REF_CLK_MASK,
SMA1303_PLL_OPERATION|SMA1303_PLL_SCK,
NULL);
return -EINVAL;
}
ret += sma1303_regmap_update_bits(sma1303,
SMA1303_A2_TOP_MAN1,
SMA1303_PLL_PD_MASK|SMA1303_PLL_REF_CLK_MASK,
SMA1303_PLL_OPERATION|SMA1303_PLL_SCK,
NULL);
ret += sma1303_regmap_write(sma1303, SMA1303_8B_PLL_POST_N, sma1303->pll_matches[i].post_n);
@@ -999,13 +997,14 @@ static int sma1303_dai_hw_params_amp(struct snd_pcm_substream *substream,
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
if (sma1303->sys_clk_id == SMA1303_PLL_CLKIN_MCLK
|| sma1303->sys_clk_id == SMA1303_PLL_CLKIN_BCLK) {
if (IS_ERR(sma1303->mclk)) { if (sma1303->last_bclk != bclk) { sma1303_setup_pll(component, bclk); sma1303->last_bclk = bclk; }
} else {
dev_dbg(component->dev,
"%s : MCLK is not supported\n", __func__);
}
switch (params_rate(params)) {
@@ -1175,19 +1174,6 @@ static int sma1303_dai_set_sysclk_amp(struct snd_soc_dai *dai, struct snd_soc_component *component = dai->component; struct sma1303_priv *sma1303 = snd_soc_component_get_drvdata(component);
- switch (clk_id) {
- case SMA1303_EXTERNAL_CLOCK_19_2:
break;
- case SMA1303_EXTERNAL_CLOCK_24_576:
break;
- case SMA1303_PLL_CLKIN_MCLK:
break;
- case SMA1303_PLL_CLKIN_BCLK:
break;
- default:
dev_err(component->dev, "Invalid clk id: %d\n", clk_id);
return -EINVAL;
- } sma1303->sys_clk_id = clk_id; return 0;
} @@ -1570,8 +1556,12 @@ static int sma1303_probe(struct snd_soc_component *component) { struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component);
struct sma1303_priv *sma1303 = snd_soc_component_get_drvdata(component);
snd_soc_dapm_sync(dapm);
sma1303->mclk = devm_clk_get(sma1303->dev, "mclk");
One undocumented property is replaced with another undocumented property. Can't you test your DTS?
Best regards, Krzysztof
- sma1303->mclk = devm_clk_get(sma1303->dev, "mclk");
One undocumented property is replaced with another undocumented property. Can't you test your DTS?
Best regards, Krzysztof
I misunderstood the clk_get function. It's my fault. Sorry :( I didn't know that clk id is what I need to specify in devicetree.
For SMA1303 device, only bclk is possible, not using MCLK. So, if there is an id called mclk, only the log that says that it is not supported is left.
Since MCLK is unusable, it seems appropriate to delete the contents. I rewrite that patch.
And then, I'll check the clk_get function further and add it if necessary.
Thanks!
Best regards, Kiseok Jo
Add the missing properties as compatible, reg, sound-dai-cells. And then check this file using 'make dt_binding_check'.
Signed-off-by: Kiseok Jo kiseok.jo@irondevice.com --- .../bindings/sound/irondevice,sma1303.yaml | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-)
diff --git a/Documentation/devicetree/bindings/sound/irondevice,sma1303.yaml b/Documentation/devicetree/bindings/sound/irondevice,sma1303.yaml index 162c52606635..b36c35e5da1a 100644 --- a/Documentation/devicetree/bindings/sound/irondevice,sma1303.yaml +++ b/Documentation/devicetree/bindings/sound/irondevice,sma1303.yaml @@ -10,22 +10,39 @@ maintainers: - Kiseok Jo kiseok.jo@irondevice.com
description: - SMA1303 digital class-D audio amplifier with an integrated boost converter. + SMA1303 digital class-D audio amplifier + with an integrated boost converter.
allOf: - - $ref: name-prefix.yaml# + - $ref: dai-common.yaml# + +properties: + compatible: + enum: + - irondevice,sma1303 + + reg: + maxItems: 1 + + '#sound-dai-cells': + const: 1
required: - compatible - reg + - '#sound-dai-cells'
additionalProperties: false
examples: - | - i2c_bus { + i2c { + #address-cells = <1>; + #size-cells = <0>; + amplifier@1e { compatible = "irondevice,sma1303"; reg = <0x1e>; + #sound-dai-cells = <1>; }; };
On 08/02/2023 10:24, Kiseok Jo wrote:
Add the missing properties as compatible, reg, sound-dai-cells. And then check this file using 'make dt_binding_check'.
Signed-off-by: Kiseok Jo kiseok.jo@irondevice.com
.../bindings/sound/irondevice,sma1303.yaml | 23 ++++++++++++++++---
Reviewed-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
Best regards, Krzysztof
On 08/02/2023 10:34, Krzysztof Kozlowski wrote:
On 08/02/2023 10:24, Kiseok Jo wrote:
Add the missing properties as compatible, reg, sound-dai-cells. And then check this file using 'make dt_binding_check'.
Signed-off-by: Kiseok Jo kiseok.jo@irondevice.com
.../bindings/sound/irondevice,sma1303.yaml | 23 ++++++++++++++++---
Reviewed-by: Krzysztof Kozlowski krzysztof.kozlowski@linaro.org
Wait, no, I see you added some more undocumented properties - at least clk is new. Didn't we learn anything from first submission errors?
Best regards, Krzysztof
On Wed, 08 Feb 2023 09:24:17 +0000, Kiseok Jo wrote:
It's necessary to set the value for each device, so remove that.
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
Thanks!
[1/4] ASoC: SMA1303: Remove the I2C Retry property in devicetree commit: 1edc70c3a4c2b07dceac3ab7d564a283549a2534 [2/4] ASoC: SMA1303: Convert the TDM slot properties in devicetree to mixer commit: 1f5ffd57c1bcdf02e5a35bf301734476c1bf6612 [4/4] ASoC: dt-bindings: irondevice,sma1303: Rework binding and add missing properties commit: 677e3ab71f83c71e1482d9698bd8159c44fed93d
All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks, Mark
participants (4)
-
Ki-Seok Jo
-
Kiseok Jo
-
Krzysztof Kozlowski
-
Mark Brown