Commit a27e5e76 authored by Michael Krufky's avatar Michael Krufky Committed by Mauro Carvalho Chehab

V4L/DVB (6227): dvb-pll: store instance ID in dvb_pll_priv structure

Store an instance ID in the dvb_pll_priv structure, so that module options
specific to a given pll may be used by the functions within the driver.

When debug is turned on, print a message indicating which pll was attached
and it's instance id.
Signed-off-by: default avatarMichael Krufky <mkrufky@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 5d7802b2
...@@ -556,6 +556,9 @@ static struct dvb_pll_desc *pll_list[] = { ...@@ -556,6 +556,9 @@ static struct dvb_pll_desc *pll_list[] = {
/* ----------------------------------------------------------- */ /* ----------------------------------------------------------- */
struct dvb_pll_priv { struct dvb_pll_priv {
/* pll number */
int nr;
/* i2c details */ /* i2c details */
int pll_i2c_address; int pll_i2c_address;
struct i2c_adapter *i2c; struct i2c_adapter *i2c;
...@@ -575,6 +578,8 @@ static int debug = 0; ...@@ -575,6 +578,8 @@ static int debug = 0;
module_param(debug, int, 0644); module_param(debug, int, 0644);
MODULE_PARM_DESC(debug, "enable verbose debug messages"); MODULE_PARM_DESC(debug, "enable verbose debug messages");
static unsigned int dvb_pll_devcount;
static int dvb_pll_configure(struct dvb_frontend *fe, u8 *buf, static int dvb_pll_configure(struct dvb_frontend *fe, u8 *buf,
const struct dvb_frontend_parameters *params) const struct dvb_frontend_parameters *params)
{ {
...@@ -787,6 +792,7 @@ struct dvb_frontend *dvb_pll_attach(struct dvb_frontend *fe, int pll_addr, ...@@ -787,6 +792,7 @@ struct dvb_frontend *dvb_pll_attach(struct dvb_frontend *fe, int pll_addr,
priv->pll_i2c_address = pll_addr; priv->pll_i2c_address = pll_addr;
priv->i2c = i2c; priv->i2c = i2c;
priv->pll_desc = desc; priv->pll_desc = desc;
priv->nr = dvb_pll_devcount++;
memcpy(&fe->ops.tuner_ops, &dvb_pll_tuner_ops, memcpy(&fe->ops.tuner_ops, &dvb_pll_tuner_ops,
sizeof(struct dvb_tuner_ops)); sizeof(struct dvb_tuner_ops));
...@@ -801,6 +807,14 @@ struct dvb_frontend *dvb_pll_attach(struct dvb_frontend *fe, int pll_addr, ...@@ -801,6 +807,14 @@ struct dvb_frontend *dvb_pll_attach(struct dvb_frontend *fe, int pll_addr,
fe->ops.tuner_ops.sleep = NULL; fe->ops.tuner_ops.sleep = NULL;
fe->tuner_priv = priv; fe->tuner_priv = priv;
if (debug) {
printk("dvb-pll[%d]", priv->nr);
if (i2c != NULL)
printk(" %d-%04x", i2c_adapter_id(i2c), pll_addr);
printk(": id# %d (%s) attached\n", pll_desc_id, desc->name);
}
return fe; return fe;
} }
EXPORT_SYMBOL(dvb_pll_attach); EXPORT_SYMBOL(dvb_pll_attach);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment