summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Keepax <ckeepax@opensource.cirrus.com>2024-12-20 17:35:15 +0000
committerMark Brown <broonie@kernel.org>2024-12-24 22:44:56 +0000
commitc1ed5eb13f39b0058670bc2b1e251a040c306868 (patch)
treed2b17308ab518b58b9c7d544772f66d498a52c6d
parentc36297b1bd6e52a75a8ed75eb5dbf35c50402398 (diff)
ASoC: SDCA: Add missing function type names
It is not helpful to error out on some SDCA function types, we might as well report the correct name and let the driver core simply not bind a driver to those functions for which the code lacks support. Also given no functions currently have support, it seems odd to select some as unsupported. Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://patch.msgid.link/20241220173516.907406-4-ckeepax@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--include/sound/sdca_function.h1
-rw-r--r--sound/soc/sdca/sdca_functions.c12
2 files changed, 11 insertions, 2 deletions
diff --git a/include/sound/sdca_function.h b/include/sound/sdca_function.h
index 6943df0851a9..89e42db6d591 100644
--- a/include/sound/sdca_function.h
+++ b/include/sound/sdca_function.h
@@ -42,6 +42,7 @@ enum sdca_function_type {
#define SDCA_FUNCTION_TYPE_RJ_NAME "RJ"
#define SDCA_FUNCTION_TYPE_SIMPLE_NAME "SimpleJack"
#define SDCA_FUNCTION_TYPE_HID_NAME "HID"
+#define SDCA_FUNCTION_TYPE_IMP_DEF_NAME "ImplementationDefined"
enum sdca_entity0_controls {
SDCA_CONTROL_ENTITY_0_COMMIT_GROUP_MASK = 0x01,
diff --git a/sound/soc/sdca/sdca_functions.c b/sound/soc/sdca/sdca_functions.c
index a69fdb9c8b15..400763e056fa 100644
--- a/sound/soc/sdca/sdca_functions.c
+++ b/sound/soc/sdca/sdca_functions.c
@@ -75,12 +75,20 @@ skip_early_draft_order:
*function_name = SDCA_FUNCTION_TYPE_HID_NAME;
break;
case SDCA_FUNCTION_TYPE_SIMPLE_AMP:
+ *function_name = SDCA_FUNCTION_TYPE_SIMPLE_AMP_NAME;
+ break;
case SDCA_FUNCTION_TYPE_SIMPLE_MIC:
+ *function_name = SDCA_FUNCTION_TYPE_SIMPLE_MIC_NAME;
+ break;
case SDCA_FUNCTION_TYPE_SPEAKER_MIC:
+ *function_name = SDCA_FUNCTION_TYPE_SPEAKER_MIC_NAME;
+ break;
case SDCA_FUNCTION_TYPE_RJ:
+ *function_name = SDCA_FUNCTION_TYPE_RJ_NAME;
+ break;
case SDCA_FUNCTION_TYPE_IMP_DEF:
- dev_warn(dev, "unsupported SDCA function type %d\n", *function_type);
- return -EINVAL;
+ *function_name = SDCA_FUNCTION_TYPE_IMP_DEF_NAME;
+ break;
default:
dev_err(dev, "invalid SDCA function type %d\n", *function_type);
return -EINVAL;