Re: [RFC PATCH] [media]: of: move graph helpers from drivers/media/v4l2-core to drivers/of
From: Philipp Zabel <p.zabel@pengutronix.de>
Date: 2014-02-18 13:42:09
Also in:
linux-media, lkml
Hi Grant, Am Montag, den 17.02.2014, 18:14 +0000 schrieb Grant Likely:
On Tue, 11 Feb 2014 07:56:33 -0600, Rob Herring [off-list ref] wrote:quoted
On Tue, Feb 11, 2014 at 5:45 AM, Philipp Zabel [off-list ref] wrote:quoted
From: Philipp Zabel <redacted> This patch moves the parsing helpers used to parse connected graphs in the device tree, like the video interface bindings documented in Documentation/devicetree/bindings/media/video-interfaces.txt, from drivers/media/v4l2-core to drivers/of.This is the opposite direction things have been moving...quoted
This allows to reuse the same parser code from outside the V4L2 framework, most importantly from display drivers. There have been patches that duplicate the code (and I am going to send one of my own), such as http://lists.freedesktop.org/archives/dri-devel/2013-August/043308.html and others that parse the same binding in a different way: https://www.mail-archive.com/linux-omap@vger.kernel.org/msg100761.html I think that all common video interface parsing helpers should be moved to a single place, outside of the specific subsystems, so that it can be reused by all drivers.Perhaps that should be done rather than moving to drivers/of now and then again to somewhere else.This is just parsing helpers though, isn't it? I have no problem pulling helper functions into drivers/of if they are usable by multiple subsystems. I don't really understand the model being used though. I would appreciate a description of the usage model for these functions for poor folks like me who can't keep track of what is going on in subsystems.
I have taken the liberty to put you on Cc: for the i.MX drm series that I'd like to use these helpers in. The patch in question is "[RFC PATCH v3 3/9] staging: imx-drm-core: Use OF graph to find components and connections between encoder and crtcs" (http://www.spinics.net/lists/arm-kernel/msg308542.html). It currently uses local copies (s/of_graph/imx_drm_of/) of the get_next_endpoint, get_remote_port, and get_remote_port_parent functions to obtain all necessary components for the componentized imx-drm device, and to map the connections between crtcs (display interface ports) and encoders. regards Philipp