All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] OMAP: DSS2: introduce generic panel display driver
@ 2010-11-02 20:39 ` Bryan Wu
  0 siblings, 0 replies; 18+ messages in thread
From: Bryan Wu @ 2010-11-02 20:39 UTC (permalink / raw)
  To: tomi.valkeinen, linux-omap, linux-arm-kernel, gadiyar, notasas

There are 4 duplicated panel drivers in DSS2 display driver. They are similar
and generic panel driver can support all them with specific panel configuration.
And new panel driver can be easily supported by adding panel configurations
into generic panel driver.

This patchset introduces generic panel driver, remove 3 panel drivers and enable
generic panel driver in board files. And it is based on 2.6.37-rc1.

Building with omap2plus_defconfig is successful.

Keep sharp_ls_panel, since it contains blacklight control code which will be
moved out later.

Bryan Wu (3):
  OMAP: DSS2: Add generic panel display driver
  OMAP: DSS2: remove generic panel driver duplicated panel drivers
  OMAP: use generic panel driver in board files

 arch/arm/mach-omap2/board-3430sdp.c                |    1 +
 arch/arm/mach-omap2/board-am3517evm.c              |    4 +-
 arch/arm/mach-omap2/board-cm-t35.c                 |    4 +-
 arch/arm/mach-omap2/board-devkit8000.c             |    2 +
 arch/arm/mach-omap2/board-igep0020.c               |    1 +
 arch/arm/mach-omap2/board-omap3beagle.c            |    1 +
 arch/arm/mach-omap2/board-omap3evm.c               |    1 +
 arch/arm/mach-omap2/board-omap3stalker.c           |    2 +
 arch/arm/plat-omap/include/plat/display.h          |   28 +++-
 drivers/video/omap2/displays/Kconfig               |   16 +--
 drivers/video/omap2/displays/Makefile              |    2 -
 drivers/video/omap2/displays/panel-generic.c       |  153 ++++++++++++++++--
 .../video/omap2/displays/panel-sharp-lq043t1dg01.c |  165 --------------------
 .../video/omap2/displays/panel-toppoly-tdo35s.c    |  164 -------------------
 14 files changed, 175 insertions(+), 369 deletions(-)
 delete mode 100644 drivers/video/omap2/displays/panel-sharp-lq043t1dg01.c
 delete mode 100644 drivers/video/omap2/displays/panel-toppoly-tdo35s.c


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

* [PATCH 0/3] OMAP: DSS2: introduce generic panel display driver
@ 2010-11-02 20:39 ` Bryan Wu
  0 siblings, 0 replies; 18+ messages in thread
From: Bryan Wu @ 2010-11-02 20:39 UTC (permalink / raw)
  To: linux-arm-kernel

There are 4 duplicated panel drivers in DSS2 display driver. They are similar
and generic panel driver can support all them with specific panel configuration.
And new panel driver can be easily supported by adding panel configurations
into generic panel driver.

This patchset introduces generic panel driver, remove 3 panel drivers and enable
generic panel driver in board files. And it is based on 2.6.37-rc1.

Building with omap2plus_defconfig is successful.

Keep sharp_ls_panel, since it contains blacklight control code which will be
moved out later.

Bryan Wu (3):
  OMAP: DSS2: Add generic panel display driver
  OMAP: DSS2: remove generic panel driver duplicated panel drivers
  OMAP: use generic panel driver in board files

 arch/arm/mach-omap2/board-3430sdp.c                |    1 +
 arch/arm/mach-omap2/board-am3517evm.c              |    4 +-
 arch/arm/mach-omap2/board-cm-t35.c                 |    4 +-
 arch/arm/mach-omap2/board-devkit8000.c             |    2 +
 arch/arm/mach-omap2/board-igep0020.c               |    1 +
 arch/arm/mach-omap2/board-omap3beagle.c            |    1 +
 arch/arm/mach-omap2/board-omap3evm.c               |    1 +
 arch/arm/mach-omap2/board-omap3stalker.c           |    2 +
 arch/arm/plat-omap/include/plat/display.h          |   28 +++-
 drivers/video/omap2/displays/Kconfig               |   16 +--
 drivers/video/omap2/displays/Makefile              |    2 -
 drivers/video/omap2/displays/panel-generic.c       |  153 ++++++++++++++++--
 .../video/omap2/displays/panel-sharp-lq043t1dg01.c |  165 --------------------
 .../video/omap2/displays/panel-toppoly-tdo35s.c    |  164 -------------------
 14 files changed, 175 insertions(+), 369 deletions(-)
 delete mode 100644 drivers/video/omap2/displays/panel-sharp-lq043t1dg01.c
 delete mode 100644 drivers/video/omap2/displays/panel-toppoly-tdo35s.c

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

* [PATCH 1/3] OMAP: DSS2: Add generic panel display driver
  2010-11-02 20:39 ` Bryan Wu
@ 2010-11-02 20:39   ` Bryan Wu
  -1 siblings, 0 replies; 18+ messages in thread
From: Bryan Wu @ 2010-11-02 20:39 UTC (permalink / raw)
  To: tomi.valkeinen, linux-omap, linux-arm-kernel, gadiyar, notasas

Generic panel driver includes the driver and 4 similar panel configurations. It
will match the panel name which is passed from platform data and setup the
right configurations.

With generic panel driver, we can remove those 4 duplicated panel display
drivers. In the future, it is simple for us just add new panel configuration
date in panel-generic.c to support new display panel.

Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
---
 drivers/video/omap2/displays/Kconfig         |    4 +-
 drivers/video/omap2/displays/panel-generic.c |  153 +++++++++++++++++++++++---
 2 files changed, 142 insertions(+), 15 deletions(-)

diff --git a/drivers/video/omap2/displays/Kconfig b/drivers/video/omap2/displays/Kconfig
index 12327bb..1a455d7 100644
--- a/drivers/video/omap2/displays/Kconfig
+++ b/drivers/video/omap2/displays/Kconfig
@@ -5,7 +5,9 @@ config PANEL_GENERIC
         tristate "Generic Panel"
         help
 	  Generic panel driver.
-	  Used for DVI output for Beagle and OMAP3 SDP.
+	  Supports DVI output for Beagle and OMAP3 SDP.
+	  Supports LCD Panel used in TI SDP3430 and EVM boards,
+	  OMAP3517 EVM boards and CM-T35.
 
 config PANEL_SHARP_LS037V7DW01
         tristate "Sharp LS037V7DW01 LCD Panel"
diff --git a/drivers/video/omap2/displays/panel-generic.c b/drivers/video/omap2/displays/panel-generic.c
index 395a68d..88e5bdf 100644
--- a/drivers/video/omap2/displays/panel-generic.c
+++ b/drivers/video/omap2/displays/panel-generic.c
@@ -1,5 +1,8 @@
 /*
- * Generic panel support
+ * Generic Panels support
+ *
+ * Copyright (C) 2010 Canonical Ltd.
+ * Author: Bryan Wu <bryan.wu@canonical.com>
  *
  * Copyright (C) 2008 Nokia Corporation
  * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
@@ -22,22 +25,113 @@
 
 #include <plat/display.h>
 
-static struct omap_video_timings generic_panel_timings = {
-	/* 640 x 480 @ 60 Hz  Reduced blanking VESA CVT 0.31M3-R */
-	.x_res		= 640,
-	.y_res		= 480,
-	.pixel_clock	= 23500,
-	.hfp		= 48,
-	.hsw		= 32,
-	.hbp		= 80,
-	.vfp		= 3,
-	.vsw		= 4,
-	.vbp		= 7,
+/* Panel configurations */
+static struct omap_display_panel generic_panels[] = {
+	/* Generic Panel for DVI */
+	{
+		{
+			.x_res		= 640,
+			.y_res		= 480,
+
+			.pixel_clock	= 23500,
+
+			.hfp		= 48,
+			.hsw		= 32,
+			.hbp		= 80,
+
+			.vfp		= 3,
+			.vsw		= 4,
+			.vbp		= 7,
+		},
+		.acbi			= 0x0,
+		.acb			= 0x0,
+		.config			= OMAP_DSS_LCD_TFT,
+		.power_on_delay		= 0,
+		.power_off_delay	= 0,
+		.name			= "dvi",
+	},
+
+	/* Sharp LQ043T1DG01 */
+	{
+		{
+			.x_res		= 480,
+			.y_res		= 272,
+
+			.pixel_clock	= 9000,
+
+			.hsw		= 42,
+			.hfp		= 3,
+			.hbp		= 2,
+
+			.vsw		= 11,
+			.vfp		= 3,
+			.vbp		= 2,
+		},
+		.acbi			= 0x0,
+		.acb			= 0x0,
+		.config			= OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
+					OMAP_DSS_LCD_IHS | OMAP_DSS_LCD_IEO,
+		.power_on_delay		= 50,
+		.power_off_delay	= 100,
+		.name			= "sharp_lq",
+	},
+
+	/* Sharp LS037V7DW01 */
+	{
+		{
+			.x_res		= 480,
+			.y_res		= 640,
+
+			.pixel_clock	= 19200,
+
+			.hsw		= 2,
+			.hfp		= 1,
+			.hbp		= 28,
+
+			.vsw		= 1,
+			.vfp		= 1,
+			.vbp		= 1,
+		},
+		.acbi			= 0x0,
+		.acb			= 0x28,
+		.config			= OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
+						OMAP_DSS_LCD_IHS,
+		.power_on_delay		= 50,
+		.power_off_delay	= 100,
+		.name			= "sharp_ls",
+	},
+
+	/* Toppoly TDO35S */
+	{
+		{
+			.x_res		= 480,
+			.y_res		= 640,
+
+			.pixel_clock	= 26000,
+
+			.hfp		= 104,
+			.hsw		= 8,
+			.hbp		= 8,
+
+			.vfp		= 4,
+			.vsw		= 2,
+			.vbp		= 2,
+		},
+		.acbi			= 0x0,
+		.acb			= 0x0,
+		.config			= OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
+					OMAP_DSS_LCD_IHS | OMAP_DSS_LCD_IPC |
+					OMAP_DSS_LCD_ONOFF,
+		.power_on_delay		= 0,
+		.power_off_delay	= 0,
+		.name			= "toppoly_tdo35s",
+	},
 };
 
 static int generic_panel_power_on(struct omap_dss_device *dssdev)
 {
 	int r;
+	struct omap_display_panel *p = &dssdev->panel;
 
 	if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE)
 		return 0;
@@ -46,6 +140,10 @@ static int generic_panel_power_on(struct omap_dss_device *dssdev)
 	if (r)
 		goto err0;
 
+	/* wait couple of vsyncs until enabling the LCD */
+	if (p->power_on_delay)
+		msleep(p->power_on_delay);
+
 	if (dssdev->platform_enable) {
 		r = dssdev->platform_enable(dssdev);
 		if (r)
@@ -61,19 +159,44 @@ err0:
 
 static void generic_panel_power_off(struct omap_dss_device *dssdev)
 {
+	struct omap_display_panel *p = &dssdev->panel;
+
 	if (dssdev->state != OMAP_DSS_DISPLAY_ACTIVE)
 		return;
 
 	if (dssdev->platform_disable)
 		dssdev->platform_disable(dssdev);
 
+	/* wait couple of vsyncs after disabling the LCD */
+	if (p->power_off_delay)
+		msleep(p->power_off_delay);
+
 	omapdss_dpi_display_disable(dssdev);
 }
 
 static int generic_panel_probe(struct omap_dss_device *dssdev)
 {
-	dssdev->panel.config = OMAP_DSS_LCD_TFT;
-	dssdev->panel.timings = generic_panel_timings;
+	struct omap_display_panel *dp = &dssdev->panel;
+	struct omap_display_panel *pp = NULL;
+	int i;
+	int matched = 0;
+
+	if (dp->name == NULL)
+		return -ENODEV;
+
+	/* Match for the configuration of the panel */
+	for (i = 0; i < ARRAY_SIZE(generic_panels); i++) {
+		pp = &generic_panels[i];
+		if (strcmp(pp->name, dp->name) == 0) {
+			matched = 1;
+			break;
+		}
+	}
+
+	if (!matched)
+		return -ENODEV;
+
+	memcpy(dp, pp, sizeof(struct omap_display_panel));
 
 	return 0;
 }
@@ -105,7 +228,9 @@ static void generic_panel_disable(struct omap_dss_device *dssdev)
 static int generic_panel_suspend(struct omap_dss_device *dssdev)
 {
 	generic_panel_power_off(dssdev);
+
 	dssdev->state = OMAP_DSS_DISPLAY_SUSPENDED;
+
 	return 0;
 }
 
-- 
1.7.1


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

* [PATCH 1/3] OMAP: DSS2: Add generic panel display driver
@ 2010-11-02 20:39   ` Bryan Wu
  0 siblings, 0 replies; 18+ messages in thread
From: Bryan Wu @ 2010-11-02 20:39 UTC (permalink / raw)
  To: linux-arm-kernel

Generic panel driver includes the driver and 4 similar panel configurations. It
will match the panel name which is passed from platform data and setup the
right configurations.

With generic panel driver, we can remove those 4 duplicated panel display
drivers. In the future, it is simple for us just add new panel configuration
date in panel-generic.c to support new display panel.

Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
---
 drivers/video/omap2/displays/Kconfig         |    4 +-
 drivers/video/omap2/displays/panel-generic.c |  153 +++++++++++++++++++++++---
 2 files changed, 142 insertions(+), 15 deletions(-)

diff --git a/drivers/video/omap2/displays/Kconfig b/drivers/video/omap2/displays/Kconfig
index 12327bb..1a455d7 100644
--- a/drivers/video/omap2/displays/Kconfig
+++ b/drivers/video/omap2/displays/Kconfig
@@ -5,7 +5,9 @@ config PANEL_GENERIC
         tristate "Generic Panel"
         help
 	  Generic panel driver.
-	  Used for DVI output for Beagle and OMAP3 SDP.
+	  Supports DVI output for Beagle and OMAP3 SDP.
+	  Supports LCD Panel used in TI SDP3430 and EVM boards,
+	  OMAP3517 EVM boards and CM-T35.
 
 config PANEL_SHARP_LS037V7DW01
         tristate "Sharp LS037V7DW01 LCD Panel"
diff --git a/drivers/video/omap2/displays/panel-generic.c b/drivers/video/omap2/displays/panel-generic.c
index 395a68d..88e5bdf 100644
--- a/drivers/video/omap2/displays/panel-generic.c
+++ b/drivers/video/omap2/displays/panel-generic.c
@@ -1,5 +1,8 @@
 /*
- * Generic panel support
+ * Generic Panels support
+ *
+ * Copyright (C) 2010 Canonical Ltd.
+ * Author: Bryan Wu <bryan.wu@canonical.com>
  *
  * Copyright (C) 2008 Nokia Corporation
  * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
@@ -22,22 +25,113 @@
 
 #include <plat/display.h>
 
-static struct omap_video_timings generic_panel_timings = {
-	/* 640 x 480 @ 60 Hz  Reduced blanking VESA CVT 0.31M3-R */
-	.x_res		= 640,
-	.y_res		= 480,
-	.pixel_clock	= 23500,
-	.hfp		= 48,
-	.hsw		= 32,
-	.hbp		= 80,
-	.vfp		= 3,
-	.vsw		= 4,
-	.vbp		= 7,
+/* Panel configurations */
+static struct omap_display_panel generic_panels[] = {
+	/* Generic Panel for DVI */
+	{
+		{
+			.x_res		= 640,
+			.y_res		= 480,
+
+			.pixel_clock	= 23500,
+
+			.hfp		= 48,
+			.hsw		= 32,
+			.hbp		= 80,
+
+			.vfp		= 3,
+			.vsw		= 4,
+			.vbp		= 7,
+		},
+		.acbi			= 0x0,
+		.acb			= 0x0,
+		.config			= OMAP_DSS_LCD_TFT,
+		.power_on_delay		= 0,
+		.power_off_delay	= 0,
+		.name			= "dvi",
+	},
+
+	/* Sharp LQ043T1DG01 */
+	{
+		{
+			.x_res		= 480,
+			.y_res		= 272,
+
+			.pixel_clock	= 9000,
+
+			.hsw		= 42,
+			.hfp		= 3,
+			.hbp		= 2,
+
+			.vsw		= 11,
+			.vfp		= 3,
+			.vbp		= 2,
+		},
+		.acbi			= 0x0,
+		.acb			= 0x0,
+		.config			= OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
+					OMAP_DSS_LCD_IHS | OMAP_DSS_LCD_IEO,
+		.power_on_delay		= 50,
+		.power_off_delay	= 100,
+		.name			= "sharp_lq",
+	},
+
+	/* Sharp LS037V7DW01 */
+	{
+		{
+			.x_res		= 480,
+			.y_res		= 640,
+
+			.pixel_clock	= 19200,
+
+			.hsw		= 2,
+			.hfp		= 1,
+			.hbp		= 28,
+
+			.vsw		= 1,
+			.vfp		= 1,
+			.vbp		= 1,
+		},
+		.acbi			= 0x0,
+		.acb			= 0x28,
+		.config			= OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
+						OMAP_DSS_LCD_IHS,
+		.power_on_delay		= 50,
+		.power_off_delay	= 100,
+		.name			= "sharp_ls",
+	},
+
+	/* Toppoly TDO35S */
+	{
+		{
+			.x_res		= 480,
+			.y_res		= 640,
+
+			.pixel_clock	= 26000,
+
+			.hfp		= 104,
+			.hsw		= 8,
+			.hbp		= 8,
+
+			.vfp		= 4,
+			.vsw		= 2,
+			.vbp		= 2,
+		},
+		.acbi			= 0x0,
+		.acb			= 0x0,
+		.config			= OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
+					OMAP_DSS_LCD_IHS | OMAP_DSS_LCD_IPC |
+					OMAP_DSS_LCD_ONOFF,
+		.power_on_delay		= 0,
+		.power_off_delay	= 0,
+		.name			= "toppoly_tdo35s",
+	},
 };
 
 static int generic_panel_power_on(struct omap_dss_device *dssdev)
 {
 	int r;
+	struct omap_display_panel *p = &dssdev->panel;
 
 	if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE)
 		return 0;
@@ -46,6 +140,10 @@ static int generic_panel_power_on(struct omap_dss_device *dssdev)
 	if (r)
 		goto err0;
 
+	/* wait couple of vsyncs until enabling the LCD */
+	if (p->power_on_delay)
+		msleep(p->power_on_delay);
+
 	if (dssdev->platform_enable) {
 		r = dssdev->platform_enable(dssdev);
 		if (r)
@@ -61,19 +159,44 @@ err0:
 
 static void generic_panel_power_off(struct omap_dss_device *dssdev)
 {
+	struct omap_display_panel *p = &dssdev->panel;
+
 	if (dssdev->state != OMAP_DSS_DISPLAY_ACTIVE)
 		return;
 
 	if (dssdev->platform_disable)
 		dssdev->platform_disable(dssdev);
 
+	/* wait couple of vsyncs after disabling the LCD */
+	if (p->power_off_delay)
+		msleep(p->power_off_delay);
+
 	omapdss_dpi_display_disable(dssdev);
 }
 
 static int generic_panel_probe(struct omap_dss_device *dssdev)
 {
-	dssdev->panel.config = OMAP_DSS_LCD_TFT;
-	dssdev->panel.timings = generic_panel_timings;
+	struct omap_display_panel *dp = &dssdev->panel;
+	struct omap_display_panel *pp = NULL;
+	int i;
+	int matched = 0;
+
+	if (dp->name == NULL)
+		return -ENODEV;
+
+	/* Match for the configuration of the panel */
+	for (i = 0; i < ARRAY_SIZE(generic_panels); i++) {
+		pp = &generic_panels[i];
+		if (strcmp(pp->name, dp->name) == 0) {
+			matched = 1;
+			break;
+		}
+	}
+
+	if (!matched)
+		return -ENODEV;
+
+	memcpy(dp, pp, sizeof(struct omap_display_panel));
 
 	return 0;
 }
@@ -105,7 +228,9 @@ static void generic_panel_disable(struct omap_dss_device *dssdev)
 static int generic_panel_suspend(struct omap_dss_device *dssdev)
 {
 	generic_panel_power_off(dssdev);
+
 	dssdev->state = OMAP_DSS_DISPLAY_SUSPENDED;
+
 	return 0;
 }
 
-- 
1.7.1

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

* [PATCH 2/3] OMAP: DSS2: remove generic panel driver duplicated panel drivers
  2010-11-02 20:39 ` Bryan Wu
@ 2010-11-02 20:39   ` Bryan Wu
  -1 siblings, 0 replies; 18+ messages in thread
From: Bryan Wu @ 2010-11-02 20:39 UTC (permalink / raw)
  To: tomi.valkeinen, linux-omap, linux-arm-kernel, gadiyar, notasas

Still keep sharp_ls_panel driver, because it contains blacklight control driver.

Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
---
 drivers/video/omap2/displays/Kconfig               |   12 --
 drivers/video/omap2/displays/Makefile              |    2 -
 .../video/omap2/displays/panel-sharp-lq043t1dg01.c |  165 --------------------
 .../video/omap2/displays/panel-toppoly-tdo35s.c    |  164 -------------------
 4 files changed, 0 insertions(+), 343 deletions(-)
 delete mode 100644 drivers/video/omap2/displays/panel-sharp-lq043t1dg01.c
 delete mode 100644 drivers/video/omap2/displays/panel-toppoly-tdo35s.c

diff --git a/drivers/video/omap2/displays/Kconfig b/drivers/video/omap2/displays/Kconfig
index 1a455d7..ae1aabe 100644
--- a/drivers/video/omap2/displays/Kconfig
+++ b/drivers/video/omap2/displays/Kconfig
@@ -16,24 +16,12 @@ config PANEL_SHARP_LS037V7DW01
         help
           LCD Panel used in TI's SDP3430 and EVM boards
 
-config PANEL_SHARP_LQ043T1DG01
-        tristate "Sharp LQ043T1DG01 LCD Panel"
-        depends on OMAP2_DSS
-        help
-          LCD Panel used in TI's OMAP3517 EVM boards
-
 config PANEL_TAAL
         tristate "Taal DSI Panel"
         depends on OMAP2_DSS_DSI
         help
           Taal DSI command mode panel from TPO.
 
-config PANEL_TOPPOLY_TDO35S
-        tristate "Toppoly TDO35S LCD Panel support"
-        depends on OMAP2_DSS
-        help
-          LCD Panel used in CM-T35
-
 config PANEL_TPO_TD043MTEA1
         tristate "TPO TD043MTEA1 LCD Panel"
         depends on OMAP2_DSS && SPI
diff --git a/drivers/video/omap2/displays/Makefile b/drivers/video/omap2/displays/Makefile
index aa38609..004335c 100644
--- a/drivers/video/omap2/displays/Makefile
+++ b/drivers/video/omap2/displays/Makefile
@@ -1,8 +1,6 @@
 obj-$(CONFIG_PANEL_GENERIC) += panel-generic.o
 obj-$(CONFIG_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o
-obj-$(CONFIG_PANEL_SHARP_LQ043T1DG01) += panel-sharp-lq043t1dg01.o
 
 obj-$(CONFIG_PANEL_TAAL) += panel-taal.o
-obj-$(CONFIG_PANEL_TOPPOLY_TDO35S) += panel-toppoly-tdo35s.o
 obj-$(CONFIG_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.o
 obj-$(CONFIG_PANEL_ACX565AKM) += panel-acx565akm.o
diff --git a/drivers/video/omap2/displays/panel-sharp-lq043t1dg01.c b/drivers/video/omap2/displays/panel-sharp-lq043t1dg01.c
deleted file mode 100644
index 0c6896c..0000000
--- a/drivers/video/omap2/displays/panel-sharp-lq043t1dg01.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * LCD panel driver for Sharp LQ043T1DG01
- *
- * Copyright (C) 2009 Texas Instruments Inc
- * Author: Vaibhav Hiremath <hvaibhav@ti.com>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 as published by
- * the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <linux/module.h>
-#include <linux/delay.h>
-#include <linux/device.h>
-#include <linux/err.h>
-
-#include <plat/display.h>
-
-static struct omap_video_timings sharp_lq_timings = {
-	.x_res = 480,
-	.y_res = 272,
-
-	.pixel_clock	= 9000,
-
-	.hsw		= 42,
-	.hfp		= 3,
-	.hbp		= 2,
-
-	.vsw		= 11,
-	.vfp		= 3,
-	.vbp		= 2,
-};
-
-static int sharp_lq_panel_power_on(struct omap_dss_device *dssdev)
-{
-	int r;
-
-	if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE)
-		return 0;
-
-	r = omapdss_dpi_display_enable(dssdev);
-	if (r)
-		goto err0;
-
-	/* wait couple of vsyncs until enabling the LCD */
-	msleep(50);
-
-	if (dssdev->platform_enable) {
-		r = dssdev->platform_enable(dssdev);
-		if (r)
-			goto err1;
-	}
-
-	return 0;
-err1:
-	omapdss_dpi_display_disable(dssdev);
-err0:
-	return r;
-}
-
-static void sharp_lq_panel_power_off(struct omap_dss_device *dssdev)
-{
-	if (dssdev->state != OMAP_DSS_DISPLAY_ACTIVE)
-		return;
-
-	if (dssdev->platform_disable)
-		dssdev->platform_disable(dssdev);
-
-	/* wait at least 5 vsyncs after disabling the LCD */
-	msleep(100);
-
-	omapdss_dpi_display_disable(dssdev);
-}
-
-static int sharp_lq_panel_probe(struct omap_dss_device *dssdev)
-{
-
-	dssdev->panel.config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
-		OMAP_DSS_LCD_IHS | OMAP_DSS_LCD_IEO;
-	dssdev->panel.acb = 0x0;
-	dssdev->panel.timings = sharp_lq_timings;
-
-	return 0;
-}
-
-static void sharp_lq_panel_remove(struct omap_dss_device *dssdev)
-{
-}
-
-static int sharp_lq_panel_enable(struct omap_dss_device *dssdev)
-{
-	int r = 0;
-
-	r = sharp_lq_panel_power_on(dssdev);
-	if (r)
-		return r;
-
-	dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
-
-	return 0;
-}
-
-static void sharp_lq_panel_disable(struct omap_dss_device *dssdev)
-{
-	sharp_lq_panel_power_off(dssdev);
-
-	dssdev->state = OMAP_DSS_DISPLAY_DISABLED;
-}
-
-static int sharp_lq_panel_suspend(struct omap_dss_device *dssdev)
-{
-	sharp_lq_panel_power_off(dssdev);
-	dssdev->state = OMAP_DSS_DISPLAY_SUSPENDED;
-	return 0;
-}
-
-static int sharp_lq_panel_resume(struct omap_dss_device *dssdev)
-{
-	int r = 0;
-
-	r = sharp_lq_panel_power_on(dssdev);
-	if (r)
-		return r;
-
-	dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
-
-	return 0;
-}
-
-static struct omap_dss_driver sharp_lq_driver = {
-	.probe		= sharp_lq_panel_probe,
-	.remove		= sharp_lq_panel_remove,
-
-	.enable		= sharp_lq_panel_enable,
-	.disable	= sharp_lq_panel_disable,
-	.suspend	= sharp_lq_panel_suspend,
-	.resume		= sharp_lq_panel_resume,
-
-	.driver         = {
-		.name   = "sharp_lq_panel",
-		.owner  = THIS_MODULE,
-	},
-};
-
-static int __init sharp_lq_panel_drv_init(void)
-{
-	return omap_dss_register_driver(&sharp_lq_driver);
-}
-
-static void __exit sharp_lq_panel_drv_exit(void)
-{
-	omap_dss_unregister_driver(&sharp_lq_driver);
-}
-
-module_init(sharp_lq_panel_drv_init);
-module_exit(sharp_lq_panel_drv_exit);
-MODULE_LICENSE("GPL");
diff --git a/drivers/video/omap2/displays/panel-toppoly-tdo35s.c b/drivers/video/omap2/displays/panel-toppoly-tdo35s.c
deleted file mode 100644
index 526e906..0000000
--- a/drivers/video/omap2/displays/panel-toppoly-tdo35s.c
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * LCD panel driver for Toppoly TDO35S
- *
- * Copyright (C) 2009 CompuLab, Ltd.
- * Author: Mike Rapoport <mike@compulab.co.il>
- *
- * Based on generic panel support
- * Copyright (C) 2008 Nokia Corporation
- * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 as published by
- * the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <linux/module.h>
-#include <linux/delay.h>
-
-#include <plat/display.h>
-
-static struct omap_video_timings toppoly_tdo_panel_timings = {
-	/* 640 x 480 @ 60 Hz  Reduced blanking VESA CVT 0.31M3-R */
-	.x_res		= 480,
-	.y_res		= 640,
-
-	.pixel_clock	= 26000,
-
-	.hfp		= 104,
-	.hsw		= 8,
-	.hbp		= 8,
-
-	.vfp		= 4,
-	.vsw		= 2,
-	.vbp		= 2,
-};
-
-static int toppoly_tdo_panel_power_on(struct omap_dss_device *dssdev)
-{
-	int r;
-
-	if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE)
-		return 0;
-
-	r = omapdss_dpi_display_enable(dssdev);
-	if (r)
-		goto err0;
-
-	if (dssdev->platform_enable) {
-		r = dssdev->platform_enable(dssdev);
-		if (r)
-			goto err1;
-	}
-
-	return 0;
-err1:
-	omapdss_dpi_display_disable(dssdev);
-err0:
-	return r;
-}
-
-static void toppoly_tdo_panel_power_off(struct omap_dss_device *dssdev)
-{
-	if (dssdev->state != OMAP_DSS_DISPLAY_ACTIVE)
-		return;
-
-	if (dssdev->platform_disable)
-		dssdev->platform_disable(dssdev);
-
-	omapdss_dpi_display_disable(dssdev);
-}
-
-static int toppoly_tdo_panel_probe(struct omap_dss_device *dssdev)
-{
-	dssdev->panel.config = OMAP_DSS_LCD_TFT |
-			       OMAP_DSS_LCD_IVS |
-			       OMAP_DSS_LCD_IHS |
-			       OMAP_DSS_LCD_IPC |
-			       OMAP_DSS_LCD_ONOFF;
-
-	dssdev->panel.timings = toppoly_tdo_panel_timings;
-
-	return 0;
-}
-
-static void toppoly_tdo_panel_remove(struct omap_dss_device *dssdev)
-{
-}
-
-static int toppoly_tdo_panel_enable(struct omap_dss_device *dssdev)
-{
-	int r = 0;
-
-	r = toppoly_tdo_panel_power_on(dssdev);
-	if (r)
-		return r;
-
-	dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
-
-	return 0;
-}
-
-static void toppoly_tdo_panel_disable(struct omap_dss_device *dssdev)
-{
-	toppoly_tdo_panel_power_off(dssdev);
-
-	dssdev->state = OMAP_DSS_DISPLAY_DISABLED;
-}
-
-static int toppoly_tdo_panel_suspend(struct omap_dss_device *dssdev)
-{
-	toppoly_tdo_panel_power_off(dssdev);
-	dssdev->state = OMAP_DSS_DISPLAY_SUSPENDED;
-	return 0;
-}
-
-static int toppoly_tdo_panel_resume(struct omap_dss_device *dssdev)
-{
-	int r = 0;
-
-	r = toppoly_tdo_panel_power_on(dssdev);
-	if (r)
-		return r;
-
-	dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
-
-	return 0;
-}
-
-static struct omap_dss_driver generic_driver = {
-	.probe		= toppoly_tdo_panel_probe,
-	.remove		= toppoly_tdo_panel_remove,
-
-	.enable		= toppoly_tdo_panel_enable,
-	.disable	= toppoly_tdo_panel_disable,
-	.suspend	= toppoly_tdo_panel_suspend,
-	.resume		= toppoly_tdo_panel_resume,
-
-	.driver         = {
-		.name   = "toppoly_tdo35s_panel",
-		.owner  = THIS_MODULE,
-	},
-};
-
-static int __init toppoly_tdo_panel_drv_init(void)
-{
-	return omap_dss_register_driver(&generic_driver);
-}
-
-static void __exit toppoly_tdo_panel_drv_exit(void)
-{
-	omap_dss_unregister_driver(&generic_driver);
-}
-
-module_init(toppoly_tdo_panel_drv_init);
-module_exit(toppoly_tdo_panel_drv_exit);
-MODULE_LICENSE("GPL");
-- 
1.7.1


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

* [PATCH 2/3] OMAP: DSS2: remove generic panel driver duplicated panel drivers
@ 2010-11-02 20:39   ` Bryan Wu
  0 siblings, 0 replies; 18+ messages in thread
From: Bryan Wu @ 2010-11-02 20:39 UTC (permalink / raw)
  To: linux-arm-kernel

Still keep sharp_ls_panel driver, because it contains blacklight control driver.

Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
---
 drivers/video/omap2/displays/Kconfig               |   12 --
 drivers/video/omap2/displays/Makefile              |    2 -
 .../video/omap2/displays/panel-sharp-lq043t1dg01.c |  165 --------------------
 .../video/omap2/displays/panel-toppoly-tdo35s.c    |  164 -------------------
 4 files changed, 0 insertions(+), 343 deletions(-)
 delete mode 100644 drivers/video/omap2/displays/panel-sharp-lq043t1dg01.c
 delete mode 100644 drivers/video/omap2/displays/panel-toppoly-tdo35s.c

diff --git a/drivers/video/omap2/displays/Kconfig b/drivers/video/omap2/displays/Kconfig
index 1a455d7..ae1aabe 100644
--- a/drivers/video/omap2/displays/Kconfig
+++ b/drivers/video/omap2/displays/Kconfig
@@ -16,24 +16,12 @@ config PANEL_SHARP_LS037V7DW01
         help
           LCD Panel used in TI's SDP3430 and EVM boards
 
-config PANEL_SHARP_LQ043T1DG01
-        tristate "Sharp LQ043T1DG01 LCD Panel"
-        depends on OMAP2_DSS
-        help
-          LCD Panel used in TI's OMAP3517 EVM boards
-
 config PANEL_TAAL
         tristate "Taal DSI Panel"
         depends on OMAP2_DSS_DSI
         help
           Taal DSI command mode panel from TPO.
 
-config PANEL_TOPPOLY_TDO35S
-        tristate "Toppoly TDO35S LCD Panel support"
-        depends on OMAP2_DSS
-        help
-          LCD Panel used in CM-T35
-
 config PANEL_TPO_TD043MTEA1
         tristate "TPO TD043MTEA1 LCD Panel"
         depends on OMAP2_DSS && SPI
diff --git a/drivers/video/omap2/displays/Makefile b/drivers/video/omap2/displays/Makefile
index aa38609..004335c 100644
--- a/drivers/video/omap2/displays/Makefile
+++ b/drivers/video/omap2/displays/Makefile
@@ -1,8 +1,6 @@
 obj-$(CONFIG_PANEL_GENERIC) += panel-generic.o
 obj-$(CONFIG_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o
-obj-$(CONFIG_PANEL_SHARP_LQ043T1DG01) += panel-sharp-lq043t1dg01.o
 
 obj-$(CONFIG_PANEL_TAAL) += panel-taal.o
-obj-$(CONFIG_PANEL_TOPPOLY_TDO35S) += panel-toppoly-tdo35s.o
 obj-$(CONFIG_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.o
 obj-$(CONFIG_PANEL_ACX565AKM) += panel-acx565akm.o
diff --git a/drivers/video/omap2/displays/panel-sharp-lq043t1dg01.c b/drivers/video/omap2/displays/panel-sharp-lq043t1dg01.c
deleted file mode 100644
index 0c6896c..0000000
--- a/drivers/video/omap2/displays/panel-sharp-lq043t1dg01.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * LCD panel driver for Sharp LQ043T1DG01
- *
- * Copyright (C) 2009 Texas Instruments Inc
- * Author: Vaibhav Hiremath <hvaibhav@ti.com>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 as published by
- * the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <linux/module.h>
-#include <linux/delay.h>
-#include <linux/device.h>
-#include <linux/err.h>
-
-#include <plat/display.h>
-
-static struct omap_video_timings sharp_lq_timings = {
-	.x_res = 480,
-	.y_res = 272,
-
-	.pixel_clock	= 9000,
-
-	.hsw		= 42,
-	.hfp		= 3,
-	.hbp		= 2,
-
-	.vsw		= 11,
-	.vfp		= 3,
-	.vbp		= 2,
-};
-
-static int sharp_lq_panel_power_on(struct omap_dss_device *dssdev)
-{
-	int r;
-
-	if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE)
-		return 0;
-
-	r = omapdss_dpi_display_enable(dssdev);
-	if (r)
-		goto err0;
-
-	/* wait couple of vsyncs until enabling the LCD */
-	msleep(50);
-
-	if (dssdev->platform_enable) {
-		r = dssdev->platform_enable(dssdev);
-		if (r)
-			goto err1;
-	}
-
-	return 0;
-err1:
-	omapdss_dpi_display_disable(dssdev);
-err0:
-	return r;
-}
-
-static void sharp_lq_panel_power_off(struct omap_dss_device *dssdev)
-{
-	if (dssdev->state != OMAP_DSS_DISPLAY_ACTIVE)
-		return;
-
-	if (dssdev->platform_disable)
-		dssdev->platform_disable(dssdev);
-
-	/* wait at least 5 vsyncs after disabling the LCD */
-	msleep(100);
-
-	omapdss_dpi_display_disable(dssdev);
-}
-
-static int sharp_lq_panel_probe(struct omap_dss_device *dssdev)
-{
-
-	dssdev->panel.config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
-		OMAP_DSS_LCD_IHS | OMAP_DSS_LCD_IEO;
-	dssdev->panel.acb = 0x0;
-	dssdev->panel.timings = sharp_lq_timings;
-
-	return 0;
-}
-
-static void sharp_lq_panel_remove(struct omap_dss_device *dssdev)
-{
-}
-
-static int sharp_lq_panel_enable(struct omap_dss_device *dssdev)
-{
-	int r = 0;
-
-	r = sharp_lq_panel_power_on(dssdev);
-	if (r)
-		return r;
-
-	dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
-
-	return 0;
-}
-
-static void sharp_lq_panel_disable(struct omap_dss_device *dssdev)
-{
-	sharp_lq_panel_power_off(dssdev);
-
-	dssdev->state = OMAP_DSS_DISPLAY_DISABLED;
-}
-
-static int sharp_lq_panel_suspend(struct omap_dss_device *dssdev)
-{
-	sharp_lq_panel_power_off(dssdev);
-	dssdev->state = OMAP_DSS_DISPLAY_SUSPENDED;
-	return 0;
-}
-
-static int sharp_lq_panel_resume(struct omap_dss_device *dssdev)
-{
-	int r = 0;
-
-	r = sharp_lq_panel_power_on(dssdev);
-	if (r)
-		return r;
-
-	dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
-
-	return 0;
-}
-
-static struct omap_dss_driver sharp_lq_driver = {
-	.probe		= sharp_lq_panel_probe,
-	.remove		= sharp_lq_panel_remove,
-
-	.enable		= sharp_lq_panel_enable,
-	.disable	= sharp_lq_panel_disable,
-	.suspend	= sharp_lq_panel_suspend,
-	.resume		= sharp_lq_panel_resume,
-
-	.driver         = {
-		.name   = "sharp_lq_panel",
-		.owner  = THIS_MODULE,
-	},
-};
-
-static int __init sharp_lq_panel_drv_init(void)
-{
-	return omap_dss_register_driver(&sharp_lq_driver);
-}
-
-static void __exit sharp_lq_panel_drv_exit(void)
-{
-	omap_dss_unregister_driver(&sharp_lq_driver);
-}
-
-module_init(sharp_lq_panel_drv_init);
-module_exit(sharp_lq_panel_drv_exit);
-MODULE_LICENSE("GPL");
diff --git a/drivers/video/omap2/displays/panel-toppoly-tdo35s.c b/drivers/video/omap2/displays/panel-toppoly-tdo35s.c
deleted file mode 100644
index 526e906..0000000
--- a/drivers/video/omap2/displays/panel-toppoly-tdo35s.c
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * LCD panel driver for Toppoly TDO35S
- *
- * Copyright (C) 2009 CompuLab, Ltd.
- * Author: Mike Rapoport <mike@compulab.co.il>
- *
- * Based on generic panel support
- * Copyright (C) 2008 Nokia Corporation
- * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 as published by
- * the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <linux/module.h>
-#include <linux/delay.h>
-
-#include <plat/display.h>
-
-static struct omap_video_timings toppoly_tdo_panel_timings = {
-	/* 640 x 480 @ 60 Hz  Reduced blanking VESA CVT 0.31M3-R */
-	.x_res		= 480,
-	.y_res		= 640,
-
-	.pixel_clock	= 26000,
-
-	.hfp		= 104,
-	.hsw		= 8,
-	.hbp		= 8,
-
-	.vfp		= 4,
-	.vsw		= 2,
-	.vbp		= 2,
-};
-
-static int toppoly_tdo_panel_power_on(struct omap_dss_device *dssdev)
-{
-	int r;
-
-	if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE)
-		return 0;
-
-	r = omapdss_dpi_display_enable(dssdev);
-	if (r)
-		goto err0;
-
-	if (dssdev->platform_enable) {
-		r = dssdev->platform_enable(dssdev);
-		if (r)
-			goto err1;
-	}
-
-	return 0;
-err1:
-	omapdss_dpi_display_disable(dssdev);
-err0:
-	return r;
-}
-
-static void toppoly_tdo_panel_power_off(struct omap_dss_device *dssdev)
-{
-	if (dssdev->state != OMAP_DSS_DISPLAY_ACTIVE)
-		return;
-
-	if (dssdev->platform_disable)
-		dssdev->platform_disable(dssdev);
-
-	omapdss_dpi_display_disable(dssdev);
-}
-
-static int toppoly_tdo_panel_probe(struct omap_dss_device *dssdev)
-{
-	dssdev->panel.config = OMAP_DSS_LCD_TFT |
-			       OMAP_DSS_LCD_IVS |
-			       OMAP_DSS_LCD_IHS |
-			       OMAP_DSS_LCD_IPC |
-			       OMAP_DSS_LCD_ONOFF;
-
-	dssdev->panel.timings = toppoly_tdo_panel_timings;
-
-	return 0;
-}
-
-static void toppoly_tdo_panel_remove(struct omap_dss_device *dssdev)
-{
-}
-
-static int toppoly_tdo_panel_enable(struct omap_dss_device *dssdev)
-{
-	int r = 0;
-
-	r = toppoly_tdo_panel_power_on(dssdev);
-	if (r)
-		return r;
-
-	dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
-
-	return 0;
-}
-
-static void toppoly_tdo_panel_disable(struct omap_dss_device *dssdev)
-{
-	toppoly_tdo_panel_power_off(dssdev);
-
-	dssdev->state = OMAP_DSS_DISPLAY_DISABLED;
-}
-
-static int toppoly_tdo_panel_suspend(struct omap_dss_device *dssdev)
-{
-	toppoly_tdo_panel_power_off(dssdev);
-	dssdev->state = OMAP_DSS_DISPLAY_SUSPENDED;
-	return 0;
-}
-
-static int toppoly_tdo_panel_resume(struct omap_dss_device *dssdev)
-{
-	int r = 0;
-
-	r = toppoly_tdo_panel_power_on(dssdev);
-	if (r)
-		return r;
-
-	dssdev->state = OMAP_DSS_DISPLAY_ACTIVE;
-
-	return 0;
-}
-
-static struct omap_dss_driver generic_driver = {
-	.probe		= toppoly_tdo_panel_probe,
-	.remove		= toppoly_tdo_panel_remove,
-
-	.enable		= toppoly_tdo_panel_enable,
-	.disable	= toppoly_tdo_panel_disable,
-	.suspend	= toppoly_tdo_panel_suspend,
-	.resume		= toppoly_tdo_panel_resume,
-
-	.driver         = {
-		.name   = "toppoly_tdo35s_panel",
-		.owner  = THIS_MODULE,
-	},
-};
-
-static int __init toppoly_tdo_panel_drv_init(void)
-{
-	return omap_dss_register_driver(&generic_driver);
-}
-
-static void __exit toppoly_tdo_panel_drv_exit(void)
-{
-	omap_dss_unregister_driver(&generic_driver);
-}
-
-module_init(toppoly_tdo_panel_drv_init);
-module_exit(toppoly_tdo_panel_drv_exit);
-MODULE_LICENSE("GPL");
-- 
1.7.1

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

* [PATCH 3/3] OMAP: use generic panel driver in board files
  2010-11-02 20:39 ` Bryan Wu
@ 2010-11-02 20:39   ` Bryan Wu
  -1 siblings, 0 replies; 18+ messages in thread
From: Bryan Wu @ 2010-11-02 20:39 UTC (permalink / raw)
  To: tomi.valkeinen, linux-omap, linux-arm-kernel, gadiyar, notasas

Introduce some fields in struct panel, which will be used to match the right
panel configurations in generic panel driver.

Still keep sharp_ls_panel, since the sharp_ls_panel driver contains blacklight
control driver code which will be moved out later. Then we can use generic driver
for sharp_ls_panel.

Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
---
 arch/arm/mach-omap2/board-3430sdp.c       |    1 +
 arch/arm/mach-omap2/board-am3517evm.c     |    4 +++-
 arch/arm/mach-omap2/board-cm-t35.c        |    4 +++-
 arch/arm/mach-omap2/board-devkit8000.c    |    2 ++
 arch/arm/mach-omap2/board-igep0020.c      |    1 +
 arch/arm/mach-omap2/board-omap3beagle.c   |    1 +
 arch/arm/mach-omap2/board-omap3evm.c      |    1 +
 arch/arm/mach-omap2/board-omap3stalker.c  |    2 ++
 arch/arm/plat-omap/include/plat/display.h |   28 +++++++++++++++++++---------
 9 files changed, 33 insertions(+), 11 deletions(-)

diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
index 4e3742c..529a016 100644
--- a/arch/arm/mach-omap2/board-3430sdp.c
+++ b/arch/arm/mach-omap2/board-3430sdp.c
@@ -273,6 +273,7 @@ static struct omap_dss_device sdp3430_lcd_device = {
 static struct omap_dss_device sdp3430_dvi_device = {
 	.name			= "dvi",
 	.driver_name		= "generic_panel",
+	.panel.name		= "dvi",
 	.type			= OMAP_DISPLAY_TYPE_DPI,
 	.phy.dpi.data_lines	= 24,
 	.platform_enable	= sdp3430_panel_enable_dvi,
diff --git a/arch/arm/mach-omap2/board-am3517evm.c b/arch/arm/mach-omap2/board-am3517evm.c
index 0739950..e435e66 100644
--- a/arch/arm/mach-omap2/board-am3517evm.c
+++ b/arch/arm/mach-omap2/board-am3517evm.c
@@ -306,7 +306,8 @@ static void am3517_evm_panel_disable_lcd(struct omap_dss_device *dssdev)
 static struct omap_dss_device am3517_evm_lcd_device = {
 	.type			= OMAP_DISPLAY_TYPE_DPI,
 	.name			= "lcd",
-	.driver_name		= "sharp_lq_panel",
+	.driver_name		= "generic_panel",
+	.panel.name		= "sharp_lq",
 	.phy.dpi.data_lines 	= 16,
 	.platform_enable	= am3517_evm_panel_enable_lcd,
 	.platform_disable	= am3517_evm_panel_disable_lcd,
@@ -350,6 +351,7 @@ static struct omap_dss_device am3517_evm_dvi_device = {
 	.type			= OMAP_DISPLAY_TYPE_DPI,
 	.name			= "dvi",
 	.driver_name		= "generic_panel",
+	.panel.name		= "dvi",
 	.phy.dpi.data_lines	= 24,
 	.platform_enable	= am3517_evm_panel_enable_dvi,
 	.platform_disable	= am3517_evm_panel_disable_dvi,
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
index 63f764e..afadebb 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -353,7 +353,8 @@ static void cm_t35_panel_disable_tv(struct omap_dss_device *dssdev)
 
 static struct omap_dss_device cm_t35_lcd_device = {
 	.name			= "lcd",
-	.driver_name		= "toppoly_tdo35s_panel",
+	.driver_name		= "generic_panel",
+	.panel.name		= "toppoly_tdo35s",
 	.type			= OMAP_DISPLAY_TYPE_DPI,
 	.phy.dpi.data_lines	= 18,
 	.platform_enable	= cm_t35_panel_enable_lcd,
@@ -363,6 +364,7 @@ static struct omap_dss_device cm_t35_lcd_device = {
 static struct omap_dss_device cm_t35_dvi_device = {
 	.name			= "dvi",
 	.driver_name		= "generic_panel",
+	.panel.name		= "dvi",
 	.type			= OMAP_DISPLAY_TYPE_DPI,
 	.phy.dpi.data_lines	= 24,
 	.platform_enable	= cm_t35_panel_enable_dvi,
diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c
index 067f437..3a5937e 100644
--- a/arch/arm/mach-omap2/board-devkit8000.c
+++ b/arch/arm/mach-omap2/board-devkit8000.c
@@ -152,6 +152,7 @@ static struct regulator_consumer_supply devkit8000_vio_supply =
 static struct omap_dss_device devkit8000_lcd_device = {
 	.name                   = "lcd",
 	.driver_name            = "generic_panel",
+	.panel.name		= "dvi",
 	.type                   = OMAP_DISPLAY_TYPE_DPI,
 	.phy.dpi.data_lines     = 24,
 	.reset_gpio             = -EINVAL, /* will be replaced */
@@ -161,6 +162,7 @@ static struct omap_dss_device devkit8000_lcd_device = {
 static struct omap_dss_device devkit8000_dvi_device = {
 	.name                   = "dvi",
 	.driver_name            = "generic_panel",
+	.panel.name		= "dvi",
 	.type                   = OMAP_DISPLAY_TYPE_DPI,
 	.phy.dpi.data_lines     = 24,
 	.reset_gpio             = -EINVAL, /* will be replaced */
diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c
index 5e035a5..4c83ef0 100644
--- a/arch/arm/mach-omap2/board-igep0020.c
+++ b/arch/arm/mach-omap2/board-igep0020.c
@@ -437,6 +437,7 @@ static struct omap_dss_device igep2_dvi_device = {
 	.type			= OMAP_DISPLAY_TYPE_DPI,
 	.name			= "dvi",
 	.driver_name		= "generic_panel",
+	.panel.name		= "dvi",
 	.phy.dpi.data_lines	= 24,
 	.platform_enable	= igep2_enable_dvi,
 	.platform_disable	= igep2_disable_dvi,
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index 14f4224..18401ff 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -198,6 +198,7 @@ static struct omap_dss_device beagle_dvi_device = {
 	.type = OMAP_DISPLAY_TYPE_DPI,
 	.name = "dvi",
 	.driver_name = "generic_panel",
+	.panel.name = "dvi",
 	.phy.dpi.data_lines = 24,
 	.reset_gpio = 170,
 	.platform_enable = beagle_enable_dvi,
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
index b04365c..49325a4 100644
--- a/arch/arm/mach-omap2/board-omap3evm.c
+++ b/arch/arm/mach-omap2/board-omap3evm.c
@@ -304,6 +304,7 @@ static void omap3_evm_disable_dvi(struct omap_dss_device *dssdev)
 static struct omap_dss_device omap3_evm_dvi_device = {
 	.name			= "dvi",
 	.driver_name		= "generic_panel",
+	.panel.name		= "dvi",
 	.type			= OMAP_DISPLAY_TYPE_DPI,
 	.phy.dpi.data_lines	= 24,
 	.platform_enable	= omap3_evm_enable_dvi,
diff --git a/arch/arm/mach-omap2/board-omap3stalker.c b/arch/arm/mach-omap2/board-omap3stalker.c
index f252721..cfbf4b1 100644
--- a/arch/arm/mach-omap2/board-omap3stalker.c
+++ b/arch/arm/mach-omap2/board-omap3stalker.c
@@ -163,6 +163,7 @@ static void omap3_stalker_disable_lcd(struct omap_dss_device *dssdev)
 static struct omap_dss_device omap3_stalker_lcd_device = {
 	.name			= "lcd",
 	.driver_name		= "generic_panel",
+	.panel.name		= "dvi",
 	.phy.dpi.data_lines	= 24,
 	.type			= OMAP_DISPLAY_TYPE_DPI,
 	.platform_enable	= omap3_stalker_enable_lcd,
@@ -211,6 +212,7 @@ static void omap3_stalker_disable_dvi(struct omap_dss_device *dssdev)
 static struct omap_dss_device omap3_stalker_dvi_device = {
 	.name			= "dvi",
 	.driver_name		= "generic_panel",
+	.panel.name		= "dvi",
 	.type			= OMAP_DISPLAY_TYPE_DPI,
 	.phy.dpi.data_lines	= 24,
 	.platform_enable	= omap3_stalker_enable_dvi,
diff --git a/arch/arm/plat-omap/include/plat/display.h b/arch/arm/plat-omap/include/plat/display.h
index c915a66..6e1fbbd 100644
--- a/arch/arm/plat-omap/include/plat/display.h
+++ b/arch/arm/plat-omap/include/plat/display.h
@@ -346,6 +346,24 @@ struct omap_overlay_manager {
 	int (*disable)(struct omap_overlay_manager *mgr);
 };
 
+struct omap_display_panel {
+	struct omap_video_timings timings;
+
+	int acbi;	/* ac-bias pin transitions per interrupt */
+	/* Unit: line clocks */
+	int acb;	/* ac-bias pin frequency */
+
+	enum omap_panel_config config;
+
+	int power_on_delay;
+	int power_off_delay;
+	/*
+	 * Used to match device to panel configuration
+	 * when use generic panel driver
+	 */
+	const char *name;
+};
+
 struct omap_dss_device {
 	struct device dev;
 
@@ -395,15 +413,7 @@ struct omap_dss_device {
 		} venc;
 	} phy;
 
-	struct {
-		struct omap_video_timings timings;
-
-		int acbi;	/* ac-bias pin transitions per interrupt */
-		/* Unit: line clocks */
-		int acb;	/* ac-bias pin frequency */
-
-		enum omap_panel_config config;
-	} panel;
+	struct omap_display_panel panel;
 
 	struct {
 		u8 pixel_size;
-- 
1.7.1


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

* [PATCH 3/3] OMAP: use generic panel driver in board files
@ 2010-11-02 20:39   ` Bryan Wu
  0 siblings, 0 replies; 18+ messages in thread
From: Bryan Wu @ 2010-11-02 20:39 UTC (permalink / raw)
  To: linux-arm-kernel

Introduce some fields in struct panel, which will be used to match the right
panel configurations in generic panel driver.

Still keep sharp_ls_panel, since the sharp_ls_panel driver contains blacklight
control driver code which will be moved out later. Then we can use generic driver
for sharp_ls_panel.

Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
---
 arch/arm/mach-omap2/board-3430sdp.c       |    1 +
 arch/arm/mach-omap2/board-am3517evm.c     |    4 +++-
 arch/arm/mach-omap2/board-cm-t35.c        |    4 +++-
 arch/arm/mach-omap2/board-devkit8000.c    |    2 ++
 arch/arm/mach-omap2/board-igep0020.c      |    1 +
 arch/arm/mach-omap2/board-omap3beagle.c   |    1 +
 arch/arm/mach-omap2/board-omap3evm.c      |    1 +
 arch/arm/mach-omap2/board-omap3stalker.c  |    2 ++
 arch/arm/plat-omap/include/plat/display.h |   28 +++++++++++++++++++---------
 9 files changed, 33 insertions(+), 11 deletions(-)

diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
index 4e3742c..529a016 100644
--- a/arch/arm/mach-omap2/board-3430sdp.c
+++ b/arch/arm/mach-omap2/board-3430sdp.c
@@ -273,6 +273,7 @@ static struct omap_dss_device sdp3430_lcd_device = {
 static struct omap_dss_device sdp3430_dvi_device = {
 	.name			= "dvi",
 	.driver_name		= "generic_panel",
+	.panel.name		= "dvi",
 	.type			= OMAP_DISPLAY_TYPE_DPI,
 	.phy.dpi.data_lines	= 24,
 	.platform_enable	= sdp3430_panel_enable_dvi,
diff --git a/arch/arm/mach-omap2/board-am3517evm.c b/arch/arm/mach-omap2/board-am3517evm.c
index 0739950..e435e66 100644
--- a/arch/arm/mach-omap2/board-am3517evm.c
+++ b/arch/arm/mach-omap2/board-am3517evm.c
@@ -306,7 +306,8 @@ static void am3517_evm_panel_disable_lcd(struct omap_dss_device *dssdev)
 static struct omap_dss_device am3517_evm_lcd_device = {
 	.type			= OMAP_DISPLAY_TYPE_DPI,
 	.name			= "lcd",
-	.driver_name		= "sharp_lq_panel",
+	.driver_name		= "generic_panel",
+	.panel.name		= "sharp_lq",
 	.phy.dpi.data_lines 	= 16,
 	.platform_enable	= am3517_evm_panel_enable_lcd,
 	.platform_disable	= am3517_evm_panel_disable_lcd,
@@ -350,6 +351,7 @@ static struct omap_dss_device am3517_evm_dvi_device = {
 	.type			= OMAP_DISPLAY_TYPE_DPI,
 	.name			= "dvi",
 	.driver_name		= "generic_panel",
+	.panel.name		= "dvi",
 	.phy.dpi.data_lines	= 24,
 	.platform_enable	= am3517_evm_panel_enable_dvi,
 	.platform_disable	= am3517_evm_panel_disable_dvi,
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
index 63f764e..afadebb 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -353,7 +353,8 @@ static void cm_t35_panel_disable_tv(struct omap_dss_device *dssdev)
 
 static struct omap_dss_device cm_t35_lcd_device = {
 	.name			= "lcd",
-	.driver_name		= "toppoly_tdo35s_panel",
+	.driver_name		= "generic_panel",
+	.panel.name		= "toppoly_tdo35s",
 	.type			= OMAP_DISPLAY_TYPE_DPI,
 	.phy.dpi.data_lines	= 18,
 	.platform_enable	= cm_t35_panel_enable_lcd,
@@ -363,6 +364,7 @@ static struct omap_dss_device cm_t35_lcd_device = {
 static struct omap_dss_device cm_t35_dvi_device = {
 	.name			= "dvi",
 	.driver_name		= "generic_panel",
+	.panel.name		= "dvi",
 	.type			= OMAP_DISPLAY_TYPE_DPI,
 	.phy.dpi.data_lines	= 24,
 	.platform_enable	= cm_t35_panel_enable_dvi,
diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c
index 067f437..3a5937e 100644
--- a/arch/arm/mach-omap2/board-devkit8000.c
+++ b/arch/arm/mach-omap2/board-devkit8000.c
@@ -152,6 +152,7 @@ static struct regulator_consumer_supply devkit8000_vio_supply =
 static struct omap_dss_device devkit8000_lcd_device = {
 	.name                   = "lcd",
 	.driver_name            = "generic_panel",
+	.panel.name		= "dvi",
 	.type                   = OMAP_DISPLAY_TYPE_DPI,
 	.phy.dpi.data_lines     = 24,
 	.reset_gpio             = -EINVAL, /* will be replaced */
@@ -161,6 +162,7 @@ static struct omap_dss_device devkit8000_lcd_device = {
 static struct omap_dss_device devkit8000_dvi_device = {
 	.name                   = "dvi",
 	.driver_name            = "generic_panel",
+	.panel.name		= "dvi",
 	.type                   = OMAP_DISPLAY_TYPE_DPI,
 	.phy.dpi.data_lines     = 24,
 	.reset_gpio             = -EINVAL, /* will be replaced */
diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c
index 5e035a5..4c83ef0 100644
--- a/arch/arm/mach-omap2/board-igep0020.c
+++ b/arch/arm/mach-omap2/board-igep0020.c
@@ -437,6 +437,7 @@ static struct omap_dss_device igep2_dvi_device = {
 	.type			= OMAP_DISPLAY_TYPE_DPI,
 	.name			= "dvi",
 	.driver_name		= "generic_panel",
+	.panel.name		= "dvi",
 	.phy.dpi.data_lines	= 24,
 	.platform_enable	= igep2_enable_dvi,
 	.platform_disable	= igep2_disable_dvi,
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index 14f4224..18401ff 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -198,6 +198,7 @@ static struct omap_dss_device beagle_dvi_device = {
 	.type = OMAP_DISPLAY_TYPE_DPI,
 	.name = "dvi",
 	.driver_name = "generic_panel",
+	.panel.name = "dvi",
 	.phy.dpi.data_lines = 24,
 	.reset_gpio = 170,
 	.platform_enable = beagle_enable_dvi,
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
index b04365c..49325a4 100644
--- a/arch/arm/mach-omap2/board-omap3evm.c
+++ b/arch/arm/mach-omap2/board-omap3evm.c
@@ -304,6 +304,7 @@ static void omap3_evm_disable_dvi(struct omap_dss_device *dssdev)
 static struct omap_dss_device omap3_evm_dvi_device = {
 	.name			= "dvi",
 	.driver_name		= "generic_panel",
+	.panel.name		= "dvi",
 	.type			= OMAP_DISPLAY_TYPE_DPI,
 	.phy.dpi.data_lines	= 24,
 	.platform_enable	= omap3_evm_enable_dvi,
diff --git a/arch/arm/mach-omap2/board-omap3stalker.c b/arch/arm/mach-omap2/board-omap3stalker.c
index f252721..cfbf4b1 100644
--- a/arch/arm/mach-omap2/board-omap3stalker.c
+++ b/arch/arm/mach-omap2/board-omap3stalker.c
@@ -163,6 +163,7 @@ static void omap3_stalker_disable_lcd(struct omap_dss_device *dssdev)
 static struct omap_dss_device omap3_stalker_lcd_device = {
 	.name			= "lcd",
 	.driver_name		= "generic_panel",
+	.panel.name		= "dvi",
 	.phy.dpi.data_lines	= 24,
 	.type			= OMAP_DISPLAY_TYPE_DPI,
 	.platform_enable	= omap3_stalker_enable_lcd,
@@ -211,6 +212,7 @@ static void omap3_stalker_disable_dvi(struct omap_dss_device *dssdev)
 static struct omap_dss_device omap3_stalker_dvi_device = {
 	.name			= "dvi",
 	.driver_name		= "generic_panel",
+	.panel.name		= "dvi",
 	.type			= OMAP_DISPLAY_TYPE_DPI,
 	.phy.dpi.data_lines	= 24,
 	.platform_enable	= omap3_stalker_enable_dvi,
diff --git a/arch/arm/plat-omap/include/plat/display.h b/arch/arm/plat-omap/include/plat/display.h
index c915a66..6e1fbbd 100644
--- a/arch/arm/plat-omap/include/plat/display.h
+++ b/arch/arm/plat-omap/include/plat/display.h
@@ -346,6 +346,24 @@ struct omap_overlay_manager {
 	int (*disable)(struct omap_overlay_manager *mgr);
 };
 
+struct omap_display_panel {
+	struct omap_video_timings timings;
+
+	int acbi;	/* ac-bias pin transitions per interrupt */
+	/* Unit: line clocks */
+	int acb;	/* ac-bias pin frequency */
+
+	enum omap_panel_config config;
+
+	int power_on_delay;
+	int power_off_delay;
+	/*
+	 * Used to match device to panel configuration
+	 * when use generic panel driver
+	 */
+	const char *name;
+};
+
 struct omap_dss_device {
 	struct device dev;
 
@@ -395,15 +413,7 @@ struct omap_dss_device {
 		} venc;
 	} phy;
 
-	struct {
-		struct omap_video_timings timings;
-
-		int acbi;	/* ac-bias pin transitions per interrupt */
-		/* Unit: line clocks */
-		int acb;	/* ac-bias pin frequency */
-
-		enum omap_panel_config config;
-	} panel;
+	struct omap_display_panel panel;
 
 	struct {
 		u8 pixel_size;
-- 
1.7.1

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

* RE: [PATCH 3/3] OMAP: use generic panel driver in board files
  2010-11-02 20:39   ` Bryan Wu
@ 2010-11-03 12:56     ` Taneja, Archit
  -1 siblings, 0 replies; 18+ messages in thread
From: Taneja, Archit @ 2010-11-03 12:56 UTC (permalink / raw)
  To: Bryan Wu, tomi.valkeinen, linux-omap, linux-arm-kernel

Hi,

linux-omap-owner@vger.kernel.org wrote:
> Introduce some fields in struct panel, which will be used to
> match the right panel configurations in generic panel driver.
> 
> Still keep sharp_ls_panel, since the sharp_ls_panel driver
> contains blacklight control driver code which will be moved
> out later. Then we can use generic driver for sharp_ls_panel.
> 
> Signed-off-by: Bryan Wu <bryan.wu@canonical.com>

[snip]

> diff --git a/arch/arm/plat-omap/include/plat/display.h
> b/arch/arm/plat-omap/include/plat/display.h
> index c915a66..6e1fbbd 100644
> --- a/arch/arm/plat-omap/include/plat/display.h
> +++ b/arch/arm/plat-omap/include/plat/display.h
> @@ -346,6 +346,24 @@ struct omap_overlay_manager {
>  	int (*disable)(struct omap_overlay_manager *mgr);  };
> 
> +struct omap_display_panel {
> +	struct omap_video_timings timings;
> +
> +	int acbi;	/* ac-bias pin transitions per interrupt */ +	/* Unit: line
> clocks */ +	int acb;	/* ac-bias pin frequency */
> +
> +	enum omap_panel_config config;
> +
> +	int power_on_delay;
> +	int power_off_delay;
> +	/*
> +	 * Used to match device to panel configuration
> +	 * when use generic panel driver
> +	 */
> +	const char *name;
> +};
> +
>  struct omap_dss_device {
>  	struct device dev;
> 
> @@ -395,15 +413,7 @@ struct omap_dss_device {
>  		} venc;
>  	} phy;
> 
> -	struct {
> -		struct omap_video_timings timings;
> -
> -		int acbi;	/* ac-bias pin transitions per
> interrupt */
> -		/* Unit: line clocks */
> -		int acb;	/* ac-bias pin frequency */
> -
> -		enum omap_panel_config config;
> -	} panel;
> +	struct omap_display_panel panel;
> 
>  	struct {
>  		u8 pixel_size;

I don't think that changing the omap_dss_device structure is the best way
to go about this. Members like power_on_delay and power_off_delay may not
be required by all types of panels. Same goes for the new "name" member since
its only used by the dummy dpi panels.

I think it would be better to go with the approach taken in panel-taal.c
where a struct "panel_config" exists to take care of extra requirements.

The omap_dss_device struct should contain only those members which would be
needed by the interface driver files like dsi.c, dpi.c etc. The rest should be
taken care of the panel drivers internally.

Archit

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

* [PATCH 3/3] OMAP: use generic panel driver in board files
@ 2010-11-03 12:56     ` Taneja, Archit
  0 siblings, 0 replies; 18+ messages in thread
From: Taneja, Archit @ 2010-11-03 12:56 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

linux-omap-owner at vger.kernel.org wrote:
> Introduce some fields in struct panel, which will be used to
> match the right panel configurations in generic panel driver.
> 
> Still keep sharp_ls_panel, since the sharp_ls_panel driver
> contains blacklight control driver code which will be moved
> out later. Then we can use generic driver for sharp_ls_panel.
> 
> Signed-off-by: Bryan Wu <bryan.wu@canonical.com>

[snip]

> diff --git a/arch/arm/plat-omap/include/plat/display.h
> b/arch/arm/plat-omap/include/plat/display.h
> index c915a66..6e1fbbd 100644
> --- a/arch/arm/plat-omap/include/plat/display.h
> +++ b/arch/arm/plat-omap/include/plat/display.h
> @@ -346,6 +346,24 @@ struct omap_overlay_manager {
>  	int (*disable)(struct omap_overlay_manager *mgr);  };
> 
> +struct omap_display_panel {
> +	struct omap_video_timings timings;
> +
> +	int acbi;	/* ac-bias pin transitions per interrupt */ +	/* Unit: line
> clocks */ +	int acb;	/* ac-bias pin frequency */
> +
> +	enum omap_panel_config config;
> +
> +	int power_on_delay;
> +	int power_off_delay;
> +	/*
> +	 * Used to match device to panel configuration
> +	 * when use generic panel driver
> +	 */
> +	const char *name;
> +};
> +
>  struct omap_dss_device {
>  	struct device dev;
> 
> @@ -395,15 +413,7 @@ struct omap_dss_device {
>  		} venc;
>  	} phy;
> 
> -	struct {
> -		struct omap_video_timings timings;
> -
> -		int acbi;	/* ac-bias pin transitions per
> interrupt */
> -		/* Unit: line clocks */
> -		int acb;	/* ac-bias pin frequency */
> -
> -		enum omap_panel_config config;
> -	} panel;
> +	struct omap_display_panel panel;
> 
>  	struct {
>  		u8 pixel_size;

I don't think that changing the omap_dss_device structure is the best way
to go about this. Members like power_on_delay and power_off_delay may not
be required by all types of panels. Same goes for the new "name" member since
its only used by the dummy dpi panels.

I think it would be better to go with the approach taken in panel-taal.c
where a struct "panel_config" exists to take care of extra requirements.

The omap_dss_device struct should contain only those members which would be
needed by the interface driver files like dsi.c, dpi.c etc. The rest should be
taken care of the panel drivers internally.

Archit

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

* RE: [PATCH 0/3] OMAP: DSS2: introduce generic panel display driver
  2010-11-02 20:39 ` Bryan Wu
@ 2010-11-03 12:59   ` Taneja, Archit
  -1 siblings, 0 replies; 18+ messages in thread
From: Taneja, Archit @ 2010-11-03 12:59 UTC (permalink / raw)
  To: Bryan Wu, tomi.valkeinen, linux-omap, linux-arm-kernel

Hi,

Bryan Wu <bryan.wu@canonical.com> wrote:
> There are 4 duplicated panel drivers in DSS2 display driver.
> They are similar and generic panel driver can support all
> them with specific panel configuration.
> And new panel driver can be easily supported by adding panel
> configurations into generic panel driver.
> 
> This patchset introduces generic panel driver, remove 3 panel
> drivers and enable generic panel driver in board files. And
> it is based on 2.6.37-rc1.
> 
> Building with omap2plus_defconfig is successful.
> 
> Keep sharp_ls_panel, since it contains blacklight control
> code which will be moved out later.
> 
> Bryan Wu (3):
>   OMAP: DSS2: Add generic panel display driver
>   OMAP: DSS2: remove generic panel driver duplicated panel drivers
>   OMAP: use generic panel driver in board files
> 
>  arch/arm/mach-omap2/board-3430sdp.c                |    1 +
>  arch/arm/mach-omap2/board-am3517evm.c              |    4 +-
>  arch/arm/mach-omap2/board-cm-t35.c                 |    4 +-
>  arch/arm/mach-omap2/board-devkit8000.c             |    2 +
>  arch/arm/mach-omap2/board-igep0020.c               |    1 +
>  arch/arm/mach-omap2/board-omap3beagle.c            |    1 +
>  arch/arm/mach-omap2/board-omap3evm.c               |    1 +
>  arch/arm/mach-omap2/board-omap3stalker.c           |    2 +
>  arch/arm/plat-omap/include/plat/display.h          |   28 +++-
>  drivers/video/omap2/displays/Kconfig               |   16 +--
>  drivers/video/omap2/displays/Makefile              |    2 -
>  drivers/video/omap2/displays/panel-generic.c       |  153 ++++++++++++++++--
>  .../video/omap2/displays/panel-sharp-lq043t1dg01.c |  165
>  -------------------- .../video/omap2/displays/panel-toppoly-tdo35s.c    | 
>  164 ------------------- 14 files changed, 175 insertions(+), 369 deletions(-)
> delete mode 100644
> drivers/video/omap2/displays/panel-sharp-lq043t1dg01.c  delete mode 100644
> drivers/video/omap2/displays/panel-toppoly-tdo35s.c

This series will break the build if we try to compile after applying
only the first or the first two patches of the series since things used
by the first patch are introduced in the last patch.

Archit

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

* [PATCH 0/3] OMAP: DSS2: introduce generic panel display driver
@ 2010-11-03 12:59   ` Taneja, Archit
  0 siblings, 0 replies; 18+ messages in thread
From: Taneja, Archit @ 2010-11-03 12:59 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

Bryan Wu <bryan.wu@canonical.com> wrote:
> There are 4 duplicated panel drivers in DSS2 display driver.
> They are similar and generic panel driver can support all
> them with specific panel configuration.
> And new panel driver can be easily supported by adding panel
> configurations into generic panel driver.
> 
> This patchset introduces generic panel driver, remove 3 panel
> drivers and enable generic panel driver in board files. And
> it is based on 2.6.37-rc1.
> 
> Building with omap2plus_defconfig is successful.
> 
> Keep sharp_ls_panel, since it contains blacklight control
> code which will be moved out later.
> 
> Bryan Wu (3):
>   OMAP: DSS2: Add generic panel display driver
>   OMAP: DSS2: remove generic panel driver duplicated panel drivers
>   OMAP: use generic panel driver in board files
> 
>  arch/arm/mach-omap2/board-3430sdp.c                |    1 +
>  arch/arm/mach-omap2/board-am3517evm.c              |    4 +-
>  arch/arm/mach-omap2/board-cm-t35.c                 |    4 +-
>  arch/arm/mach-omap2/board-devkit8000.c             |    2 +
>  arch/arm/mach-omap2/board-igep0020.c               |    1 +
>  arch/arm/mach-omap2/board-omap3beagle.c            |    1 +
>  arch/arm/mach-omap2/board-omap3evm.c               |    1 +
>  arch/arm/mach-omap2/board-omap3stalker.c           |    2 +
>  arch/arm/plat-omap/include/plat/display.h          |   28 +++-
>  drivers/video/omap2/displays/Kconfig               |   16 +--
>  drivers/video/omap2/displays/Makefile              |    2 -
>  drivers/video/omap2/displays/panel-generic.c       |  153 ++++++++++++++++--
>  .../video/omap2/displays/panel-sharp-lq043t1dg01.c |  165
>  -------------------- .../video/omap2/displays/panel-toppoly-tdo35s.c    | 
>  164 ------------------- 14 files changed, 175 insertions(+), 369 deletions(-)
> delete mode 100644
> drivers/video/omap2/displays/panel-sharp-lq043t1dg01.c  delete mode 100644
> drivers/video/omap2/displays/panel-toppoly-tdo35s.c

This series will break the build if we try to compile after applying
only the first or the first two patches of the series since things used
by the first patch are introduced in the last patch.

Archit

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

* RE: [PATCH 3/3] OMAP: use generic panel driver in board files
  2010-11-03 12:56     ` Taneja, Archit
@ 2010-11-03 15:08       ` Tomi Valkeinen
  -1 siblings, 0 replies; 18+ messages in thread
From: Tomi Valkeinen @ 2010-11-03 15:08 UTC (permalink / raw)
  To: ext Taneja, Archit
  Cc: Bryan Wu, linux-omap, linux-arm-kernel, Gadiyar, Anand, notasas

On Wed, 2010-11-03 at 13:56 +0100, ext Taneja, Archit wrote:
> Hi,
> 
> linux-omap-owner@vger.kernel.org wrote:
> > Introduce some fields in struct panel, which will be used to
> > match the right panel configurations in generic panel driver.
> > 
> > Still keep sharp_ls_panel, since the sharp_ls_panel driver
> > contains blacklight control driver code which will be moved
> > out later. Then we can use generic driver for sharp_ls_panel.
> > 
> > Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
> 
> [snip]
> 
> > diff --git a/arch/arm/plat-omap/include/plat/display.h
> > b/arch/arm/plat-omap/include/plat/display.h
> > index c915a66..6e1fbbd 100644
> > --- a/arch/arm/plat-omap/include/plat/display.h
> > +++ b/arch/arm/plat-omap/include/plat/display.h
> > @@ -346,6 +346,24 @@ struct omap_overlay_manager {
> >  	int (*disable)(struct omap_overlay_manager *mgr);  };
> > 
> > +struct omap_display_panel {
> > +	struct omap_video_timings timings;
> > +
> > +	int acbi;	/* ac-bias pin transitions per interrupt */ +	/* Unit: line
> > clocks */ +	int acb;	/* ac-bias pin frequency */
> > +
> > +	enum omap_panel_config config;
> > +
> > +	int power_on_delay;
> > +	int power_off_delay;
> > +	/*
> > +	 * Used to match device to panel configuration
> > +	 * when use generic panel driver
> > +	 */
> > +	const char *name;
> > +};
> > +
> >  struct omap_dss_device {
> >  	struct device dev;
> > 
> > @@ -395,15 +413,7 @@ struct omap_dss_device {
> >  		} venc;
> >  	} phy;
> > 
> > -	struct {
> > -		struct omap_video_timings timings;
> > -
> > -		int acbi;	/* ac-bias pin transitions per
> > interrupt */
> > -		/* Unit: line clocks */
> > -		int acb;	/* ac-bias pin frequency */
> > -
> > -		enum omap_panel_config config;
> > -	} panel;
> > +	struct omap_display_panel panel;
> > 
> >  	struct {
> >  		u8 pixel_size;
> 
> I don't think that changing the omap_dss_device structure is the best way
> to go about this. Members like power_on_delay and power_off_delay may not
> be required by all types of panels. Same goes for the new "name" member since
> its only used by the dummy dpi panels.
> 
> I think it would be better to go with the approach taken in panel-taal.c
> where a struct "panel_config" exists to take care of extra requirements.
> 
> The omap_dss_device struct should contain only those members which would be
> needed by the interface driver files like dsi.c, dpi.c etc. The rest should be
> taken care of the panel drivers internally.

Yes, the configuration for the panel is panel driver specific features,
and should not be in the standard structs. No need to add anything to
display.h.

In fact, there are things in display.h that should be removed, and this
configurable panel driver could do that also. omap_dss_device contains
reset_gpio, max_backlight_level, platform_enable/disable and
set/get_backlight, which should actually be in panel spesific struct.

 Tomi



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

* [PATCH 3/3] OMAP: use generic panel driver in board files
@ 2010-11-03 15:08       ` Tomi Valkeinen
  0 siblings, 0 replies; 18+ messages in thread
From: Tomi Valkeinen @ 2010-11-03 15:08 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, 2010-11-03 at 13:56 +0100, ext Taneja, Archit wrote:
> Hi,
> 
> linux-omap-owner at vger.kernel.org wrote:
> > Introduce some fields in struct panel, which will be used to
> > match the right panel configurations in generic panel driver.
> > 
> > Still keep sharp_ls_panel, since the sharp_ls_panel driver
> > contains blacklight control driver code which will be moved
> > out later. Then we can use generic driver for sharp_ls_panel.
> > 
> > Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
> 
> [snip]
> 
> > diff --git a/arch/arm/plat-omap/include/plat/display.h
> > b/arch/arm/plat-omap/include/plat/display.h
> > index c915a66..6e1fbbd 100644
> > --- a/arch/arm/plat-omap/include/plat/display.h
> > +++ b/arch/arm/plat-omap/include/plat/display.h
> > @@ -346,6 +346,24 @@ struct omap_overlay_manager {
> >  	int (*disable)(struct omap_overlay_manager *mgr);  };
> > 
> > +struct omap_display_panel {
> > +	struct omap_video_timings timings;
> > +
> > +	int acbi;	/* ac-bias pin transitions per interrupt */ +	/* Unit: line
> > clocks */ +	int acb;	/* ac-bias pin frequency */
> > +
> > +	enum omap_panel_config config;
> > +
> > +	int power_on_delay;
> > +	int power_off_delay;
> > +	/*
> > +	 * Used to match device to panel configuration
> > +	 * when use generic panel driver
> > +	 */
> > +	const char *name;
> > +};
> > +
> >  struct omap_dss_device {
> >  	struct device dev;
> > 
> > @@ -395,15 +413,7 @@ struct omap_dss_device {
> >  		} venc;
> >  	} phy;
> > 
> > -	struct {
> > -		struct omap_video_timings timings;
> > -
> > -		int acbi;	/* ac-bias pin transitions per
> > interrupt */
> > -		/* Unit: line clocks */
> > -		int acb;	/* ac-bias pin frequency */
> > -
> > -		enum omap_panel_config config;
> > -	} panel;
> > +	struct omap_display_panel panel;
> > 
> >  	struct {
> >  		u8 pixel_size;
> 
> I don't think that changing the omap_dss_device structure is the best way
> to go about this. Members like power_on_delay and power_off_delay may not
> be required by all types of panels. Same goes for the new "name" member since
> its only used by the dummy dpi panels.
> 
> I think it would be better to go with the approach taken in panel-taal.c
> where a struct "panel_config" exists to take care of extra requirements.
> 
> The omap_dss_device struct should contain only those members which would be
> needed by the interface driver files like dsi.c, dpi.c etc. The rest should be
> taken care of the panel drivers internally.

Yes, the configuration for the panel is panel driver specific features,
and should not be in the standard structs. No need to add anything to
display.h.

In fact, there are things in display.h that should be removed, and this
configurable panel driver could do that also. omap_dss_device contains
reset_gpio, max_backlight_level, platform_enable/disable and
set/get_backlight, which should actually be in panel spesific struct.

 Tomi

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

* Re: [PATCH 3/3] OMAP: use generic panel driver in board files
  2010-11-03 15:08       ` Tomi Valkeinen
@ 2010-11-03 15:42         ` Bryan Wu
  -1 siblings, 0 replies; 18+ messages in thread
From: Bryan Wu @ 2010-11-03 15:42 UTC (permalink / raw)
  To: Tomi Valkeinen
  Cc: linux-omap, ext Taneja, Archit, notasas, linux-arm-kernel,
	Gadiyar, Anand

On Wed, Nov 3, 2010 at 11:08 AM, Tomi Valkeinen
<tomi.valkeinen@nokia.com> wrote:
> On Wed, 2010-11-03 at 13:56 +0100, ext Taneja, Archit wrote:
>> Hi,
>>
>> linux-omap-owner@vger.kernel.org wrote:
>> > Introduce some fields in struct panel, which will be used to
>> > match the right panel configurations in generic panel driver.
>> >
>> > Still keep sharp_ls_panel, since the sharp_ls_panel driver
>> > contains blacklight control driver code which will be moved
>> > out later. Then we can use generic driver for sharp_ls_panel.
>> >
>> > Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
>>
>> [snip]
>>
>> > diff --git a/arch/arm/plat-omap/include/plat/display.h
>> > b/arch/arm/plat-omap/include/plat/display.h
>> > index c915a66..6e1fbbd 100644
>> > --- a/arch/arm/plat-omap/include/plat/display.h
>> > +++ b/arch/arm/plat-omap/include/plat/display.h
>> > @@ -346,6 +346,24 @@ struct omap_overlay_manager {
>> >     int (*disable)(struct omap_overlay_manager *mgr);  };
>> >
>> > +struct omap_display_panel {
>> > +   struct omap_video_timings timings;
>> > +
>> > +   int acbi;       /* ac-bias pin transitions per interrupt */ +   /* Unit: line
>> > clocks */ + int acb;        /* ac-bias pin frequency */
>> > +
>> > +   enum omap_panel_config config;
>> > +
>> > +   int power_on_delay;
>> > +   int power_off_delay;
>> > +   /*
>> > +    * Used to match device to panel configuration
>> > +    * when use generic panel driver
>> > +    */
>> > +   const char *name;
>> > +};
>> > +
>> >  struct omap_dss_device {
>> >     struct device dev;
>> >
>> > @@ -395,15 +413,7 @@ struct omap_dss_device {
>> >             } venc;
>> >     } phy;
>> >
>> > -   struct {
>> > -           struct omap_video_timings timings;
>> > -
>> > -           int acbi;       /* ac-bias pin transitions per
>> > interrupt */
>> > -           /* Unit: line clocks */
>> > -           int acb;        /* ac-bias pin frequency */
>> > -
>> > -           enum omap_panel_config config;
>> > -   } panel;
>> > +   struct omap_display_panel panel;
>> >
>> >     struct {
>> >             u8 pixel_size;
>>
>> I don't think that changing the omap_dss_device structure is the best way
>> to go about this. Members like power_on_delay and power_off_delay may not
>> be required by all types of panels. Same goes for the new "name" member since
>> its only used by the dummy dpi panels.
>>
>> I think it would be better to go with the approach taken in panel-taal.c
>> where a struct "panel_config" exists to take care of extra requirements.
>>
>> The omap_dss_device struct should contain only those members which would be
>> needed by the interface driver files like dsi.c, dpi.c etc. The rest should be
>> taken care of the panel drivers internally.
>
> Yes, the configuration for the panel is panel driver specific features,
> and should not be in the standard structs. No need to add anything to
> display.h.
>
> In fact, there are things in display.h that should be removed, and this
> configurable panel driver could do that also. omap_dss_device contains
> reset_gpio, max_backlight_level, platform_enable/disable and
> set/get_backlight, which should actually be in panel spesific struct.
>

After a quick study of panel-taal.c driver and board-4430sdp.c, I
believe we can pass the information from *data pointer of struct
omap_dss_device. And keep the all panel specific configuration in
driver.

I will keep the struct omap_dss_device untouched.

Thanks,
-Bryan

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

* [PATCH 3/3] OMAP: use generic panel driver in board files
@ 2010-11-03 15:42         ` Bryan Wu
  0 siblings, 0 replies; 18+ messages in thread
From: Bryan Wu @ 2010-11-03 15:42 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Nov 3, 2010 at 11:08 AM, Tomi Valkeinen
<tomi.valkeinen@nokia.com> wrote:
> On Wed, 2010-11-03 at 13:56 +0100, ext Taneja, Archit wrote:
>> Hi,
>>
>> linux-omap-owner at vger.kernel.org wrote:
>> > Introduce some fields in struct panel, which will be used to
>> > match the right panel configurations in generic panel driver.
>> >
>> > Still keep sharp_ls_panel, since the sharp_ls_panel driver
>> > contains blacklight control driver code which will be moved
>> > out later. Then we can use generic driver for sharp_ls_panel.
>> >
>> > Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
>>
>> [snip]
>>
>> > diff --git a/arch/arm/plat-omap/include/plat/display.h
>> > b/arch/arm/plat-omap/include/plat/display.h
>> > index c915a66..6e1fbbd 100644
>> > --- a/arch/arm/plat-omap/include/plat/display.h
>> > +++ b/arch/arm/plat-omap/include/plat/display.h
>> > @@ -346,6 +346,24 @@ struct omap_overlay_manager {
>> > ? ? int (*disable)(struct omap_overlay_manager *mgr); ?};
>> >
>> > +struct omap_display_panel {
>> > + ? struct omap_video_timings timings;
>> > +
>> > + ? int acbi; ? ? ? /* ac-bias pin transitions per interrupt */ + ? /* Unit: line
>> > clocks */ + int acb; ? ? ? ?/* ac-bias pin frequency */
>> > +
>> > + ? enum omap_panel_config config;
>> > +
>> > + ? int power_on_delay;
>> > + ? int power_off_delay;
>> > + ? /*
>> > + ? ?* Used to match device to panel configuration
>> > + ? ?* when use generic panel driver
>> > + ? ?*/
>> > + ? const char *name;
>> > +};
>> > +
>> > ?struct omap_dss_device {
>> > ? ? struct device dev;
>> >
>> > @@ -395,15 +413,7 @@ struct omap_dss_device {
>> > ? ? ? ? ? ? } venc;
>> > ? ? } phy;
>> >
>> > - ? struct {
>> > - ? ? ? ? ? struct omap_video_timings timings;
>> > -
>> > - ? ? ? ? ? int acbi; ? ? ? /* ac-bias pin transitions per
>> > interrupt */
>> > - ? ? ? ? ? /* Unit: line clocks */
>> > - ? ? ? ? ? int acb; ? ? ? ?/* ac-bias pin frequency */
>> > -
>> > - ? ? ? ? ? enum omap_panel_config config;
>> > - ? } panel;
>> > + ? struct omap_display_panel panel;
>> >
>> > ? ? struct {
>> > ? ? ? ? ? ? u8 pixel_size;
>>
>> I don't think that changing the omap_dss_device structure is the best way
>> to go about this. Members like power_on_delay and power_off_delay may not
>> be required by all types of panels. Same goes for the new "name" member since
>> its only used by the dummy dpi panels.
>>
>> I think it would be better to go with the approach taken in panel-taal.c
>> where a struct "panel_config" exists to take care of extra requirements.
>>
>> The omap_dss_device struct should contain only those members which would be
>> needed by the interface driver files like dsi.c, dpi.c etc. The rest should be
>> taken care of the panel drivers internally.
>
> Yes, the configuration for the panel is panel driver specific features,
> and should not be in the standard structs. No need to add anything to
> display.h.
>
> In fact, there are things in display.h that should be removed, and this
> configurable panel driver could do that also. omap_dss_device contains
> reset_gpio, max_backlight_level, platform_enable/disable and
> set/get_backlight, which should actually be in panel spesific struct.
>

After a quick study of panel-taal.c driver and board-4430sdp.c, I
believe we can pass the information from *data pointer of struct
omap_dss_device. And keep the all panel specific configuration in
driver.

I will keep the struct omap_dss_device untouched.

Thanks,
-Bryan

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

* Re: [PATCH 0/3] OMAP: DSS2: introduce generic panel display driver
  2010-11-03 12:59   ` Taneja, Archit
@ 2010-11-03 16:21     ` Bryan Wu
  -1 siblings, 0 replies; 18+ messages in thread
From: Bryan Wu @ 2010-11-03 16:21 UTC (permalink / raw)
  To: Taneja, Archit
  Cc: tomi.valkeinen, linux-omap, linux-arm-kernel, Gadiyar, Anand, notasas

On Wed, Nov 3, 2010 at 8:59 AM, Taneja, Archit <archit@ti.com> wrote:
> Hi,
>
> Bryan Wu <bryan.wu@canonical.com> wrote:
>> There are 4 duplicated panel drivers in DSS2 display driver.
>> They are similar and generic panel driver can support all
>> them with specific panel configuration.
>> And new panel driver can be easily supported by adding panel
>> configurations into generic panel driver.
>>
>> This patchset introduces generic panel driver, remove 3 panel
>> drivers and enable generic panel driver in board files. And
>> it is based on 2.6.37-rc1.
>>
>> Building with omap2plus_defconfig is successful.
>>
>> Keep sharp_ls_panel, since it contains blacklight control
>> code which will be moved out later.
>>
>> Bryan Wu (3):
>>   OMAP: DSS2: Add generic panel display driver
>>   OMAP: DSS2: remove generic panel driver duplicated panel drivers
>>   OMAP: use generic panel driver in board files
>>
>>  arch/arm/mach-omap2/board-3430sdp.c                |    1 +
>>  arch/arm/mach-omap2/board-am3517evm.c              |    4 +-
>>  arch/arm/mach-omap2/board-cm-t35.c                 |    4 +-
>>  arch/arm/mach-omap2/board-devkit8000.c             |    2 +
>>  arch/arm/mach-omap2/board-igep0020.c               |    1 +
>>  arch/arm/mach-omap2/board-omap3beagle.c            |    1 +
>>  arch/arm/mach-omap2/board-omap3evm.c               |    1 +
>>  arch/arm/mach-omap2/board-omap3stalker.c           |    2 +
>>  arch/arm/plat-omap/include/plat/display.h          |   28 +++-
>>  drivers/video/omap2/displays/Kconfig               |   16 +--
>>  drivers/video/omap2/displays/Makefile              |    2 -
>>  drivers/video/omap2/displays/panel-generic.c       |  153 ++++++++++++++++--
>>  .../video/omap2/displays/panel-sharp-lq043t1dg01.c |  165
>>  -------------------- .../video/omap2/displays/panel-toppoly-tdo35s.c    |
>>  164 ------------------- 14 files changed, 175 insertions(+), 369 deletions(-)
>> delete mode 100644
>> drivers/video/omap2/displays/panel-sharp-lq043t1dg01.c  delete mode 100644
>> drivers/video/omap2/displays/panel-toppoly-tdo35s.c
>
> This series will break the build if we try to compile after applying
> only the first or the first two patches of the series since things used
> by the first patch are introduced in the last patch.
>
> Archit

Got it. I will try to reorder the sequence

-- 
Bryan Wu <bryan.wu@canonical.com>
Kernel Developer    +86.138-1617-6545 Mobile
Ubuntu Kernel Team
Canonical Ltd.      www.canonical.com
Ubuntu - Linux for human beings | www.ubuntu.com
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH 0/3] OMAP: DSS2: introduce generic panel display driver
@ 2010-11-03 16:21     ` Bryan Wu
  0 siblings, 0 replies; 18+ messages in thread
From: Bryan Wu @ 2010-11-03 16:21 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Nov 3, 2010 at 8:59 AM, Taneja, Archit <archit@ti.com> wrote:
> Hi,
>
> Bryan Wu <bryan.wu@canonical.com> wrote:
>> There are 4 duplicated panel drivers in DSS2 display driver.
>> They are similar and generic panel driver can support all
>> them with specific panel configuration.
>> And new panel driver can be easily supported by adding panel
>> configurations into generic panel driver.
>>
>> This patchset introduces generic panel driver, remove 3 panel
>> drivers and enable generic panel driver in board files. And
>> it is based on 2.6.37-rc1.
>>
>> Building with omap2plus_defconfig is successful.
>>
>> Keep sharp_ls_panel, since it contains blacklight control
>> code which will be moved out later.
>>
>> Bryan Wu (3):
>> ? OMAP: DSS2: Add generic panel display driver
>> ? OMAP: DSS2: remove generic panel driver duplicated panel drivers
>> ? OMAP: use generic panel driver in board files
>>
>> ?arch/arm/mach-omap2/board-3430sdp.c ? ? ? ? ? ? ? ?| ? ?1 +
>> ?arch/arm/mach-omap2/board-am3517evm.c ? ? ? ? ? ? ?| ? ?4 +-
>> ?arch/arm/mach-omap2/board-cm-t35.c ? ? ? ? ? ? ? ? | ? ?4 +-
>> ?arch/arm/mach-omap2/board-devkit8000.c ? ? ? ? ? ? | ? ?2 +
>> ?arch/arm/mach-omap2/board-igep0020.c ? ? ? ? ? ? ? | ? ?1 +
>> ?arch/arm/mach-omap2/board-omap3beagle.c ? ? ? ? ? ?| ? ?1 +
>> ?arch/arm/mach-omap2/board-omap3evm.c ? ? ? ? ? ? ? | ? ?1 +
>> ?arch/arm/mach-omap2/board-omap3stalker.c ? ? ? ? ? | ? ?2 +
>> ?arch/arm/plat-omap/include/plat/display.h ? ? ? ? ?| ? 28 +++-
>> ?drivers/video/omap2/displays/Kconfig ? ? ? ? ? ? ? | ? 16 +--
>> ?drivers/video/omap2/displays/Makefile ? ? ? ? ? ? ?| ? ?2 -
>> ?drivers/video/omap2/displays/panel-generic.c ? ? ? | ?153 ++++++++++++++++--
>> ?.../video/omap2/displays/panel-sharp-lq043t1dg01.c | ?165
>> ?-------------------- .../video/omap2/displays/panel-toppoly-tdo35s.c ? ?|
>> ?164 ------------------- 14 files changed, 175 insertions(+), 369 deletions(-)
>> delete mode 100644
>> drivers/video/omap2/displays/panel-sharp-lq043t1dg01.c ?delete mode 100644
>> drivers/video/omap2/displays/panel-toppoly-tdo35s.c
>
> This series will break the build if we try to compile after applying
> only the first or the first two patches of the series since things used
> by the first patch are introduced in the last patch.
>
> Archit

Got it. I will try to reorder the sequence

-- 
Bryan Wu <bryan.wu@canonical.com>
Kernel Developer ? ?+86.138-1617-6545 Mobile
Ubuntu Kernel Team
Canonical Ltd. ? ? ?www.canonical.com
Ubuntu - Linux for human beings | www.ubuntu.com

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

end of thread, other threads:[~2010-11-03 16:21 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-11-02 20:39 [PATCH 0/3] OMAP: DSS2: introduce generic panel display driver Bryan Wu
2010-11-02 20:39 ` Bryan Wu
2010-11-02 20:39 ` [PATCH 1/3] OMAP: DSS2: Add " Bryan Wu
2010-11-02 20:39   ` Bryan Wu
2010-11-02 20:39 ` [PATCH 2/3] OMAP: DSS2: remove generic panel driver duplicated panel drivers Bryan Wu
2010-11-02 20:39   ` Bryan Wu
2010-11-02 20:39 ` [PATCH 3/3] OMAP: use generic panel driver in board files Bryan Wu
2010-11-02 20:39   ` Bryan Wu
2010-11-03 12:56   ` Taneja, Archit
2010-11-03 12:56     ` Taneja, Archit
2010-11-03 15:08     ` Tomi Valkeinen
2010-11-03 15:08       ` Tomi Valkeinen
2010-11-03 15:42       ` Bryan Wu
2010-11-03 15:42         ` Bryan Wu
2010-11-03 12:59 ` [PATCH 0/3] OMAP: DSS2: introduce generic panel display driver Taneja, Archit
2010-11-03 12:59   ` Taneja, Archit
2010-11-03 16:21   ` Bryan Wu
2010-11-03 16:21     ` Bryan Wu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.