Re: bringing back media/zoran driver

Hans Verkuil
2019-09-23T08:05:16Z

On 9/21/19 7:03 PM, Corentin Labbe wrote:
> hello
>
> I am the owner of a zoran based DC10+ card.
> I am in the need of using it since yesterday and I found that its driver was removed.
>
> Reverting the removing patch made to a temporary working situation.
>
> If I understand correctly, it was removed due to lack of vb2 convertion.
> If I am able to do this vb2 conversion, does bring it back in mainline will be posssible ?
> In that case I am ready to assume to be the maintainer if needed.

It would be nice to get it back. The conversion to vb2 is the main requirement, but in
general this driver needed some TLC in general: it's a very old driver and the coding
standards were quite a bit lower than they are today.

But the vb2 conversion is the most important part.

It's unfortunately not the easiest thing to do (if it was, we'd have done it already!),
and it is also a 'big bang' patch, i.e. one very large patch that converts the driver
to vb2. It's all or nothing, you can't have half a vb2 conversion, so that makes it hard
to review.

The easiest way is to use the v4l2-compliance utility to verify the conversion. Running
'v4l2-compliance -s' is a good way of verifying this.

My recommended approach is to:

1) first revert the removal patch (commit 8dce4b265a53)
2) clean up the coding style. Probably easiest to create one patch per source.
Use 'checkpatch.pl --strict -f ' for this. Doing this should make the
source code easier to understand/review.
3) Run v4l2-compliance (without the -s option) and fix any failures it finds.
4) Convert to vb2, using 'v4l2-compliance -s' to test.

Be aware that the code is messy compared to modern standards. Do not be afraid
to create cleanup patches, it's probably needed.

The v4l2-compliance utility is part of https://git.linuxtv.org/v4l-utils.git/.
See the README on how to build. Always use the v4l2-compliance version from this
git repo since that's always the latest and greatest.

I recommend that you join the #v4l irc channel on freenode.org. Most core devs that
can help with advice are there during office hours (and often outside of office hours
as well). That's for the European timezones since most devs are based in Europe.

Regards,

Hans