Patchwork ARM: OMAP: RX-51: change probe order of touchscreen and panel SPI devices

login
register
mail settings
Submitter Aaro Koskinen
Date May 1, 2013, 4:59 p.m.
Message ID <1367427597-30060-1-git-send-email-aaro.koskinen@iki.fi>
Download mbox | patch
Permalink /patch/240790/
State New
Headers show

Comments

Aaro Koskinen - May 1, 2013, 4:59 p.m.
Commit 9fdca9df (spi: omap2-mcspi: convert to module_platform_driver)
broke the SPI display/panel driver probe on RX-51/N900. The exact cause is
not fully understood, but it seems to be related to the probe order. SPI
communication to the panel driver (spi1.2) fails unless the touchscreen
(spi1.0) has been probed/initialized before. When the omap2-mcspi driver
was converted to a platform driver, it resulted in that the devices are
probed immediately after the board registers them in the order they are
listed in the board file.

Fix the issue by moving the touchscreen before the panel in the SPI
device list.

The patch fixes the following failure:

[    1.260955] acx565akm spi1.2: invalid display ID
[    1.265899] panel-acx565akm display0: acx_panel_probe panel detect error
[    1.273071] omapdss CORE error: driver probe failed: -19

Tested-by: Sebastian Reichel <sre@debian.org>
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Cc: Pali Rohár <pali.rohar@gmail.com>
Cc: Joni Lapilainen <joni.lapilainen@gmail.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Felipe Balbi <balbi@ti.com>
Cc: stable@vger.kernel.org
---
 arch/arm/mach-omap2/board-rx51-peripherals.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
Tony Lindgren - May 8, 2013, 10:23 p.m.
* Aaro Koskinen <aaro.koskinen@iki.fi> [130501 10:06]:
> Commit 9fdca9df (spi: omap2-mcspi: convert to module_platform_driver)
> broke the SPI display/panel driver probe on RX-51/N900. The exact cause is
> not fully understood, but it seems to be related to the probe order. SPI
> communication to the panel driver (spi1.2) fails unless the touchscreen
> (spi1.0) has been probed/initialized before. When the omap2-mcspi driver
> was converted to a platform driver, it resulted in that the devices are
> probed immediately after the board registers them in the order they are
> listed in the board file.
> 
> Fix the issue by moving the touchscreen before the panel in the SPI
> device list.
> 
> The patch fixes the following failure:
> 
> [    1.260955] acx565akm spi1.2: invalid display ID
> [    1.265899] panel-acx565akm display0: acx_panel_probe panel detect error
> [    1.273071] omapdss CORE error: driver probe failed: -19

Thanks for updating the description, applying into omap-for-v3.10/fixes.

Regards,

Tony

Patch

diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c
index 1a88467..18ca61e 100644
--- a/arch/arm/mach-omap2/board-rx51-peripherals.c
+++ b/arch/arm/mach-omap2/board-rx51-peripherals.c
@@ -73,11 +73,11 @@ 
 #define LIS302_IRQ1_GPIO 181
 #define LIS302_IRQ2_GPIO 180  /* Not yet in use */
 
-/* list all spi devices here */
+/* List all SPI devices here. Note that the list/probe order seems to matter! */
 enum {
 	RX51_SPI_WL1251,
-	RX51_SPI_MIPID,		/* LCD panel */
 	RX51_SPI_TSC2005,	/* Touch Controller */
+	RX51_SPI_MIPID,		/* LCD panel */
 };
 
 static struct wl12xx_platform_data wl1251_pdata;