Skip to content

Commit

Permalink
V4L/DVB (13478): cx18: remove bogus init call.
Browse files Browse the repository at this point in the history
The cx18 av core implemented an init call for no good reason. It's now
turned into an internal function.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Reviewed-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Hans Verkuil authored and Mauro Carvalho Chehab committed Dec 5, 2009
1 parent dbc8e34 commit 7f3ea4d
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 8 deletions.
14 changes: 7 additions & 7 deletions drivers/media/video/cx18/cx18-av-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -99,10 +99,8 @@ int cx18_av_and_or4(struct cx18 *cx, u16 addr, u32 and_mask,
or_value);
}

static int cx18_av_init(struct v4l2_subdev *sd, u32 val)
static void cx18_av_init(struct cx18 *cx)
{
struct cx18 *cx = v4l2_get_subdevdata(sd);

/*
* The crystal freq used in calculations in this driver will be
* 28.636360 MHz.
Expand All @@ -125,7 +123,6 @@ static int cx18_av_init(struct v4l2_subdev *sd, u32 val)

/* SA_MCLK_SEL=1, SA_MCLK_DIV=0x16 */
cx18_av_write(cx, CXADEC_I2S_MCLK, 0x56);
return 0;
}

static void cx18_av_initialize(struct v4l2_subdev *sd)
Expand Down Expand Up @@ -198,7 +195,7 @@ static void cx18_av_initialize(struct v4l2_subdev *sd)
cx18_av_and_or4(cx, CXADEC_CHIP_CTRL, 0xFFFBFFFF, 0x00120000);

/* Setup the Video and and Aux/Audio PLLs */
cx18_av_init(sd, 0);
cx18_av_init(cx);

/* set video to auto-detect */
/* Clear bits 11-12 to enable slow locking mode. Set autodetect mode */
Expand Down Expand Up @@ -1355,7 +1352,6 @@ static int cx18_av_s_register(struct v4l2_subdev *sd,
static const struct v4l2_subdev_core_ops cx18_av_general_ops = {
.g_chip_ident = cx18_av_g_chip_ident,
.log_status = cx18_av_log_status,
.init = cx18_av_init,
.load_fw = cx18_av_load_fw,
.reset = cx18_av_reset,
.queryctrl = cx18_av_queryctrl,
Expand Down Expand Up @@ -1399,6 +1395,7 @@ int cx18_av_probe(struct cx18 *cx)
{
struct cx18_av_state *state = &cx->av_state;
struct v4l2_subdev *sd;
int err;

state->rev = cx18_av_read4(cx, CXADEC_CHIP_CTRL) & 0xffff;
state->id = ((state->rev >> 4) == CXADEC_CHIP_TYPE_MAKO)
Expand All @@ -1417,5 +1414,8 @@ int cx18_av_probe(struct cx18 *cx)
snprintf(sd->name, sizeof(sd->name),
"%s %03x", cx->v4l2_dev.name, (state->rev >> 4));
sd->grp_id = CX18_HW_418_AV;
return v4l2_device_register_subdev(&cx->v4l2_dev, sd);
err = v4l2_device_register_subdev(&cx->v4l2_dev, sd);
if (!err)
cx18_av_init(cx);
return err;
}
1 change: 0 additions & 1 deletion drivers/media/video/cx18/cx18-driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -912,7 +912,6 @@ static int __devinit cx18_probe(struct pci_dev *pci_dev,
CX18_ERR("Could not register A/V decoder subdevice\n");
goto free_map;
}
cx18_call_hw(cx, CX18_HW_418_AV, core, init, 0);

/* Initialize GPIO Reset Controller to do chip resets during i2c init */
if (cx->card->hw_all & CX18_HW_GPIO_RESET_CTRL) {
Expand Down

0 comments on commit 7f3ea4d

Please sign in to comment.