
On 19 April 2016 at 16:19, Stephen Warren swarren@wwwdotorg.org wrote:
From: Stephen Warren swarren@nvidia.com
This prevents the following boot-time message on any board where only the first DC is in use, yet the DC's DT node is enabled:
stdio_add_devices: Video device failed (ret=-22)
(This happens on at least Harmony, Ventana, and likely any other Tegra20 board with display enabled other than Seaboard).
The Tegra DC's DT node represents a display controller. It may itself drive an integrated RGB display output, or be used by some other display controller such as HDMI. For this reason the DC node itself is not enabled/disabled in DT; the DC itself is considered a shared resource, not the final (board-specific) display output. The node should instantiate a display output driver only if the rgb subnode is enabled. Other output drivers are free to use the DC if they are enabled and their DT node references the DC's DT node. Adapt the Tegra display drivers' bind() routine to only bind to the DC's DT node if the RGB subnode is enabled.
Now that the display driver does the right thing, remove the workaround for this issue from Seaboard's DT file.
Cc: Thierry Reding treding@nvidia.com Signed-off-by: Stephen Warren swarren@nvidia.com
Thierry, I assume this is how the DC nodes are intended to be interpreted? It's certainly how the kernel's DT files and driver work, even if by accident.
arch/arm/dts/tegra20-seaboard.dts | 4 ---- drivers/video/tegra.c | 7 +++++++ 2 files changed, 7 insertions(+), 4 deletions(-)
Well it seems reasonable to me.
Reviewed-by: Simon Glass sjg@chromium.org