Unverified Commit 180cdb96 authored by HariKrishna Sagala's avatar HariKrishna Sagala Committed by Mark Brown
Browse files

ASoC: mediatek: mt8195: optimize property formatting error handling by using scnprintf()

Replace snprintf() with scnprintf() when constructing the property
and remove negative return error handling as scnprintf() returns the
actual number of bytes written to buffer.

snprintf() as defined by the C99 standard,returns the number of
characters that *would have been* written if enough space were
available.Use scnprintf() that returns the actual number of
characters written.

Link: https://github.com/KSPP/linux/issues/105


Signed-off-by: default avatarHariKrishna Sagala <hariconscious@gmail.com>
Link: https://patch.msgid.link/20251212044408.1286-2-hariconscious@gmail.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 7a9fa7fd
Loading
Loading
Loading
Loading
+12 −32
Original line number Diff line number Diff line
@@ -2651,14 +2651,9 @@ static void mt8195_dai_etdm_parse_of(struct mtk_base_afe *afe)

		etdm_data = afe_priv->dai_priv[dai_id];

		ret = snprintf(prop, sizeof(prop),
		scnprintf(prop, sizeof(prop),
			    "mediatek,%s-mclk-always-on-rate",
			    of_afe_etdms[i].name);
		if (ret < 0) {
			dev_info(afe->dev, "%s snprintf err=%d\n",
				 __func__, ret);
			return;
		}
		ret = of_property_read_u32(of_node, prop, &sel);
		if (ret == 0) {
			etdm_data->mclk_dir = SND_SOC_CLOCK_OUT;
@@ -2667,24 +2662,14 @@ static void mt8195_dai_etdm_parse_of(struct mtk_base_afe *afe)
					 __func__, sel);
		}

		ret = snprintf(prop, sizeof(prop),
		scnprintf(prop, sizeof(prop),
			    "mediatek,%s-multi-pin-mode",
			    of_afe_etdms[i].name);
		if (ret < 0) {
			dev_info(afe->dev, "%s snprintf err=%d\n",
				 __func__, ret);
			return;
		}
		etdm_data->data_mode = of_property_read_bool(of_node, prop);

		ret = snprintf(prop, sizeof(prop),
		scnprintf(prop, sizeof(prop),
			    "mediatek,%s-cowork-source",
			    of_afe_etdms[i].name);
		if (ret < 0) {
			dev_info(afe->dev, "%s snprintf err=%d\n",
				 __func__, ret);
			return;
		}
		ret = of_property_read_u32(of_node, prop, &sel);
		if (ret == 0) {
			if (sel >= MT8195_AFE_IO_ETDM_NUM) {
@@ -2706,14 +2691,9 @@ static void mt8195_dai_etdm_parse_of(struct mtk_base_afe *afe)
		dai_id = ETDM_TO_DAI_ID(i);
		etdm_data = afe_priv->dai_priv[dai_id];

		ret = snprintf(prop, sizeof(prop),
		scnprintf(prop, sizeof(prop),
			    "mediatek,%s-chn-disabled",
			    of_afe_etdms[i].name);
		if (ret < 0) {
			dev_info(afe->dev, "%s snprintf err=%d\n",
				 __func__, ret);
			return;
		}
		ret = of_property_read_variable_u8_array(of_node, prop,
							 disable_chn,
							 1, max_chn);