On Mon, Dec 11, 2017 at 10:58:29PM +0000, Russell King - ARM Linux wrote:
On Mon, Dec 11, 2017 at 11:54:48PM +0100, Javier Martinez Canillas wrote:
So I gave a quick look to this, and at the very least there's a bug in the Exynos5800 Peach Pi DTS caused by commit 1cb686c08d12 ("ARM: dts: exynos: Add status property to Exynos 542x Mixer nodes").
I've posted a fix for that:
https://patchwork.kernel.org/patch/10105921/
I believe this could be also be the cause for the boot failure, since I see in the boot log that things start to go wrong after exynos-drm fails to bind the HDMI component:
[ 2.916347] exynos-drm exynos-drm: failed to bind 14530000.hdmi (ops 0xc1398690): -1
Umm, -1 ? Looking that error code up in include/uapi/asm-generic/errno-base.h says it's -EPERM.
I suspect that's someone just returning -1 because they're lazy... which is real bad form and needs fixing.
Oh, it really is -EPERM:
struct exynos_drm_crtc *exynos_drm_crtc_get_by_type(struct drm_device *drm_dev, enum exynos_drm_output_type out_type) { struct drm_crtc *crtc;
drm_for_each_crtc(crtc, drm_dev) if (to_exynos_crtc(crtc)->type == out_type) return to_exynos_crtc(crtc);
return ERR_PTR(-EPERM); }
Does "Operation not permitted" really convey the error here? It doesn't look like a permission error to me.
Can we please avoid abusing errno codes?