[media] si2157: avoid firmware loading if it has been loaded previously
Add a variable into state to keep track if firmware has been loaded or not. Skip firmware loading in case it is already loaded (resume from sleep). Signed-off-by: Olli Salonen <olli.salonen@iki.fi> Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
parent
0e38233d32
commit
4cbf6ed910
|
@ -89,7 +89,10 @@ static int si2157_init(struct dvb_frontend *fe)
|
||||||
|
|
||||||
dev_dbg(&s->client->dev, "\n");
|
dev_dbg(&s->client->dev, "\n");
|
||||||
|
|
||||||
/* configure? */
|
if (s->fw_loaded)
|
||||||
|
goto warm;
|
||||||
|
|
||||||
|
/* power up */
|
||||||
memcpy(cmd.args, "\xc0\x00\x0c\x00\x00\x01\x01\x01\x01\x01\x01\x02\x00\x00\x01", 15);
|
memcpy(cmd.args, "\xc0\x00\x0c\x00\x00\x01\x01\x01\x01\x01\x01\x02\x00\x00\x01", 15);
|
||||||
cmd.wlen = 15;
|
cmd.wlen = 15;
|
||||||
cmd.rlen = 1;
|
cmd.rlen = 1;
|
||||||
|
@ -176,9 +179,12 @@ skip_fw_download:
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
s->active = true;
|
s->fw_loaded = true;
|
||||||
|
|
||||||
|
warm:
|
||||||
|
s->active = true;
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err:
|
err:
|
||||||
if (fw)
|
if (fw)
|
||||||
release_firmware(fw);
|
release_firmware(fw);
|
||||||
|
@ -320,6 +326,7 @@ static int si2157_probe(struct i2c_client *client,
|
||||||
s->client = client;
|
s->client = client;
|
||||||
s->fe = cfg->fe;
|
s->fe = cfg->fe;
|
||||||
s->inversion = cfg->inversion;
|
s->inversion = cfg->inversion;
|
||||||
|
s->fw_loaded = false;
|
||||||
mutex_init(&s->i2c_mutex);
|
mutex_init(&s->i2c_mutex);
|
||||||
|
|
||||||
/* check if the tuner is there */
|
/* check if the tuner is there */
|
||||||
|
|
|
@ -26,6 +26,7 @@ struct si2157 {
|
||||||
struct i2c_client *client;
|
struct i2c_client *client;
|
||||||
struct dvb_frontend *fe;
|
struct dvb_frontend *fe;
|
||||||
bool active;
|
bool active;
|
||||||
|
bool fw_loaded;
|
||||||
bool inversion;
|
bool inversion;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue