These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / media / usb / pvrusb2 / pvrusb2-hdw.c
index 930593d..0533ef2 100644 (file)
@@ -2602,14 +2602,16 @@ struct pvr2_hdw *pvr2_hdw_create(struct usb_interface *intf,
                           "Error registering with v4l core, giving up");
                goto fail;
        }
-       mutex_lock(&pvr2_unit_mtx); do {
+       mutex_lock(&pvr2_unit_mtx);
+       do {
                for (idx = 0; idx < PVR_NUM; idx++) {
                        if (unit_pointers[idx]) continue;
                        hdw->unit_number = idx;
                        unit_pointers[idx] = hdw;
                        break;
                }
-       } while (0); mutex_unlock(&pvr2_unit_mtx);
+       } while (0);
+       mutex_unlock(&pvr2_unit_mtx);
 
        cnt1 = 0;
        cnt2 = scnprintf(hdw->name+cnt1,sizeof(hdw->name)-cnt1,"pvrusb2");
@@ -2730,13 +2732,15 @@ void pvr2_hdw_destroy(struct pvr2_hdw *hdw)
        pvr2_i2c_core_done(hdw);
        v4l2_device_unregister(&hdw->v4l2_dev);
        pvr2_hdw_remove_usb_stuff(hdw);
-       mutex_lock(&pvr2_unit_mtx); do {
+       mutex_lock(&pvr2_unit_mtx);
+       do {
                if ((hdw->unit_number >= 0) &&
                    (hdw->unit_number < PVR_NUM) &&
                    (unit_pointers[hdw->unit_number] == hdw)) {
                        unit_pointers[hdw->unit_number] = NULL;
                }
-       } while (0); mutex_unlock(&pvr2_unit_mtx);
+       } while (0);
+       mutex_unlock(&pvr2_unit_mtx);
        kfree(hdw->controls);
        kfree(hdw->mpeg_ctrl_info);
        kfree(hdw);
@@ -2958,14 +2962,17 @@ static void pvr2_subdev_update(struct pvr2_hdw *hdw)
        }
 
        if (hdw->res_hor_dirty || hdw->res_ver_dirty || hdw->force_dirty) {
-               struct v4l2_mbus_framefmt fmt;
-               memset(&fmt, 0, sizeof(fmt));
-               fmt.width = hdw->res_hor_val;
-               fmt.height = hdw->res_ver_val;
-               fmt.code = MEDIA_BUS_FMT_FIXED;
+               struct v4l2_subdev_format format = {
+                       .which = V4L2_SUBDEV_FORMAT_ACTIVE,
+               };
+
+               format.format.width = hdw->res_hor_val;
+               format.format.height = hdw->res_ver_val;
+               format.format.code = MEDIA_BUS_FMT_FIXED;
                pvr2_trace(PVR2_TRACE_CHIPS, "subdev v4l2 set_size(%dx%d)",
-                          fmt.width, fmt.height);
-               v4l2_device_call_all(&hdw->v4l2_dev, 0, video, s_mbus_fmt, &fmt);
+                          format.format.width, format.format.height);
+               v4l2_device_call_all(&hdw->v4l2_dev, 0, pad, set_fmt,
+                                    NULL, &format);
        }
 
        if (hdw->srate_dirty || hdw->force_dirty) {
@@ -3343,14 +3350,16 @@ struct pvr2_stream *pvr2_hdw_get_video_stream(struct pvr2_hdw *hp)
 void pvr2_hdw_trigger_module_log(struct pvr2_hdw *hdw)
 {
        int nr = pvr2_hdw_get_unit_number(hdw);
-       LOCK_TAKE(hdw->big_lock); do {
+       LOCK_TAKE(hdw->big_lock);
+       do {
                printk(KERN_INFO "pvrusb2: =================  START STATUS CARD #%d  =================\n", nr);
                v4l2_device_call_all(&hdw->v4l2_dev, 0, core, log_status);
                pvr2_trace(PVR2_TRACE_INFO,"cx2341x config:");
                cx2341x_log_status(&hdw->enc_ctl_state, "pvrusb2");
                pvr2_hdw_state_log_state(hdw);
                printk(KERN_INFO "pvrusb2: ==================  END STATUS CARD #%d  ==================\n", nr);
-       } while (0); LOCK_GIVE(hdw->big_lock);
+       } while (0);
+       LOCK_GIVE(hdw->big_lock);
 }