mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-28 07:04:00 +08:00
[media] mb86a20s: convert it to use dev_info/dev_err/dev_dbg
Instead of having its own set of macros, use the Kernel default ones for debug, error and info. While here, do some cleanup on the debug printk's. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
dd4493ef34
commit
f66d81b54d
@ -24,18 +24,6 @@ static int debug = 1;
|
|||||||
module_param(debug, int, 0644);
|
module_param(debug, int, 0644);
|
||||||
MODULE_PARM_DESC(debug, "Activates frontend debugging (default:0)");
|
MODULE_PARM_DESC(debug, "Activates frontend debugging (default:0)");
|
||||||
|
|
||||||
#define rc(args...) do { \
|
|
||||||
printk(KERN_ERR "mb86a20s: " args); \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
#define dprintk(args...) \
|
|
||||||
do { \
|
|
||||||
if (debug) { \
|
|
||||||
printk(KERN_DEBUG "mb86a20s: %s: ", __func__); \
|
|
||||||
printk(args); \
|
|
||||||
} \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
struct mb86a20s_state {
|
struct mb86a20s_state {
|
||||||
struct i2c_adapter *i2c;
|
struct i2c_adapter *i2c;
|
||||||
const struct mb86a20s_config *config;
|
const struct mb86a20s_config *config;
|
||||||
@ -190,8 +178,9 @@ static int mb86a20s_i2c_writereg(struct mb86a20s_state *state,
|
|||||||
|
|
||||||
rc = i2c_transfer(state->i2c, &msg, 1);
|
rc = i2c_transfer(state->i2c, &msg, 1);
|
||||||
if (rc != 1) {
|
if (rc != 1) {
|
||||||
printk("%s: writereg error (rc == %i, reg == 0x%02x,"
|
dev_err(&state->i2c->dev,
|
||||||
" data == 0x%02x)\n", __func__, rc, reg, data);
|
"%s: writereg error (rc == %i, reg == 0x%02x, data == 0x%02x)\n",
|
||||||
|
__func__, rc, reg, data);
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -225,8 +214,9 @@ static int mb86a20s_i2c_readreg(struct mb86a20s_state *state,
|
|||||||
rc = i2c_transfer(state->i2c, msg, 2);
|
rc = i2c_transfer(state->i2c, msg, 2);
|
||||||
|
|
||||||
if (rc != 2) {
|
if (rc != 2) {
|
||||||
rc("%s: reg=0x%x (error=%d)\n", __func__, reg, rc);
|
dev_err(&state->i2c->dev, "%s: reg=0x%x (error=%d)\n",
|
||||||
return rc;
|
__func__, reg, rc);
|
||||||
|
return (rc < 0) ? rc : -EIO;
|
||||||
}
|
}
|
||||||
|
|
||||||
return val;
|
return val;
|
||||||
@ -245,7 +235,6 @@ static int mb86a20s_read_status(struct dvb_frontend *fe, fe_status_t *status)
|
|||||||
struct mb86a20s_state *state = fe->demodulator_priv;
|
struct mb86a20s_state *state = fe->demodulator_priv;
|
||||||
int val;
|
int val;
|
||||||
|
|
||||||
dprintk("\n");
|
|
||||||
*status = 0;
|
*status = 0;
|
||||||
|
|
||||||
val = mb86a20s_readreg(state, 0x0a) & 0xf;
|
val = mb86a20s_readreg(state, 0x0a) & 0xf;
|
||||||
@ -267,7 +256,8 @@ static int mb86a20s_read_status(struct dvb_frontend *fe, fe_status_t *status)
|
|||||||
if (val >= 8) /* Maybe 9? */
|
if (val >= 8) /* Maybe 9? */
|
||||||
*status |= FE_HAS_LOCK;
|
*status |= FE_HAS_LOCK;
|
||||||
|
|
||||||
dprintk("val = %d, status = 0x%02x\n", val, *status);
|
dev_dbg(&state->i2c->dev, "%s: Status = 0x%02x (state = %d)\n",
|
||||||
|
__func__, *status, val);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -278,8 +268,6 @@ static int mb86a20s_read_signal_strength(struct dvb_frontend *fe, u16 *strength)
|
|||||||
unsigned rf_max, rf_min, rf;
|
unsigned rf_max, rf_min, rf;
|
||||||
u8 val;
|
u8 val;
|
||||||
|
|
||||||
dprintk("\n");
|
|
||||||
|
|
||||||
if (fe->ops.i2c_gate_ctrl)
|
if (fe->ops.i2c_gate_ctrl)
|
||||||
fe->ops.i2c_gate_ctrl(fe, 0);
|
fe->ops.i2c_gate_ctrl(fe, 0);
|
||||||
|
|
||||||
@ -300,12 +288,13 @@ static int mb86a20s_read_signal_strength(struct dvb_frontend *fe, u16 *strength)
|
|||||||
rf_max = (rf_max + rf_min) / 2;
|
rf_max = (rf_max + rf_min) / 2;
|
||||||
if (rf_max - rf_min < 4) {
|
if (rf_max - rf_min < 4) {
|
||||||
*strength = (((rf_max + rf_min) / 2) * 65535) / 4095;
|
*strength = (((rf_max + rf_min) / 2) * 65535) / 4095;
|
||||||
|
dev_dbg(&state->i2c->dev,
|
||||||
|
"%s: signal strength = %d (%d < RF=%d < %d)\n",
|
||||||
|
__func__, rf, rf_min, rf >> 4, rf_max);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} while (1);
|
} while (1);
|
||||||
|
|
||||||
dprintk("signal strength = %d\n", *strength);
|
|
||||||
|
|
||||||
if (fe->ops.i2c_gate_ctrl)
|
if (fe->ops.i2c_gate_ctrl)
|
||||||
fe->ops.i2c_gate_ctrl(fe, 1);
|
fe->ops.i2c_gate_ctrl(fe, 1);
|
||||||
|
|
||||||
@ -419,15 +408,17 @@ static int mb86a20s_get_segment_count(struct mb86a20s_state *state,
|
|||||||
unsigned layer)
|
unsigned layer)
|
||||||
{
|
{
|
||||||
int rc, count;
|
int rc, count;
|
||||||
|
|
||||||
static unsigned char reg[] = {
|
static unsigned char reg[] = {
|
||||||
[0] = 0x89, /* Layer A */
|
[0] = 0x89, /* Layer A */
|
||||||
[1] = 0x8d, /* Layer B */
|
[1] = 0x8d, /* Layer B */
|
||||||
[2] = 0x91, /* Layer C */
|
[2] = 0x91, /* Layer C */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
dev_dbg(&state->i2c->dev, "%s called.\n", __func__);
|
||||||
|
|
||||||
if (layer >= ARRAY_SIZE(reg))
|
if (layer >= ARRAY_SIZE(reg))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
rc = mb86a20s_writereg(state, 0x6d, reg[layer]);
|
rc = mb86a20s_writereg(state, 0x6d, reg[layer]);
|
||||||
if (rc < 0)
|
if (rc < 0)
|
||||||
return rc;
|
return rc;
|
||||||
@ -436,13 +427,18 @@ static int mb86a20s_get_segment_count(struct mb86a20s_state *state,
|
|||||||
return rc;
|
return rc;
|
||||||
count = (rc >> 4) & 0x0f;
|
count = (rc >> 4) & 0x0f;
|
||||||
|
|
||||||
|
dev_dbg(&state->i2c->dev, "%s: segments: %d.\n", __func__, count);
|
||||||
|
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mb86a20s_reset_frontend_cache(struct dvb_frontend *fe)
|
static void mb86a20s_reset_frontend_cache(struct dvb_frontend *fe)
|
||||||
{
|
{
|
||||||
|
struct mb86a20s_state *state = fe->demodulator_priv;
|
||||||
struct dtv_frontend_properties *c = &fe->dtv_property_cache;
|
struct dtv_frontend_properties *c = &fe->dtv_property_cache;
|
||||||
|
|
||||||
|
dev_dbg(&state->i2c->dev, "%s called.\n", __func__);
|
||||||
|
|
||||||
/* Fixed parameters */
|
/* Fixed parameters */
|
||||||
c->delivery_system = SYS_ISDBT;
|
c->delivery_system = SYS_ISDBT;
|
||||||
c->bandwidth_hz = 6000000;
|
c->bandwidth_hz = 6000000;
|
||||||
@ -461,6 +457,8 @@ static int mb86a20s_get_frontend(struct dvb_frontend *fe)
|
|||||||
struct dtv_frontend_properties *c = &fe->dtv_property_cache;
|
struct dtv_frontend_properties *c = &fe->dtv_property_cache;
|
||||||
int i, rc;
|
int i, rc;
|
||||||
|
|
||||||
|
dev_dbg(&state->i2c->dev, "%s called.\n", __func__);
|
||||||
|
|
||||||
/* Reset frontend cache to default values */
|
/* Reset frontend cache to default values */
|
||||||
mb86a20s_reset_frontend_cache(fe);
|
mb86a20s_reset_frontend_cache(fe);
|
||||||
|
|
||||||
@ -479,9 +477,12 @@ static int mb86a20s_get_frontend(struct dvb_frontend *fe)
|
|||||||
/* Get per-layer data */
|
/* Get per-layer data */
|
||||||
|
|
||||||
for (i = 0; i < 3; i++) {
|
for (i = 0; i < 3; i++) {
|
||||||
|
dev_dbg(&state->i2c->dev, "%s: getting data for layer %c.\n",
|
||||||
|
__func__, 'A' + i);
|
||||||
|
|
||||||
rc = mb86a20s_get_segment_count(state, i);
|
rc = mb86a20s_get_segment_count(state, i);
|
||||||
if (rc < 0)
|
if (rc < 0)
|
||||||
goto error;
|
goto noperlayer_error;
|
||||||
if (rc >= 0 && rc < 14)
|
if (rc >= 0 && rc < 14)
|
||||||
c->layer[i].segment_count = rc;
|
c->layer[i].segment_count = rc;
|
||||||
else {
|
else {
|
||||||
@ -491,15 +492,21 @@ static int mb86a20s_get_frontend(struct dvb_frontend *fe)
|
|||||||
c->isdbt_layer_enabled |= 1 << i;
|
c->isdbt_layer_enabled |= 1 << i;
|
||||||
rc = mb86a20s_get_modulation(state, i);
|
rc = mb86a20s_get_modulation(state, i);
|
||||||
if (rc < 0)
|
if (rc < 0)
|
||||||
goto error;
|
goto noperlayer_error;
|
||||||
|
dev_dbg(&state->i2c->dev, "%s: modulation %d.\n",
|
||||||
|
__func__, rc);
|
||||||
c->layer[i].modulation = rc;
|
c->layer[i].modulation = rc;
|
||||||
rc = mb86a20s_get_fec(state, i);
|
rc = mb86a20s_get_fec(state, i);
|
||||||
if (rc < 0)
|
if (rc < 0)
|
||||||
goto error;
|
goto noperlayer_error;
|
||||||
|
dev_dbg(&state->i2c->dev, "%s: FEC %d.\n",
|
||||||
|
__func__, rc);
|
||||||
c->layer[i].fec = rc;
|
c->layer[i].fec = rc;
|
||||||
rc = mb86a20s_get_interleaving(state, i);
|
rc = mb86a20s_get_interleaving(state, i);
|
||||||
if (rc < 0)
|
if (rc < 0)
|
||||||
goto error;
|
goto noperlayer_error;
|
||||||
|
dev_dbg(&state->i2c->dev, "%s: interleaving %d.\n",
|
||||||
|
__func__, rc);
|
||||||
c->layer[i].interleaving = rc;
|
c->layer[i].interleaving = rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -544,7 +551,7 @@ static int mb86a20s_get_frontend(struct dvb_frontend *fe)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
error:
|
noperlayer_error:
|
||||||
if (fe->ops.i2c_gate_ctrl)
|
if (fe->ops.i2c_gate_ctrl)
|
||||||
fe->ops.i2c_gate_ctrl(fe, 1);
|
fe->ops.i2c_gate_ctrl(fe, 1);
|
||||||
|
|
||||||
@ -558,7 +565,7 @@ static int mb86a20s_initfe(struct dvb_frontend *fe)
|
|||||||
int rc;
|
int rc;
|
||||||
u8 regD5 = 1;
|
u8 regD5 = 1;
|
||||||
|
|
||||||
dprintk("\n");
|
dev_dbg(&state->i2c->dev, "%s called.\n", __func__);
|
||||||
|
|
||||||
if (fe->ops.i2c_gate_ctrl)
|
if (fe->ops.i2c_gate_ctrl)
|
||||||
fe->ops.i2c_gate_ctrl(fe, 0);
|
fe->ops.i2c_gate_ctrl(fe, 0);
|
||||||
@ -585,10 +592,11 @@ err:
|
|||||||
|
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
state->need_init = true;
|
state->need_init = true;
|
||||||
printk(KERN_INFO "mb86a20s: Init failed. Will try again later\n");
|
dev_info(&state->i2c->dev,
|
||||||
|
"mb86a20s: Init failed. Will try again later\n");
|
||||||
} else {
|
} else {
|
||||||
state->need_init = false;
|
state->need_init = false;
|
||||||
dprintk("Initialization succeeded.\n");
|
dev_dbg(&state->i2c->dev, "Initialization succeeded.\n");
|
||||||
}
|
}
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
@ -603,8 +611,7 @@ static int mb86a20s_set_frontend(struct dvb_frontend *fe)
|
|||||||
*/
|
*/
|
||||||
struct dtv_frontend_properties *c = &fe->dtv_property_cache;
|
struct dtv_frontend_properties *c = &fe->dtv_property_cache;
|
||||||
#endif
|
#endif
|
||||||
|
dev_dbg(&state->i2c->dev, "%s called.\n", __func__);
|
||||||
dprintk("\n");
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Gate should already be opened, but it doesn't hurt to
|
* Gate should already be opened, but it doesn't hurt to
|
||||||
@ -612,7 +619,6 @@ static int mb86a20s_set_frontend(struct dvb_frontend *fe)
|
|||||||
*/
|
*/
|
||||||
if (fe->ops.i2c_gate_ctrl)
|
if (fe->ops.i2c_gate_ctrl)
|
||||||
fe->ops.i2c_gate_ctrl(fe, 1);
|
fe->ops.i2c_gate_ctrl(fe, 1);
|
||||||
dprintk("Calling tuner set parameters\n");
|
|
||||||
fe->ops.tuner_ops.set_params(fe);
|
fe->ops.tuner_ops.set_params(fe);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -637,13 +643,11 @@ static int mb86a20s_set_frontend(struct dvb_frontend *fe)
|
|||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int mb86a20s_read_status_gate(struct dvb_frontend *fe,
|
static int mb86a20s_read_status_gate(struct dvb_frontend *fe,
|
||||||
fe_status_t *status)
|
fe_status_t *status)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
dprintk("\n");
|
|
||||||
*status = 0;
|
*status = 0;
|
||||||
|
|
||||||
if (fe->ops.i2c_gate_ctrl)
|
if (fe->ops.i2c_gate_ctrl)
|
||||||
@ -663,9 +667,10 @@ static int mb86a20s_tune(struct dvb_frontend *fe,
|
|||||||
unsigned int *delay,
|
unsigned int *delay,
|
||||||
fe_status_t *status)
|
fe_status_t *status)
|
||||||
{
|
{
|
||||||
|
struct mb86a20s_state *state = fe->demodulator_priv;
|
||||||
int rc = 0;
|
int rc = 0;
|
||||||
|
|
||||||
dprintk("\n");
|
dev_dbg(&state->i2c->dev, "%s called.\n", __func__);
|
||||||
|
|
||||||
if (re_tune)
|
if (re_tune)
|
||||||
rc = mb86a20s_set_frontend(fe);
|
rc = mb86a20s_set_frontend(fe);
|
||||||
@ -680,7 +685,7 @@ static void mb86a20s_release(struct dvb_frontend *fe)
|
|||||||
{
|
{
|
||||||
struct mb86a20s_state *state = fe->demodulator_priv;
|
struct mb86a20s_state *state = fe->demodulator_priv;
|
||||||
|
|
||||||
dprintk("\n");
|
dev_dbg(&state->i2c->dev, "%s called.\n", __func__);
|
||||||
|
|
||||||
kfree(state);
|
kfree(state);
|
||||||
}
|
}
|
||||||
@ -690,15 +695,16 @@ static struct dvb_frontend_ops mb86a20s_ops;
|
|||||||
struct dvb_frontend *mb86a20s_attach(const struct mb86a20s_config *config,
|
struct dvb_frontend *mb86a20s_attach(const struct mb86a20s_config *config,
|
||||||
struct i2c_adapter *i2c)
|
struct i2c_adapter *i2c)
|
||||||
{
|
{
|
||||||
|
struct mb86a20s_state *state;
|
||||||
u8 rev;
|
u8 rev;
|
||||||
|
|
||||||
/* allocate memory for the internal state */
|
/* allocate memory for the internal state */
|
||||||
struct mb86a20s_state *state =
|
state = kzalloc(sizeof(struct mb86a20s_state), GFP_KERNEL);
|
||||||
kzalloc(sizeof(struct mb86a20s_state), GFP_KERNEL);
|
|
||||||
|
|
||||||
dprintk("\n");
|
dev_dbg(&state->i2c->dev, "%s called.\n", __func__);
|
||||||
if (state == NULL) {
|
if (state == NULL) {
|
||||||
rc("Unable to kzalloc\n");
|
dev_err(&state->i2c->dev,
|
||||||
|
"%s: unable to allocate memory for state\n", __func__);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -715,9 +721,11 @@ struct dvb_frontend *mb86a20s_attach(const struct mb86a20s_config *config,
|
|||||||
rev = mb86a20s_readreg(state, 0);
|
rev = mb86a20s_readreg(state, 0);
|
||||||
|
|
||||||
if (rev == 0x13) {
|
if (rev == 0x13) {
|
||||||
printk(KERN_INFO "Detected a Fujitsu mb86a20s frontend\n");
|
dev_info(&state->i2c->dev,
|
||||||
|
"Detected a Fujitsu mb86a20s frontend\n");
|
||||||
} else {
|
} else {
|
||||||
printk(KERN_ERR "Frontend revision %d is unknown - aborting.\n",
|
dev_dbg(&state->i2c->dev,
|
||||||
|
"Frontend revision %d is unknown - aborting.\n",
|
||||||
rev);
|
rev);
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user