Re: [PATCH v7 07/14] ALSA: hda: cs35l41: Support multiple load paths for firmware

From: Amadeusz Sławiński
Date: Wed Jun 22 2022 - 04:40:46 EST


On 6/22/2022 9:46 AM, Vitaly Rodionov wrote:
From: Stefan Binding <sbinding@xxxxxxxxxxxxxxxxxxxxx>

To be able to support different firmwares and tuning
for different models, the driver needs to be able to
load a different firmware and coefficient file based
on its Subsystem ID.

The driver attempts to load the firmware in the
following order:

/lib/firmware/cirrus/cs35l41-dsp1-<fw-type>-<ssid>-dev<#>.wmfw
/lib/firmware/cirrus/cs35l41-dsp1-<fw-type>-<ssid>.wmfw
/lib/firmware/cirrus/cs35l41-dsp1-<fw-type>.wmfw

Signed-off-by: Stefan Binding <sbinding@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Vitaly Rodionov <vitalyr@xxxxxxxxxxxxxxxxxxxxx>
---

...

CS35L41_FIRMWARE_ROOT, NULL, NULL, "wmfw");
+ if (!ret) {
+ /* fallback try cirrus/part-dspN-fwtype.bin */
cs35l41_request_firmware_file(cs35l41, coeff_firmware, coeff_filename,
- CS35L41_FIRMWARE_ROOT, "bin");
+ CS35L41_FIRMWARE_ROOT, NULL, NULL, "bin");
return 0;
}
@@ -143,7 +183,6 @@ static int cs35l41_request_firmware_files(struct cs35l41_hda *cs35l41,
return ret;
}
-

You add unnecessary line in patch 4 and remove in this one?

static int cs35l41_init_dsp(struct cs35l41_hda *cs35l41)
{
const struct firmware *coeff_firmware = NULL;