On Mon, Aug 10, 2009 at 11:37:23, Hans Verkuil wrote:
> Hi Chaithrika,
>
> This code in vpif_display.c is not correct:
>
> for (i = 0; i < subdev_count; i++) {
> vpif_obj.sd[i] =
> v4l2_i2c_new_probed_subdev(&vpif_obj.v4l2_dev,
> i2c_adap, subdevdata[i].name,
> subdevdata[i].name,
> &subdevdata[i].addr);
> if (!vpif_obj.sd[i]) {
> vpif_err("Error registering v4l2 subdevice\n");
> goto probe_subdev_out;
> }
>
> if (vpif_obj.sd[i])
> vpif_obj.sd[i]->grp_id = 1 << i;
> }
>
> This: '&subdevdata[i].addr' should be: I2C_ADDRS(subdevdata[i].addr).
>
> The list of probe addresses must be terminated by I2C_CLIENT_END (= -1) and
> that isn't the case here.
>
> An alternative solution is to use v4l2_i2c_new_subdev, but then no probing
> will take place. But I think that you don't want probing at all since this
> address information comes from the platform data, so one can assume that
> that data is correct.
>
> Even better is to copy the implementation from vpfe_capture.c and to use
> v4l2_i2c_new_subdev_board().
>
Hans,
Thank you for the suggestions.
I will look into this and submit a patch to correct this bug.
Regards,
Chaithrika
> Regards,
>
> Hans
>
> --
> Hans Verkuil - video4linux developer - sponsored by TANDBERG Telecom
>
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html