linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] OMAP: board-files: fix i2c_bus for tfp410
@ 2012-11-16 12:22 Tomi Valkeinen
  2012-11-16 13:51 ` Felipe Balbi
  2012-11-22  8:39 ` [PATCHv2] OMAP: board-files: fix i2c_bus for tfp410 Tomi Valkeinen
  0 siblings, 2 replies; 18+ messages in thread
From: Tomi Valkeinen @ 2012-11-16 12:22 UTC (permalink / raw)
  To: linux-omap, Tony Lindgren; +Cc: Tomi Valkeinen, stable

The i2c handling in tfp410 driver, which handles converting parallel RGB
to DVI, was changed in 958f2717b84e88bf833d996997fda8f73276f2af. The
patch changed what value the driver considers as invalid/undefined.
Before the patch 0 was the invalid value, but as 0 is a valid bus
number, the patch changed this to -1.

However, the fact was missed that many board files do not define the bus
number at all, thus it's left to 0. This causes the driver to fail to
get the i2c bus, exiting from the driver's probe with an error, meaning
that the DVI output does not work for those boards.

This patch fixes the issue by changing the i2c_bus number field in the
driver's platform data from u16 to int, and setting the bus number to -1
in the board files for the boards that did not define the bus. The
exception is devkit8000, for which the bus is set to 1, which is the
correct bus for that board.

The bug exists in v3.5+ kernels.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reported-by: Thomas Weber <thomas@tomweber.eu>
[for v3.5, v3.6 stable kernels]
Cc: stable@vger.kernel.org
---
 arch/arm/mach-omap2/board-3430sdp.c      |    1 +
 arch/arm/mach-omap2/board-am3517evm.c    |    1 +
 arch/arm/mach-omap2/board-cm-t35.c       |    1 +
 arch/arm/mach-omap2/board-devkit8000.c   |    1 +
 arch/arm/mach-omap2/board-omap3evm.c     |    1 +
 arch/arm/mach-omap2/board-omap3stalker.c |    1 +
 include/video/omap-panel-tfp410.h        |    2 +-
 7 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
index 96cd369..09e1790 100644
--- a/arch/arm/mach-omap2/board-3430sdp.c
+++ b/arch/arm/mach-omap2/board-3430sdp.c
@@ -157,6 +157,7 @@ static struct omap_dss_device sdp3430_lcd_device = {
 
 static struct tfp410_platform_data dvi_panel = {
 	.power_down_gpio	= -1,
+	.i2c_bus_num		= -1,
 };
 
 static struct omap_dss_device sdp3430_dvi_device = {
diff --git a/arch/arm/mach-omap2/board-am3517evm.c b/arch/arm/mach-omap2/board-am3517evm.c
index e162897..f2a920a 100644
--- a/arch/arm/mach-omap2/board-am3517evm.c
+++ b/arch/arm/mach-omap2/board-am3517evm.c
@@ -208,6 +208,7 @@ static struct omap_dss_device am3517_evm_tv_device = {
 
 static struct tfp410_platform_data dvi_panel = {
 	.power_down_gpio	= -1,
+	.i2c_bus_num		= -1,
 };
 
 static struct omap_dss_device am3517_evm_dvi_device = {
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
index 376d26e..7ed0270 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -243,6 +243,7 @@ static struct omap_dss_device cm_t35_lcd_device = {
 
 static struct tfp410_platform_data dvi_panel = {
 	.power_down_gpio	= CM_T35_DVI_EN_GPIO,
+	.i2c_bus_num		= -1,
 };
 
 static struct omap_dss_device cm_t35_dvi_device = {
diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c
index 1fd161e..6f04f0f 100644
--- a/arch/arm/mach-omap2/board-devkit8000.c
+++ b/arch/arm/mach-omap2/board-devkit8000.c
@@ -139,6 +139,7 @@ static struct omap_dss_device devkit8000_lcd_device = {
 
 static struct tfp410_platform_data dvi_panel = {
 	.power_down_gpio	= -1,
+	.i2c_bus_num		= 1,
 };
 
 static struct omap_dss_device devkit8000_dvi_device = {
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
index b9b776b..5631eb9 100644
--- a/arch/arm/mach-omap2/board-omap3evm.c
+++ b/arch/arm/mach-omap2/board-omap3evm.c
@@ -236,6 +236,7 @@ static struct omap_dss_device omap3_evm_tv_device = {
 
 static struct tfp410_platform_data dvi_panel = {
 	.power_down_gpio	= OMAP3EVM_DVI_PANEL_EN_GPIO,
+	.i2c_bus_num		= -1,
 };
 
 static struct omap_dss_device omap3_evm_dvi_device = {
diff --git a/arch/arm/mach-omap2/board-omap3stalker.c b/arch/arm/mach-omap2/board-omap3stalker.c
index 731235e..797be22 100644
--- a/arch/arm/mach-omap2/board-omap3stalker.c
+++ b/arch/arm/mach-omap2/board-omap3stalker.c
@@ -119,6 +119,7 @@ static struct omap_dss_device omap3_stalker_tv_device = {
 
 static struct tfp410_platform_data dvi_panel = {
 	.power_down_gpio	= DSS_ENABLE_GPIO,
+	.i2c_bus_num		= -1,
 };
 
 static struct omap_dss_device omap3_stalker_dvi_device = {
diff --git a/include/video/omap-panel-tfp410.h b/include/video/omap-panel-tfp410.h
index 68c31d7..aef35e4 100644
--- a/include/video/omap-panel-tfp410.h
+++ b/include/video/omap-panel-tfp410.h
@@ -28,7 +28,7 @@ struct omap_dss_device;
  * @power_down_gpio: gpio number for PD pin (or -1 if not available)
  */
 struct tfp410_platform_data {
-	u16 i2c_bus_num;
+	int i2c_bus_num;
 	int power_down_gpio;
 };
 
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2012-12-14 17:23 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-16 12:22 [PATCH] OMAP: board-files: fix i2c_bus for tfp410 Tomi Valkeinen
2012-11-16 13:51 ` Felipe Balbi
     [not found]   ` <20121116135155.GE18527-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-11-16 14:27     ` Tomi Valkeinen
2012-11-16 15:19       ` Felipe Balbi
2012-11-16 15:39         ` Tomi Valkeinen
     [not found]           ` <50A65E40.9040208-l0cyMroinI0@public.gmane.org>
2012-11-16 18:21             ` tfp410 and i2c_bus_num (was: Re: [PATCH] OMAP: board-files: fix i2c_bus for tfp410) Felipe Balbi
     [not found]               ` <20121116182146.GC20496-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-11-17  5:41                 ` tfp410 and i2c_bus_num Tomi Valkeinen
     [not found]                   ` <50A72390.3050509-l0cyMroinI0@public.gmane.org>
2012-11-18 11:34                     ` Felipe Balbi
     [not found]                       ` <20121118113437.GB30462-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-11-19  6:38                         ` Tomi Valkeinen
     [not found]                           ` <50A9D3DD.6040807-l0cyMroinI0@public.gmane.org>
2012-11-19  9:27                             ` Felipe Balbi
     [not found]                               ` <20121119092744.GB4211-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-11-19 11:09                                 ` Tomi Valkeinen
     [not found]                                   ` <50AA1376.6060801-l0cyMroinI0@public.gmane.org>
2012-11-19 12:16                                     ` Felipe Balbi
     [not found]                                       ` <20121119121630.GC15540-S8G//mZuvNWo5Im9Ml3/Zg@public.gmane.org>
2012-11-21 17:57                                         ` Tony Lindgren
2012-11-22  8:28                                           ` Tomi Valkeinen
2012-11-22  8:39 ` [PATCHv2] OMAP: board-files: fix i2c_bus for tfp410 Tomi Valkeinen
2012-11-27 10:02   ` Thomas Weber
2012-11-30  9:30   ` Tomi Valkeinen
2012-12-14 17:23     ` Tony Lindgren

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).