[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20161221224216.GA4681@amd>
Date: Wed, 21 Dec 2016 23:42:16 +0100
From: Pavel Machek <pavel@....cz>
To: Sakari Ailus <sakari.ailus@....fi>
Cc: ivo.g.dimitrov.75@...il.com, sre@...nel.org, pali.rohar@...il.com,
linux-media@...r.kernel.org, galak@...eaurora.org,
mchehab@....samsung.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v5] media: Driver for Toshiba et8ek8 5MP sensor
Hi!
> Thanks for the update.
>
> On Wed, Dec 14, 2016 at 01:24:51PM +0100, Pavel Machek wrote:
> ...
> > +static int et8ek8_set_ctrl(struct v4l2_ctrl *ctrl)
> > +{
> > + struct et8ek8_sensor *sensor =
> > + container_of(ctrl->handler, struct et8ek8_sensor, ctrl_handler);
> > +
> > + switch (ctrl->id) {
> > + case V4L2_CID_GAIN:
> > + return et8ek8_set_gain(sensor, ctrl->val);
> > +
> > + case V4L2_CID_EXPOSURE:
> > + {
> > + int rows;
> > + struct i2c_client *client = v4l2_get_subdevdata(&sensor->subdev);
> > + rows = ctrl->val;
> > + return et8ek8_i2c_write_reg(client, ET8EK8_REG_16BIT, 0x1243,
> > + swab16(rows));
>
> Why swab16()? Doesn't the et8ek8_i2c_write_reg() already do the right thing?
>
> 16-bit writes aren't used elsewhere... and the register address and value
> seem to have different endianness there, it looks like a bug to me in that
> function.
I'm pretty sure I did not invent that swab16(). I checked, and
exposure seems to work properly. I tried swapping the bytes, but then
exposure did not seem to work. So this one seems to be correct.
Best regards,
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Download attachment "signature.asc" of type "application/pgp-signature" (182 bytes)
Powered by blists - more mailing lists