Skip to content

Commit

Permalink
V4L/DVB (10250): cx25840: fix regression: fw not loaded on first use
Browse files Browse the repository at this point in the history
With the conversion to v4l2_subdev one bit of code was accidentally dropped:
on receiving the first command the driver has to load the fw. A new init()
command was introduced to do that explicitly for bridge drivers that are
converted to use v4l2_subdev, but old drivers that are not yet converted
no longer worked.

This patch fixes this regression for these old drivers.

Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
  • Loading branch information
hverkuil authored and Mauro Carvalho Chehab committed Jan 29, 2009
1 parent cf8e193 commit ba390f0
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions drivers/media/video/cx25840/cx25840-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -1382,6 +1382,14 @@ static int cx25840_log_status(struct v4l2_subdev *sd)

static int cx25840_command(struct i2c_client *client, unsigned cmd, void *arg)
{
/* ignore this command */
if (cmd == TUNER_SET_TYPE_ADDR)
return 0;

/* Old-style drivers rely on initialization on first use, so
call the init whenever a command is issued to this driver.
New-style drivers using v4l2_subdev should call init explicitly. */
cx25840_init(i2c_get_clientdata(client), 0);
return v4l2_subdev_command(i2c_get_clientdata(client), cmd, arg);
}

Expand Down

0 comments on commit ba390f0

Please sign in to comment.