Re: [PATCH v4] media: i2c: add support for omnivision's ov2659 sensor

From: Laurent Pinchart
Date: Wed Mar 11 2015 - 16:14:57 EST


Hi Prabhakar,

On Wednesday 11 March 2015 19:40:13 Lad, Prabhakar wrote:
> On Wed, Mar 11, 2015 at 6:22 PM, Laurent Pinchart wrote:
> > On Tuesday 10 March 2015 03:35:57 Sakari Ailus wrote:
> >> On Sun, Mar 08, 2015 at 11:33:27AM +0000, Lad Prabhakar wrote:
> >> ...
> >>
> >> > +static struct ov2659_platform_data *
> >> > +ov2659_get_pdata(struct i2c_client *client)
> >> > +{
> >> > + struct ov2659_platform_data *pdata;
> >> > + struct device_node *endpoint;
> >> > + int ret;
> >> > +
> >> > + if (!IS_ENABLED(CONFIG_OF) || !client->dev.of_node) {
> >> > + dev_err(&client->dev, "ov2659_get_pdata: DT Node found\n");
> >> > + return client->dev.platform_data;
> >> > + }
> >> > +
> >> > + endpoint = of_graph_get_next_endpoint(client->dev.of_node, NULL);
> >> > + if (!endpoint)
> >> > + return NULL;
> >> > +
> >> > + pdata = devm_kzalloc(&client->dev, sizeof(*pdata), GFP_KERNEL);
> >> > + if (!pdata)
> >> > + goto done;
> >> > +
> >> > + ret = of_property_read_u32(endpoint, "link-frequencies",
> >> > + &pdata->link_frequency);
> >>
> >> This is actually documented as being a 64-bit array.
> >
> > The main purpose of link-frequencies is to restrict the link frequencies
> > acceptable in the system due to EMI requirements. One link frequency
> > should be selected in the array based on the desired format and frame
> > rate. This is usually done by exposing the frequency to userspace through
> > a writable V4L2_CID_LINK_FREQ control, and exposing the resulting pixel
> > rate as a read- only V4L2_CID_PIXEL_RATE control.
> >
> > V4L2_CID_PIXEL_RATE is mandatory to use the sensor with several drivers
> > (including omap3isp and omap4iss), so it should really be implemented.
>
> Even if the sensor supports only one frequency the control needs to be
> implemented ?

The V4L2_CID_PIXEL_RATE must be implemented even for sensors supporting a
single pixel rate, yes. The reason is that the receiver needs to know the
sensor pixel rate in order to configure its clocking.

--
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/