diff mbox series

[2/2] media: si2168: also cache Si2168 B40 fallback firmware

Message ID 20200813214538.8474-2-kernel@tuxforce.de
State New
Headers show
Series None | expand

Commit Message

Lukas Middendorf Aug. 13, 2020, 9:45 p.m. UTC
we can not know beforehand whether we have to access that firmware
file during resume. We just request the caching so we don't run
into any problems later

Signed-off-by: Lukas Middendorf <kernel@tuxforce.de>
---
 drivers/media/dvb-frontends/si2168.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

Comments

Lukas Middendorf April 1, 2021, 2:46 p.m. UTC | #1
Hi,

this second patch also is not yet in 5.12-rc5 and is still relevant for me.
A second option would be to stop using the fallback firmware completely. 
I think systems using a current kernel can be expected to also have the 
firmware files with their current names.

Best regards

Lukas

On 13/08/2020 23:45, Lukas Middendorf wrote:
> we can not know beforehand whether we have to access that firmware

> file during resume. We just request the caching so we don't run

> into any problems later

> 

> Signed-off-by: Lukas Middendorf <kernel@tuxforce.de>

> ---

>   drivers/media/dvb-frontends/si2168.c | 13 +++++++++++++

>   1 file changed, 13 insertions(+)

> 

> diff --git a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c

> index ea4b2d91697e..f2dd1deb75ff 100644

> --- a/drivers/media/dvb-frontends/si2168.c

> +++ b/drivers/media/dvb-frontends/si2168.c

> @@ -768,6 +768,19 @@ static int si2168_probe(struct i2c_client *client,

>   				dev->firmware_name);

>   	}

>   

> +	/* also request caching of fw for Si2168 B40 under its old file name.

> +	 * Since we can't know now whether we might have to access that file,

> +	 * we just make sure we have that covered

> +	 */

> +	if (dev->chip_id == SI2168_CHIP_ID_B40) {

> +		ret = firmware_request_cache(&client->dev, SI2168_B40_FIRMWARE_FALLBACK);

> +		if (ret) {

> +			dev_err(&client->dev,

> +					"firmware caching for '%s' failed\n",

> +					SI2168_B40_FIRMWARE_FALLBACK);

> +		}

> +	}

> +

>   	return 0;

>   err_kfree:

>   	kfree(dev);

>
diff mbox series

Patch

diff --git a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c
index ea4b2d91697e..f2dd1deb75ff 100644
--- a/drivers/media/dvb-frontends/si2168.c
+++ b/drivers/media/dvb-frontends/si2168.c
@@ -768,6 +768,19 @@  static int si2168_probe(struct i2c_client *client,
 				dev->firmware_name);
 	}
 
+	/* also request caching of fw for Si2168 B40 under its old file name.
+	 * Since we can't know now whether we might have to access that file,
+	 * we just make sure we have that covered
+	 */
+	if (dev->chip_id == SI2168_CHIP_ID_B40) {
+		ret = firmware_request_cache(&client->dev, SI2168_B40_FIRMWARE_FALLBACK);
+		if (ret) {
+			dev_err(&client->dev,
+					"firmware caching for '%s' failed\n",
+					SI2168_B40_FIRMWARE_FALLBACK);
+		}
+	}
+
 	return 0;
 err_kfree:
 	kfree(dev);