| From 9fcb241f7f7c3163f60561af838089bad43962b6 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 24 Jun 2025 13:28:42 +0100 |
| Subject: ASoC: SDCA: Add flag for unused IRQs |
| |
| From: Charles Keepax <ckeepax@opensource.cirrus.com> |
| |
| [ Upstream commit 775f5729b47d8737f4f98e0141f61b3358245398 ] |
| |
| Zero is a valid SDCA IRQ interrupt position so add a special value to |
| indicate that the IRQ is not used. |
| |
| Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> |
| Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> |
| Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev> |
| Link: https://patch.msgid.link/20250624122844.2761627-6-ckeepax@opensource.cirrus.com |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| include/sound/sdca_function.h | 2 ++ |
| sound/soc/sdca/sdca_functions.c | 2 ++ |
| 2 files changed, 4 insertions(+) |
| |
| diff --git a/include/sound/sdca_function.h b/include/sound/sdca_function.h |
| index eaedb54a8322..b43bda42eeca 100644 |
| --- a/include/sound/sdca_function.h |
| +++ b/include/sound/sdca_function.h |
| @@ -16,6 +16,8 @@ struct device; |
| struct sdca_entity; |
| struct sdca_function_desc; |
| |
| +#define SDCA_NO_INTERRUPT -1 |
| + |
| /* |
| * The addressing space for SDCA relies on 7 bits for Entities, so a |
| * maximum of 128 Entities per function can be represented. |
| diff --git a/sound/soc/sdca/sdca_functions.c b/sound/soc/sdca/sdca_functions.c |
| index 28e9e6de6d5d..050f7338aca9 100644 |
| --- a/sound/soc/sdca/sdca_functions.c |
| +++ b/sound/soc/sdca/sdca_functions.c |
| @@ -912,6 +912,8 @@ static int find_sdca_entity_control(struct device *dev, struct sdca_entity *enti |
| &tmp); |
| if (!ret) |
| control->interrupt_position = tmp; |
| + else |
| + control->interrupt_position = SDCA_NO_INTERRUPT; |
| |
| control->label = find_sdca_control_label(dev, entity, control); |
| if (!control->label) |
| -- |
| 2.39.5 |
| |