aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorHans Verkuil <hans.verkuil@cisco.com>2013-08-22 05:15:31 -0400
committerMauro Carvalho Chehab <m.chehab@samsung.com>2013-08-24 03:31:12 -0400
commit265d3b55ffdb5e9cf74fd85e2a841b04a82f3355 (patch)
treecb976586046a691439cc7b30e1cbbf9eb6e377fd /drivers/media
parent8c0eadb88bc67cee8b83e08f5743bd7c378efdd9 (diff)
[media] ad9389b: set is_private only after successfully creating all controls
is_private was set right after creating each control, but the control pointer might be NULL in case of an error. Set it after all controls were successfully created, since that guarantees that all control pointers are non-NULL. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/i2c/ad9389b.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/media/i2c/ad9389b.c b/drivers/media/i2c/ad9389b.c
index 836978602973..bb0c99d7a4f1 100644
--- a/drivers/media/i2c/ad9389b.c
+++ b/drivers/media/i2c/ad9389b.c
@@ -1109,27 +1109,27 @@ static int ad9389b_probe(struct i2c_client *client, const struct i2c_device_id *
1109 state->hdmi_mode_ctrl = v4l2_ctrl_new_std_menu(hdl, &ad9389b_ctrl_ops, 1109 state->hdmi_mode_ctrl = v4l2_ctrl_new_std_menu(hdl, &ad9389b_ctrl_ops,
1110 V4L2_CID_DV_TX_MODE, V4L2_DV_TX_MODE_HDMI, 1110 V4L2_CID_DV_TX_MODE, V4L2_DV_TX_MODE_HDMI,
1111 0, V4L2_DV_TX_MODE_DVI_D); 1111 0, V4L2_DV_TX_MODE_DVI_D);
1112 state->hdmi_mode_ctrl->is_private = true;
1113 state->hotplug_ctrl = v4l2_ctrl_new_std(hdl, NULL, 1112 state->hotplug_ctrl = v4l2_ctrl_new_std(hdl, NULL,
1114 V4L2_CID_DV_TX_HOTPLUG, 0, 1, 0, 0); 1113 V4L2_CID_DV_TX_HOTPLUG, 0, 1, 0, 0);
1115 state->hotplug_ctrl->is_private = true;
1116 state->rx_sense_ctrl = v4l2_ctrl_new_std(hdl, NULL, 1114 state->rx_sense_ctrl = v4l2_ctrl_new_std(hdl, NULL,
1117 V4L2_CID_DV_TX_RXSENSE, 0, 1, 0, 0); 1115 V4L2_CID_DV_TX_RXSENSE, 0, 1, 0, 0);
1118 state->rx_sense_ctrl->is_private = true;
1119 state->have_edid0_ctrl = v4l2_ctrl_new_std(hdl, NULL, 1116 state->have_edid0_ctrl = v4l2_ctrl_new_std(hdl, NULL,
1120 V4L2_CID_DV_TX_EDID_PRESENT, 0, 1, 0, 0); 1117 V4L2_CID_DV_TX_EDID_PRESENT, 0, 1, 0, 0);
1121 state->have_edid0_ctrl->is_private = true;
1122 state->rgb_quantization_range_ctrl = 1118 state->rgb_quantization_range_ctrl =
1123 v4l2_ctrl_new_std_menu(hdl, &ad9389b_ctrl_ops, 1119 v4l2_ctrl_new_std_menu(hdl, &ad9389b_ctrl_ops,
1124 V4L2_CID_DV_TX_RGB_RANGE, V4L2_DV_RGB_RANGE_FULL, 1120 V4L2_CID_DV_TX_RGB_RANGE, V4L2_DV_RGB_RANGE_FULL,
1125 0, V4L2_DV_RGB_RANGE_AUTO); 1121 0, V4L2_DV_RGB_RANGE_AUTO);
1126 state->rgb_quantization_range_ctrl->is_private = true;
1127 sd->ctrl_handler = hdl; 1122 sd->ctrl_handler = hdl;
1128 if (hdl->error) { 1123 if (hdl->error) {
1129 err = hdl->error; 1124 err = hdl->error;
1130 1125
1131 goto err_hdl; 1126 goto err_hdl;
1132 } 1127 }
1128 state->hdmi_mode_ctrl->is_private = true;
1129 state->hotplug_ctrl->is_private = true;
1130 state->rx_sense_ctrl->is_private = true;
1131 state->have_edid0_ctrl->is_private = true;
1132 state->rgb_quantization_range_ctrl->is_private = true;
1133 1133
1134 state->pad.flags = MEDIA_PAD_FL_SINK; 1134 state->pad.flags = MEDIA_PAD_FL_SINK;
1135 err = media_entity_init(&sd->entity, 1, &state->pad, 0); 1135 err = media_entity_init(&sd->entity, 1, &state->pad, 0);