On Wed, 31 Aug 2011, Bastian Hecht wrote: > 2011/8/28 Laurent Pinchart <laurent.pinch...@ideasonboard.com>: > > Hi Bastian, > > > > Thanks for the patch. > > > > On Wednesday 17 August 2011 18:02:07 Bastian Hecht wrote: > >> The driver now supports automatic/manual gain, automatic/manual white > >> balance, automatic/manual exposure control, vertical flip, brightness > >> control, contrast control and saturation control. Additionally the > >> following effects are available now: rotating the hue in the colorspace, > >> gray scale image and solarize effect. > > > > Any chance to port soc-camera to the control framework ? :-) > > I redirect that to Guennadi :-)
Hans is prepaing an update of his port, then we'll integrate it... This all will take time, so, it's better to do this driver now the "old soc-camera" way, and port it later. [snip] > >> +static int ov5642_s_ctrl(struct v4l2_subdev *sd, struct v4l2_control > >> *ctrl) +{ > >> + struct i2c_client *client = v4l2_get_subdevdata(sd); > >> + struct ov5642 *priv = to_ov5642(client); > >> + int ret = 0; > >> + u8 val8; > >> + u16 val16; > >> + u32 val32; > >> + int trig; > >> + struct v4l2_control aux_ctrl; > >> + > >> + switch (ctrl->id) { > >> + case V4L2_CID_AUTOGAIN: > >> + if (!ctrl->value) { > >> + aux_ctrl.id = V4L2_CID_GAIN; > >> + ret = ov5642_g_ctrl(sd, &aux_ctrl); > >> + if (ret) > >> + break; > >> + priv->gain = aux_ctrl.value; > >> + } > >> + > >> + ret = reg_read(client, REG_EXP_GAIN_CTRL, &val8); > >> + if (ret) > >> + break; > >> + val8 = ctrl->value ? val8 & ~BIT(1) : val8 | BIT(1); > >> + ret = reg_write(client, REG_EXP_GAIN_CTRL, val8); > >> + if (!ret) > >> + priv->agc = ctrl->value; > > > > What about caching the content of this register (and of other registers > > below) > > instead of reading it back ? If you can't do that, a reg_clr_set() function > > would make the code simpler. > > Ok I will do the caching. Wasn't the reason for reading those registers from the hardware, that the sensor changes them in auto* modes (autogain in this case)? Thanks Guennadi --- Guennadi Liakhovetski, Ph.D. Freelance Open-Source Software Developer http://www.open-technology.de/ -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html