On Tue, Jul 11, 2017 at 08:30:33AM +0200, Hans Verkuil wrote:
From: Hans Verkuil hans.verkuil@cisco.com
This patch series adds CEC support for the sun4i HDMI controller.
The CEC hardware support for the A10 is very low-level as it just controls the CEC pin. Since I also wanted to support GPIO-based CEC hardware most of this patch series is in the CEC framework to add a generic low-level CEC pin framework. It is only the final patch that adds the sun4i support.
This patch series first makes some small changes in the CEC framework (patches 1-4) to prepare for this CEC pin support.
Patch 5-7 adds the new API elements and documents it. Patch 6 reworks the CEC core event handling.
Patch 8 adds pin monitoring support (allows userspace to see all CEC pin transitions as they happen).
Patch 9 adds the core cec-pin implementation that translates low-level pin transitions into valid CEC messages. Basically this does what any SoC with a proper CEC hardware implementation does.
Patch 10 documents the cec-pin kAPI (and also the cec-notifier kAPI which was missing).
Finally patch 11 adds the actual sun4i_hdmi CEC implementation.
I tested this on my cubieboard. There were no errors at all after 126264 calls of 'cec-ctl --give-device-vendor-id' while at the same time running a 'make -j4' of the v4l-utils git repository and doing a continuous scp to create network traffic.
This patch series is based on top of the mainline kernel as of yesterday (so with all the sun4i and cec patches for 4.13 merged).
For the whole serie: Reviewed-by: Maxime Ripard maxime.ripard@free-electrons.com
Maxime, patches 1-10 will go through the media subsystem. How do you want to handle the final patch? It can either go through the media subsystem as well, or you can sit on it and handle this yourself during the 4.14 merge window. Another option is to separate the Kconfig change into its own patch. That way you can merge the code changes and only have to handle the Kconfig patch as a final change during the merge window.
We'll probably have a number of reworks for 4.14, so it would be better if I merged it.
However, I guess if we just switch to a depends on CEC_PIN instead of a select, everything would just work even if we merge your patches in a separate tree, right?
Thanks! Maxime