alistair23-linux/drivers/staging/imx-drm
Fabio Estevam 099326d8cd staging: imx-drm: Fix probe failure
Since commit b5dc0d10 (drm/imx: kill firstopen callback) the following probe
failure is seen:

[drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[drm] No driver support for vblank timestamp query.
[drm] Initialized imx-drm 1.0.0 20120507 on minor 0
imx-ldb ldb.10: adding encoder failed with -16
imx-ldb: probe of ldb.10 failed with error -16
imx-ipuv3 2400000.ipu: IPUv3H probed
imx-ipuv3 2800000.ipu: IPUv3H probed
imx-ipuv3-crtc imx-ipuv3-crtc.0: adding crtc failed with -16.
imx-ipuv3-crtc: probe of imx-ipuv3-crtc.0 failed with error -16
imx-ipuv3-crtc imx-ipuv3-crtc.1: adding crtc failed with -16.
imx-ipuv3-crtc: probe of imx-ipuv3-crtc.1 failed with error -16
imx-ipuv3-crtc imx-ipuv3-crtc.2: adding crtc failed with -16.
imx-ipuv3-crtc: probe of imx-ipuv3-crtc.2 failed with error -16
imx-ipuv3-crtc imx-ipuv3-crtc.3: adding crtc failed with -16.
imx-ipuv3-crtc: probe of imx-ipuv3-crtc.3 failed with error -16

The reason for the probe failure is that now 'imxdrm->references' is incremented
early in imx_drm_driver_load(), so the following checks in imx_drm_add_crtc()
and imx_drm_add_encoder():

	if (imxdrm->references) {
		ret = -EBUSY;
		goto err_busy;
	}

,will always fail.

Instead of manually keeping the references in the imx-drm driver, let's use
drm->open_count.

After this patch, lvds panel is functional on a mx6qsabrelite board.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-09-25 16:53:40 -07:00
..
ipu-v3 staging: drm/imx: ipu-dc: signedness bug in ipu_dc_init_sync() 2013-08-21 10:07:18 -07:00
imx-drm-core.c staging: imx-drm: Fix probe failure 2013-09-25 16:53:40 -07:00
imx-drm.h
imx-fb.c
imx-fbdev.c
imx-ldb.c imx-drm: imx-ldb: Add MODULE_ALIAS() 2013-08-19 15:38:03 -07:00
imx-tve.c Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2013-09-05 09:31:03 -07:00
ipuv3-crtc.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2013-09-05 10:17:26 -07:00
Kconfig staging: imx-drm: add missing MFD_SYSCON dependency for LDB 2013-08-02 11:56:54 +08:00
Makefile staging: drm/imx: Add LDB support 2013-06-18 11:22:58 -07:00
parallel-display.c imx-drm: parallel-display: Add MODULE_ALIAS() 2013-08-19 15:38:03 -07:00
TODO imx-drm: TODO: Remove LVDS support from missing features list. 2013-07-25 13:35:21 -07:00