From: Richard Fitzgerald <rf@opensource.cirrus.com>
To: broonie@kernel.org
Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org,
patches@opensource.cirrus.com
Subject: [PATCH 05/10] ASoC: wm_adsp: Remove duplicated code to find firmware file
Date: Tue, 10 Mar 2026 14:18:12 +0000 [thread overview]
Message-ID: <20260310141817.1871794-6-rf@opensource.cirrus.com> (raw)
In-Reply-To: <20260310141817.1871794-1-rf@opensource.cirrus.com>
The 3rd search case in wm_adsp_request_firmware_files() does exactly the
same bin file searches as the case immediately above it. Merge the
conditional from the 3rd case into the second case so the duplicated code
can be removed.
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
---
sound/soc/codecs/wm_adsp.c | 27 +++++++--------------------
1 file changed, 7 insertions(+), 20 deletions(-)
diff --git a/sound/soc/codecs/wm_adsp.c b/sound/soc/codecs/wm_adsp.c
index 79695ead5788..b904d1e1b00c 100644
--- a/sound/soc/codecs/wm_adsp.c
+++ b/sound/soc/codecs/wm_adsp.c
@@ -828,9 +828,10 @@ VISIBLE_IF_KUNIT int wm_adsp_request_firmware_files(struct wm_adsp *dsp,
}
if (system_name) {
- if (!wm_adsp_request_firmware_file(dsp, wmfw_firmware, wmfw_filename,
- cirrus_dir, system_name,
- NULL, "wmfw")) {
+ ret = wm_adsp_request_firmware_file(dsp, wmfw_firmware, wmfw_filename,
+ cirrus_dir, system_name,
+ NULL, "wmfw");
+ if (!ret || dsp->wmfw_optional) {
if (suffix)
wm_adsp_request_firmware_file(dsp, coeff_firmware, coeff_filename,
cirrus_dir, system_name,
@@ -840,26 +841,12 @@ VISIBLE_IF_KUNIT int wm_adsp_request_firmware_files(struct wm_adsp *dsp,
wm_adsp_request_firmware_file(dsp, coeff_firmware, coeff_filename,
cirrus_dir, system_name,
NULL, "bin");
- return 0;
+
+ if (*wmfw_firmware || (dsp->wmfw_optional && *coeff_firmware))
+ return 0;
}
}
- /* Check system-specific bin without wmfw before falling back to generic */
- if (dsp->wmfw_optional && system_name) {
- if (suffix)
- wm_adsp_request_firmware_file(dsp, coeff_firmware, coeff_filename,
- cirrus_dir, system_name,
- suffix, "bin");
-
- if (!*coeff_firmware)
- wm_adsp_request_firmware_file(dsp, coeff_firmware, coeff_filename,
- cirrus_dir, system_name,
- NULL, "bin");
-
- if (*coeff_firmware)
- return 0;
- }
-
/* Check legacy location */
if (!wm_adsp_request_firmware_file(dsp, wmfw_firmware, wmfw_filename,
"", NULL, NULL, "wmfw")) {
--
2.47.3
next prev parent reply other threads:[~2026-03-10 14:18 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-10 14:18 [PATCH 00/10] ASoC: wm_adsp: Some improvements to firmware file search Richard Fitzgerald
2026-03-10 14:18 ` [PATCH 01/10] ASoC: wm_adsp: Remove unused argument to wm_adsp_release_firmware_files() Richard Fitzgerald
2026-03-10 14:18 ` [PATCH 02/10] ASoC: wm_adsp: Add KUnit redirection stubs for firmware file search Richard Fitzgerald
2026-03-10 14:18 ` [PATCH 03/10] ASoC: wm_adsp: Export function for KUnit test to get firmware filenames Richard Fitzgerald
2026-03-10 14:18 ` [PATCH 04/10] ASoC: wm_adsp: Add kunit test for firmware file search Richard Fitzgerald
2026-03-10 14:18 ` Richard Fitzgerald [this message]
2026-03-10 14:18 ` [PATCH 06/10] ASoC: wm_adsp: Use consistent error checks in wm_adsp_request_firmware_files() Richard Fitzgerald
2026-03-10 14:18 ` [PATCH 07/10] ASoC: wm_adsp: Convert '/' to '-' when normalizing firmware filenames Richard Fitzgerald
2026-03-10 14:18 ` [PATCH 08/10] ASoC: wm_adsp: Add KUnit test cases for '/' in " Richard Fitzgerald
2026-03-10 14:18 ` [PATCH 09/10] ASoC: wm_adsp: Use a struct to pass around firmware struct and filename Richard Fitzgerald
2026-03-10 14:18 ` [PATCH 10/10] ASoC: wm_adsp: Combine some similar code in firmware file search Richard Fitzgerald
2026-03-12 17:34 ` [PATCH 00/10] ASoC: wm_adsp: Some improvements to " Mark Brown
2026-03-13 14:58 ` Mark Brown
2026-03-17 15:37 ` Mark Brown
2026-03-17 15:52 ` Charles Keepax
2026-03-17 17:47 ` Charles Keepax
2026-03-17 18:11 ` Mark Brown
2026-03-18 9:31 ` Charles Keepax
2026-03-18 10:27 ` Charles Keepax
2026-03-18 11:15 ` Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260310141817.1871794-6-rf@opensource.cirrus.com \
--to=rf@opensource.cirrus.com \
--cc=broonie@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=patches@opensource.cirrus.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox