Skip to content

Commit

Permalink
V4L/DVB (11163): pvrusb2: Lay foundation for triggering sub-device up…
Browse files Browse the repository at this point in the history
…dates

These changes set up the spot where we'll check for and set general
updates to any attached sub-devices.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Mike Isely authored and Mauro Carvalho Chehab committed Mar 30, 2009
1 parent 446dfdc commit 5ceaad1
Showing 1 changed file with 18 additions and 7 deletions.
25 changes: 18 additions & 7 deletions drivers/media/video/pvrusb2/pvrusb2-hdw.c
Original file line number Diff line number Diff line change
Expand Up @@ -2839,6 +2839,14 @@ static const char *get_ctrl_typename(enum pvr2_ctl_type tp)
}


/* Execute whatever commands are required to update the state of all the
sub-devices so that it matches our current control values. */
static void pvr2_subdev_update(struct pvr2_hdw *hdw)
{
/* ????? */
}


/* Figure out if we need to commit control changes. If so, mark internal
state flags to indicate this fact and return true. Otherwise do nothing
else and return false. */
Expand Down Expand Up @@ -3009,12 +3017,6 @@ static int pvr2_hdw_commit_execute(struct pvr2_hdw *hdw)
the client drivers in order to keep everything in sync */
pvr2_i2c_core_check_stale(hdw);

for (idx = 0; idx < hdw->control_cnt; idx++) {
cptr = hdw->controls + idx;
if (!cptr->info->clear_dirty) continue;
cptr->info->clear_dirty(cptr);
}

if (hdw->active_stream_type != hdw->desired_stream_type) {
/* Handle any side effects of stream config here */
hdw->active_stream_type = hdw->desired_stream_type;
Expand All @@ -3034,6 +3036,15 @@ static int pvr2_hdw_commit_execute(struct pvr2_hdw *hdw)
}
}

for (idx = 0; idx < hdw->control_cnt; idx++) {
cptr = hdw->controls + idx;
if (!cptr->info->clear_dirty) continue;
cptr->info->clear_dirty(cptr);
}

/* Check and update state for all sub-devices. */
pvr2_subdev_update(hdw);

/* Now execute i2c core update */
pvr2_i2c_core_sync(hdw);

Expand Down Expand Up @@ -3190,8 +3201,8 @@ void pvr2_hdw_trigger_module_log(struct pvr2_hdw *hdw)
{
int nr = pvr2_hdw_get_unit_number(hdw);
LOCK_TAKE(hdw->big_lock); do {
hdw->log_requested = !0;
printk(KERN_INFO "pvrusb2: ================= START STATUS CARD #%d =================\n", nr);
hdw->log_requested = !0;
pvr2_i2c_core_check_stale(hdw);
pvr2_i2c_core_sync(hdw);
hdw->log_requested = 0;
Expand Down

0 comments on commit 5ceaad1

Please sign in to comment.