linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/7] OMAP: DSS: porting old drivers to DSS2
@ 2011-05-04 12:27 Tomi Valkeinen
  2011-05-04 12:27 ` [PATCH 1/7] OMAP: OMAPFB: Remove unused lcd drivers Tomi Valkeinen
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: Tomi Valkeinen @ 2011-05-04 12:27 UTC (permalink / raw)
  To: linux-omap, linux-fbdev; +Cc: Tomi Valkeinen

This patch set ports all the OMAP2/3 boards, except N8x0, that use the old
omapfb to use the newer DSS2 driver.

Some board files contained old omapfb code, but there wasn't a matching LCD
driver. That board file code is also removed.

Porting N800 driver is more complicated, as the blizzard chip driver is quite
big and includes features that cannot be supported in DSS2 currently. I will
post patches for that later.

I don't have any of the boards touched by these patches, so testing is
appreciated.

 Tomi

Tomi Valkeinen (7):
  OMAP: OMAPFB: Remove unused lcd drivers
  OMAP: RX51: Remove unused old omapfb stuff
  OMAP: omap3touchbook: Remove unused lcd stuff
  OMAP: 2420SDP: Port the display driver to new DSS2
  OMAP: LDP: Port the display driver to new DSS2
  OMAP: H4: Port the display driver to new DSS2
  OMAP: Apollon: Port the display driver to new DSS2

 arch/arm/mach-omap2/board-2430sdp.c              |   84 ++++++++--
 arch/arm/mach-omap2/board-apollon.c              |   34 +++--
 arch/arm/mach-omap2/board-h4.c                   |   41 +++--
 arch/arm/mach-omap2/board-ldp.c                  |   73 +++++++-
 arch/arm/mach-omap2/board-omap3touchbook.c       |   18 --
 arch/arm/mach-omap2/board-rx51.c                 |   25 ---
 drivers/video/omap/Makefile                      |    9 -
 drivers/video/omap/lcd_2430sdp.c                 |  203 ----------------------
 drivers/video/omap/lcd_apollon.c                 |  136 ---------------
 drivers/video/omap/lcd_h4.c                      |  117 -------------
 drivers/video/omap/lcd_ldp.c                     |  201 ---------------------
 drivers/video/omap/lcd_omap2evm.c                |  192 --------------------
 drivers/video/omap/lcd_omap3beagle.c             |  130 --------------
 drivers/video/omap/lcd_omap3evm.c                |  193 --------------------
 drivers/video/omap/lcd_overo.c                   |  180 -------------------
 drivers/video/omap2/displays/panel-generic-dpi.c |   64 +++++++
 16 files changed, 244 insertions(+), 1456 deletions(-)
 delete mode 100644 drivers/video/omap/lcd_2430sdp.c
 delete mode 100644 drivers/video/omap/lcd_apollon.c
 delete mode 100644 drivers/video/omap/lcd_h4.c
 delete mode 100644 drivers/video/omap/lcd_ldp.c
 delete mode 100644 drivers/video/omap/lcd_omap2evm.c
 delete mode 100644 drivers/video/omap/lcd_omap3beagle.c
 delete mode 100644 drivers/video/omap/lcd_omap3evm.c
 delete mode 100644 drivers/video/omap/lcd_overo.c

-- 
1.7.4.1


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

* [PATCH 1/7] OMAP: OMAPFB: Remove unused lcd drivers
  2011-05-04 12:27 [PATCH 0/7] OMAP: DSS: porting old drivers to DSS2 Tomi Valkeinen
@ 2011-05-04 12:27 ` Tomi Valkeinen
  2011-05-04 12:44   ` Steve Sakoman
  2011-05-04 13:43   ` Koen Kooi
  2011-05-04 12:27 ` [PATCH 2/7] OMAP: RX51: Remove unused old omapfb stuff Tomi Valkeinen
                   ` (5 subsequent siblings)
  6 siblings, 2 replies; 10+ messages in thread
From: Tomi Valkeinen @ 2011-05-04 12:27 UTC (permalink / raw)
  To: linux-omap, linux-fbdev; +Cc: Tomi Valkeinen, Arun C, Koen Kooi, Steve Sakoman

drivers/video/omap/ contains some lcd drivers which are not used by any
board. They can be removed.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Arun C <arunedarath@mistralsolutions.com>
Cc: Koen Kooi <koen@openembedded.org>
Cc: Steve Sakoman <steve@sakoman.com>
---
 drivers/video/omap/Makefile          |    4 -
 drivers/video/omap/lcd_omap2evm.c    |  192 ---------------------------------
 drivers/video/omap/lcd_omap3beagle.c |  130 -----------------------
 drivers/video/omap/lcd_omap3evm.c    |  193 ----------------------------------
 drivers/video/omap/lcd_overo.c       |  180 -------------------------------
 5 files changed, 0 insertions(+), 699 deletions(-)
 delete mode 100644 drivers/video/omap/lcd_omap2evm.c
 delete mode 100644 drivers/video/omap/lcd_omap3beagle.c
 delete mode 100644 drivers/video/omap/lcd_omap3evm.c
 delete mode 100644 drivers/video/omap/lcd_overo.c

diff --git a/drivers/video/omap/Makefile b/drivers/video/omap/Makefile
index 49226a1..8eec6d7 100644
--- a/drivers/video/omap/Makefile
+++ b/drivers/video/omap/Makefile
@@ -30,11 +30,7 @@ objs-y$(CONFIG_MACH_OMAP_APOLLON) += lcd_apollon.o
 objs-y$(CONFIG_MACH_OMAP_2430SDP) += lcd_2430sdp.o
 objs-y$(CONFIG_MACH_OMAP_3430SDP) += lcd_2430sdp.o
 objs-y$(CONFIG_MACH_OMAP_LDP) += lcd_ldp.o
-objs-y$(CONFIG_MACH_OMAP2EVM) += lcd_omap2evm.o
-objs-y$(CONFIG_MACH_OMAP3EVM) += lcd_omap3evm.o
-objs-y$(CONFIG_MACH_OMAP3_BEAGLE) += lcd_omap3beagle.o
 objs-y$(CONFIG_FB_OMAP_LCD_MIPID) += lcd_mipid.o
-objs-y$(CONFIG_MACH_OVERO) += lcd_overo.o
 objs-y$(CONFIG_MACH_HERALD) += lcd_htcherald.o
 
 omapfb-objs := $(objs-yy)
diff --git a/drivers/video/omap/lcd_omap2evm.c b/drivers/video/omap/lcd_omap2evm.c
deleted file mode 100644
index 7e7a65c..0000000
--- a/drivers/video/omap/lcd_omap2evm.c
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * LCD panel support for the MISTRAL OMAP2EVM board
- *
- * Author: Arun C <arunedarath@mistralsolutions.com>
- *
- * Derived from drivers/video/omap/lcd_omap3evm.c
- * Derived from drivers/video/omap/lcd-apollon.c
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * 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, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
- */
-
-#include <linux/module.h>
-#include <linux/platform_device.h>
-#include <linux/gpio.h>
-#include <linux/i2c/twl.h>
-
-#include <plat/mux.h>
-#include <asm/mach-types.h>
-
-#include "omapfb.h"
-
-#define LCD_PANEL_ENABLE_GPIO	154
-#define LCD_PANEL_LR		128
-#define LCD_PANEL_UD		129
-#define LCD_PANEL_INI		152
-#define LCD_PANEL_QVGA		148
-#define LCD_PANEL_RESB		153
-
-#define TWL_LED_LEDEN		0x00
-#define TWL_PWMA_PWMAON		0x00
-#define TWL_PWMA_PWMAOFF	0x01
-
-static unsigned int bklight_level;
-
-static int omap2evm_panel_init(struct lcd_panel *panel,
-				struct omapfb_device *fbdev)
-{
-	gpio_request(LCD_PANEL_ENABLE_GPIO, "LCD enable");
-	gpio_request(LCD_PANEL_LR, "LCD lr");
-	gpio_request(LCD_PANEL_UD, "LCD ud");
-	gpio_request(LCD_PANEL_INI, "LCD ini");
-	gpio_request(LCD_PANEL_QVGA, "LCD qvga");
-	gpio_request(LCD_PANEL_RESB, "LCD resb");
-
-	gpio_direction_output(LCD_PANEL_ENABLE_GPIO, 1);
-	gpio_direction_output(LCD_PANEL_RESB, 1);
-	gpio_direction_output(LCD_PANEL_INI, 1);
-	gpio_direction_output(LCD_PANEL_QVGA, 0);
-	gpio_direction_output(LCD_PANEL_LR, 1);
-	gpio_direction_output(LCD_PANEL_UD, 1);
-
-	twl_i2c_write_u8(TWL4030_MODULE_LED, 0x11, TWL_LED_LEDEN);
-	twl_i2c_write_u8(TWL4030_MODULE_PWMA, 0x01, TWL_PWMA_PWMAON);
-	twl_i2c_write_u8(TWL4030_MODULE_PWMA, 0x02, TWL_PWMA_PWMAOFF);
-	bklight_level = 100;
-
-	return 0;
-}
-
-static void omap2evm_panel_cleanup(struct lcd_panel *panel)
-{
-	gpio_free(LCD_PANEL_RESB);
-	gpio_free(LCD_PANEL_QVGA);
-	gpio_free(LCD_PANEL_INI);
-	gpio_free(LCD_PANEL_UD);
-	gpio_free(LCD_PANEL_LR);
-	gpio_free(LCD_PANEL_ENABLE_GPIO);
-}
-
-static int omap2evm_panel_enable(struct lcd_panel *panel)
-{
-	gpio_set_value(LCD_PANEL_ENABLE_GPIO, 0);
-	return 0;
-}
-
-static void omap2evm_panel_disable(struct lcd_panel *panel)
-{
-	gpio_set_value(LCD_PANEL_ENABLE_GPIO, 1);
-}
-
-static unsigned long omap2evm_panel_get_caps(struct lcd_panel *panel)
-{
-	return 0;
-}
-
-static int omap2evm_bklight_setlevel(struct lcd_panel *panel,
-						unsigned int level)
-{
-	u8 c;
-	if ((level >= 0) && (level <= 100)) {
-		c = (125 * (100 - level)) / 100 + 2;
-		twl_i2c_write_u8(TWL4030_MODULE_PWMA, c, TWL_PWMA_PWMAOFF);
-		bklight_level = level;
-	}
-	return 0;
-}
-
-static unsigned int omap2evm_bklight_getlevel(struct lcd_panel *panel)
-{
-	return bklight_level;
-}
-
-static unsigned int omap2evm_bklight_getmaxlevel(struct lcd_panel *panel)
-{
-	return 100;
-}
-
-struct lcd_panel omap2evm_panel = {
-	.name		= "omap2evm",
-	.config		= OMAP_LCDC_PANEL_TFT | OMAP_LCDC_INV_VSYNC |
-			  OMAP_LCDC_INV_HSYNC,
-
-	.bpp		= 16,
-	.data_lines	= 18,
-	.x_res		= 480,
-	.y_res		= 640,
-	.hsw		= 3,
-	.hfp		= 0,
-	.hbp		= 28,
-	.vsw		= 2,
-	.vfp		= 1,
-	.vbp		= 0,
-
-	.pixel_clock	= 20000,
-
-	.init		= omap2evm_panel_init,
-	.cleanup	= omap2evm_panel_cleanup,
-	.enable		= omap2evm_panel_enable,
-	.disable	= omap2evm_panel_disable,
-	.get_caps	= omap2evm_panel_get_caps,
-	.set_bklight_level      = omap2evm_bklight_setlevel,
-	.get_bklight_level      = omap2evm_bklight_getlevel,
-	.get_bklight_max        = omap2evm_bklight_getmaxlevel,
-};
-
-static int omap2evm_panel_probe(struct platform_device *pdev)
-{
-	omapfb_register_panel(&omap2evm_panel);
-	return 0;
-}
-
-static int omap2evm_panel_remove(struct platform_device *pdev)
-{
-	return 0;
-}
-
-static int omap2evm_panel_suspend(struct platform_device *pdev,
-				   pm_message_t mesg)
-{
-	return 0;
-}
-
-static int omap2evm_panel_resume(struct platform_device *pdev)
-{
-	return 0;
-}
-
-struct platform_driver omap2evm_panel_driver = {
-	.probe		= omap2evm_panel_probe,
-	.remove		= omap2evm_panel_remove,
-	.suspend	= omap2evm_panel_suspend,
-	.resume		= omap2evm_panel_resume,
-	.driver		= {
-		.name	= "omap2evm_lcd",
-		.owner	= THIS_MODULE,
-	},
-};
-
-static int __init omap2evm_panel_drv_init(void)
-{
-	return platform_driver_register(&omap2evm_panel_driver);
-}
-
-static void __exit omap2evm_panel_drv_exit(void)
-{
-	platform_driver_unregister(&omap2evm_panel_driver);
-}
-
-module_init(omap2evm_panel_drv_init);
-module_exit(omap2evm_panel_drv_exit);
diff --git a/drivers/video/omap/lcd_omap3beagle.c b/drivers/video/omap/lcd_omap3beagle.c
deleted file mode 100644
index d7c6c3e..0000000
--- a/drivers/video/omap/lcd_omap3beagle.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * LCD panel support for the TI OMAP3 Beagle board
- *
- * Author: Koen Kooi <koen@openembedded.org>
- *
- * Derived from drivers/video/omap/lcd-omap3evm.c
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * 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, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
- */
-
-#include <linux/module.h>
-#include <linux/platform_device.h>
-#include <linux/gpio.h>
-#include <linux/i2c/twl.h>
-
-#include <asm/mach-types.h>
-
-#include "omapfb.h"
-
-#define LCD_PANEL_ENABLE_GPIO       170
-
-static int omap3beagle_panel_init(struct lcd_panel *panel,
-				struct omapfb_device *fbdev)
-{
-	gpio_request(LCD_PANEL_ENABLE_GPIO, "LCD enable");
-	return 0;
-}
-
-static void omap3beagle_panel_cleanup(struct lcd_panel *panel)
-{
-	gpio_free(LCD_PANEL_ENABLE_GPIO);
-}
-
-static int omap3beagle_panel_enable(struct lcd_panel *panel)
-{
-	gpio_set_value(LCD_PANEL_ENABLE_GPIO, 1);
-	return 0;
-}
-
-static void omap3beagle_panel_disable(struct lcd_panel *panel)
-{
-	gpio_set_value(LCD_PANEL_ENABLE_GPIO, 0);
-}
-
-static unsigned long omap3beagle_panel_get_caps(struct lcd_panel *panel)
-{
-	return 0;
-}
-
-struct lcd_panel omap3beagle_panel = {
-	.name		= "omap3beagle",
-	.config		= OMAP_LCDC_PANEL_TFT,
-
-	.bpp		= 16,
-	.data_lines	= 24,
-	.x_res		= 1024,
-	.y_res		= 768,
-	.hsw		= 3,		/* hsync_len (4) - 1 */
-	.hfp		= 3,		/* right_margin (4) - 1 */
-	.hbp		= 39,		/* left_margin (40) - 1 */
-	.vsw		= 1,		/* vsync_len (2) - 1 */
-	.vfp		= 2,		/* lower_margin */
-	.vbp		= 7,		/* upper_margin (8) - 1 */
-
-	.pixel_clock	= 64000,
-
-	.init		= omap3beagle_panel_init,
-	.cleanup	= omap3beagle_panel_cleanup,
-	.enable		= omap3beagle_panel_enable,
-	.disable	= omap3beagle_panel_disable,
-	.get_caps	= omap3beagle_panel_get_caps,
-};
-
-static int omap3beagle_panel_probe(struct platform_device *pdev)
-{
-	omapfb_register_panel(&omap3beagle_panel);
-	return 0;
-}
-
-static int omap3beagle_panel_remove(struct platform_device *pdev)
-{
-	return 0;
-}
-
-static int omap3beagle_panel_suspend(struct platform_device *pdev,
-				   pm_message_t mesg)
-{
-	return 0;
-}
-
-static int omap3beagle_panel_resume(struct platform_device *pdev)
-{
-	return 0;
-}
-
-struct platform_driver omap3beagle_panel_driver = {
-	.probe		= omap3beagle_panel_probe,
-	.remove		= omap3beagle_panel_remove,
-	.suspend	= omap3beagle_panel_suspend,
-	.resume		= omap3beagle_panel_resume,
-	.driver		= {
-		.name	= "omap3beagle_lcd",
-		.owner	= THIS_MODULE,
-	},
-};
-
-static int __init omap3beagle_panel_drv_init(void)
-{
-	return platform_driver_register(&omap3beagle_panel_driver);
-}
-
-static void __exit omap3beagle_panel_drv_exit(void)
-{
-	platform_driver_unregister(&omap3beagle_panel_driver);
-}
-
-module_init(omap3beagle_panel_drv_init);
-module_exit(omap3beagle_panel_drv_exit);
diff --git a/drivers/video/omap/lcd_omap3evm.c b/drivers/video/omap/lcd_omap3evm.c
deleted file mode 100644
index 06840da..0000000
--- a/drivers/video/omap/lcd_omap3evm.c
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * LCD panel support for the TI OMAP3 EVM board
- *
- * Author: Steve Sakoman <steve@sakoman.com>
- *
- * Derived from drivers/video/omap/lcd-apollon.c
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * 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, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
- */
-
-#include <linux/module.h>
-#include <linux/platform_device.h>
-#include <linux/gpio.h>
-#include <linux/i2c/twl.h>
-
-#include <plat/mux.h>
-#include <asm/mach-types.h>
-
-#include "omapfb.h"
-
-#define LCD_PANEL_ENABLE_GPIO       153
-#define LCD_PANEL_LR                2
-#define LCD_PANEL_UD                3
-#define LCD_PANEL_INI               152
-#define LCD_PANEL_QVGA              154
-#define LCD_PANEL_RESB              155
-
-#define ENABLE_VDAC_DEDICATED	0x03
-#define ENABLE_VDAC_DEV_GRP	0x20
-#define ENABLE_VPLL2_DEDICATED	0x05
-#define ENABLE_VPLL2_DEV_GRP	0xE0
-
-#define TWL_LED_LEDEN		0x00
-#define TWL_PWMA_PWMAON		0x00
-#define TWL_PWMA_PWMAOFF	0x01
-
-static unsigned int bklight_level;
-
-static int omap3evm_panel_init(struct lcd_panel *panel,
-				struct omapfb_device *fbdev)
-{
-	gpio_request(LCD_PANEL_LR, "LCD lr");
-	gpio_request(LCD_PANEL_UD, "LCD ud");
-	gpio_request(LCD_PANEL_INI, "LCD ini");
-	gpio_request(LCD_PANEL_RESB, "LCD resb");
-	gpio_request(LCD_PANEL_QVGA, "LCD qvga");
-
-	gpio_direction_output(LCD_PANEL_RESB, 1);
-	gpio_direction_output(LCD_PANEL_INI, 1);
-	gpio_direction_output(LCD_PANEL_QVGA, 0);
-	gpio_direction_output(LCD_PANEL_LR, 1);
-	gpio_direction_output(LCD_PANEL_UD, 1);
-
-	twl_i2c_write_u8(TWL4030_MODULE_LED, 0x11, TWL_LED_LEDEN);
-	twl_i2c_write_u8(TWL4030_MODULE_PWMA, 0x01, TWL_PWMA_PWMAON);
-	twl_i2c_write_u8(TWL4030_MODULE_PWMA, 0x02, TWL_PWMA_PWMAOFF);
-	bklight_level = 100;
-
-	return 0;
-}
-
-static void omap3evm_panel_cleanup(struct lcd_panel *panel)
-{
-	gpio_free(LCD_PANEL_QVGA);
-	gpio_free(LCD_PANEL_RESB);
-	gpio_free(LCD_PANEL_INI);
-	gpio_free(LCD_PANEL_UD);
-	gpio_free(LCD_PANEL_LR);
-}
-
-static int omap3evm_panel_enable(struct lcd_panel *panel)
-{
-	gpio_set_value(LCD_PANEL_ENABLE_GPIO, 0);
-	return 0;
-}
-
-static void omap3evm_panel_disable(struct lcd_panel *panel)
-{
-	gpio_set_value(LCD_PANEL_ENABLE_GPIO, 1);
-}
-
-static unsigned long omap3evm_panel_get_caps(struct lcd_panel *panel)
-{
-	return 0;
-}
-
-static int omap3evm_bklight_setlevel(struct lcd_panel *panel,
-						unsigned int level)
-{
-	u8 c;
-	if ((level >= 0) && (level <= 100)) {
-		c = (125 * (100 - level)) / 100 + 2;
-		twl_i2c_write_u8(TWL4030_MODULE_PWMA, c, TWL_PWMA_PWMAOFF);
-		bklight_level = level;
-	}
-	return 0;
-}
-
-static unsigned int omap3evm_bklight_getlevel(struct lcd_panel *panel)
-{
-	return bklight_level;
-}
-
-static unsigned int omap3evm_bklight_getmaxlevel(struct lcd_panel *panel)
-{
-	return 100;
-}
-
-struct lcd_panel omap3evm_panel = {
-	.name		= "omap3evm",
-	.config		= OMAP_LCDC_PANEL_TFT | OMAP_LCDC_INV_VSYNC |
-			  OMAP_LCDC_INV_HSYNC,
-
-	.bpp		= 16,
-	.data_lines	= 18,
-	.x_res		= 480,
-	.y_res		= 640,
-	.hsw		= 3,		/* hsync_len (4) - 1 */
-	.hfp		= 3,		/* right_margin (4) - 1 */
-	.hbp		= 39,		/* left_margin (40) - 1 */
-	.vsw		= 1,		/* vsync_len (2) - 1 */
-	.vfp		= 2,		/* lower_margin */
-	.vbp		= 7,		/* upper_margin (8) - 1 */
-
-	.pixel_clock	= 26000,
-
-	.init		= omap3evm_panel_init,
-	.cleanup	= omap3evm_panel_cleanup,
-	.enable		= omap3evm_panel_enable,
-	.disable	= omap3evm_panel_disable,
-	.get_caps	= omap3evm_panel_get_caps,
-	.set_bklight_level      = omap3evm_bklight_setlevel,
-	.get_bklight_level      = omap3evm_bklight_getlevel,
-	.get_bklight_max        = omap3evm_bklight_getmaxlevel,
-};
-
-static int omap3evm_panel_probe(struct platform_device *pdev)
-{
-	omapfb_register_panel(&omap3evm_panel);
-	return 0;
-}
-
-static int omap3evm_panel_remove(struct platform_device *pdev)
-{
-	return 0;
-}
-
-static int omap3evm_panel_suspend(struct platform_device *pdev,
-				   pm_message_t mesg)
-{
-	return 0;
-}
-
-static int omap3evm_panel_resume(struct platform_device *pdev)
-{
-	return 0;
-}
-
-struct platform_driver omap3evm_panel_driver = {
-	.probe		= omap3evm_panel_probe,
-	.remove		= omap3evm_panel_remove,
-	.suspend	= omap3evm_panel_suspend,
-	.resume		= omap3evm_panel_resume,
-	.driver		= {
-		.name	= "omap3evm_lcd",
-		.owner	= THIS_MODULE,
-	},
-};
-
-static int __init omap3evm_panel_drv_init(void)
-{
-	return platform_driver_register(&omap3evm_panel_driver);
-}
-
-static void __exit omap3evm_panel_drv_exit(void)
-{
-	platform_driver_unregister(&omap3evm_panel_driver);
-}
-
-module_init(omap3evm_panel_drv_init);
-module_exit(omap3evm_panel_drv_exit);
diff --git a/drivers/video/omap/lcd_overo.c b/drivers/video/omap/lcd_overo.c
deleted file mode 100644
index 564933f..0000000
--- a/drivers/video/omap/lcd_overo.c
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * LCD panel support for the Gumstix Overo
- *
- * Author: Steve Sakoman <steve@sakoman.com>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * 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, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
- *
- */
-
-#include <linux/module.h>
-#include <linux/platform_device.h>
-#include <linux/i2c/twl.h>
-
-#include <mach/gpio.h>
-#include <plat/mux.h>
-#include <asm/mach-types.h>
-
-#include "omapfb.h"
-
-#define LCD_ENABLE       144
-
-static int overo_panel_init(struct lcd_panel *panel,
-				struct omapfb_device *fbdev)
-{
-	if ((gpio_request(LCD_ENABLE, "LCD_ENABLE") == 0) &&
-	    (gpio_direction_output(LCD_ENABLE, 1) == 0))
-		gpio_export(LCD_ENABLE, 0);
-	else
-		printk(KERN_ERR "could not obtain gpio for LCD_ENABLE\n");
-
-	return 0;
-}
-
-static void overo_panel_cleanup(struct lcd_panel *panel)
-{
-	gpio_free(LCD_ENABLE);
-}
-
-static int overo_panel_enable(struct lcd_panel *panel)
-{
-	gpio_set_value(LCD_ENABLE, 1);
-	return 0;
-}
-
-static void overo_panel_disable(struct lcd_panel *panel)
-{
-	gpio_set_value(LCD_ENABLE, 0);
-}
-
-static unsigned long overo_panel_get_caps(struct lcd_panel *panel)
-{
-	return 0;
-}
-
-struct lcd_panel overo_panel = {
-	.name		= "overo",
-	.config		= OMAP_LCDC_PANEL_TFT,
-	.bpp		= 16,
-	.data_lines	= 24,
-
-#if defined CONFIG_FB_OMAP_031M3R
-
-	/* 640 x 480 @ 60 Hz  Reduced blanking VESA CVT 0.31M3-R */
-	.x_res		= 640,
-	.y_res		= 480,
-	.hfp		= 48,
-	.hsw		= 32,
-	.hbp		= 80,
-	.vfp		= 3,
-	.vsw		= 4,
-	.vbp		= 7,
-	.pixel_clock	= 23500,
-
-#elif defined CONFIG_FB_OMAP_048M3R
-
-	/* 800 x 600 @ 60 Hz  Reduced blanking VESA CVT 0.48M3-R */
-	.x_res		= 800,
-	.y_res		= 600,
-	.hfp		= 48,
-	.hsw		= 32,
-	.hbp		= 80,
-	.vfp		= 3,
-	.vsw		= 4,
-	.vbp		= 11,
-	.pixel_clock	= 35500,
-
-#elif defined CONFIG_FB_OMAP_079M3R
-
-	/* 1024 x 768 @ 60 Hz  Reduced blanking VESA CVT 0.79M3-R */
-	.x_res		= 1024,
-	.y_res		= 768,
-	.hfp		= 48,
-	.hsw		= 32,
-	.hbp		= 80,
-	.vfp		= 3,
-	.vsw		= 4,
-	.vbp		= 15,
-	.pixel_clock	= 56000,
-
-#elif defined CONFIG_FB_OMAP_092M9R
-
-	/* 1280 x 720 @ 60 Hz  Reduced blanking VESA CVT 0.92M9-R */
-	.x_res		= 1280,
-	.y_res		= 720,
-	.hfp		= 48,
-	.hsw		= 32,
-	.hbp		= 80,
-	.vfp		= 3,
-	.vsw		= 5,
-	.vbp		= 13,
-	.pixel_clock	= 64000,
-
-#else
-
-	/* use 640 x 480 if no config option */
-	/* 640 x 480 @ 60 Hz  Reduced blanking VESA CVT 0.31M3-R */
-	.x_res		= 640,
-	.y_res		= 480,
-	.hfp		= 48,
-	.hsw		= 32,
-	.hbp		= 80,
-	.vfp		= 3,
-	.vsw		= 4,
-	.vbp		= 7,
-	.pixel_clock	= 23500,
-
-#endif
-
-	.init		= overo_panel_init,
-	.cleanup	= overo_panel_cleanup,
-	.enable		= overo_panel_enable,
-	.disable	= overo_panel_disable,
-	.get_caps	= overo_panel_get_caps,
-};
-
-static int overo_panel_probe(struct platform_device *pdev)
-{
-	omapfb_register_panel(&overo_panel);
-	return 0;
-}
-
-static int overo_panel_remove(struct platform_device *pdev)
-{
-	/* omapfb does not have unregister_panel */
-	return 0;
-}
-
-static struct platform_driver overo_panel_driver = {
-	.probe		= overo_panel_probe,
-	.remove		= overo_panel_remove,
-	.driver		= {
-		.name	= "overo_lcd",
-		.owner	= THIS_MODULE,
-	},
-};
-
-static int __init overo_panel_drv_init(void)
-{
-	return platform_driver_register(&overo_panel_driver);
-}
-
-static void __exit overo_panel_drv_exit(void)
-{
-	platform_driver_unregister(&overo_panel_driver);
-}
-
-module_init(overo_panel_drv_init);
-module_exit(overo_panel_drv_exit);
-- 
1.7.4.1


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

* [PATCH 2/7] OMAP: RX51: Remove unused old omapfb stuff
  2011-05-04 12:27 [PATCH 0/7] OMAP: DSS: porting old drivers to DSS2 Tomi Valkeinen
  2011-05-04 12:27 ` [PATCH 1/7] OMAP: OMAPFB: Remove unused lcd drivers Tomi Valkeinen
@ 2011-05-04 12:27 ` Tomi Valkeinen
  2011-05-04 12:27 ` [PATCH 3/7] OMAP: omap3touchbook: Remove unused lcd stuff Tomi Valkeinen
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Tomi Valkeinen @ 2011-05-04 12:27 UTC (permalink / raw)
  To: linux-omap, linux-fbdev; +Cc: Tomi Valkeinen

RX51 uses the new DSS2 display driver, but the board file still
contained some code for the old omapfb driver. The old code can be
removed.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
---
 arch/arm/mach-omap2/board-rx51.c |   25 -------------------------
 1 files changed, 0 insertions(+), 25 deletions(-)

diff --git a/arch/arm/mach-omap2/board-rx51.c b/arch/arm/mach-omap2/board-rx51.c
index e964895..116e19b 100644
--- a/arch/arm/mach-omap2/board-rx51.c
+++ b/arch/arm/mach-omap2/board-rx51.c
@@ -75,29 +75,6 @@ static struct cpuidle_params rx51_cpuidle_params[] = {
 	{1, 7505, 15274, 484329},
 };
 
-static struct omap_lcd_config rx51_lcd_config = {
-	.ctrl_name	= "internal",
-};
-
-static struct omap_fbmem_config rx51_fbmem0_config = {
-	.size = 752 * 1024,
-};
-
-static struct omap_fbmem_config rx51_fbmem1_config = {
-	.size = 752 * 1024,
-};
-
-static struct omap_fbmem_config rx51_fbmem2_config = {
-	.size = 752 * 1024,
-};
-
-static struct omap_board_config_kernel rx51_config[] = {
-	{ OMAP_TAG_FBMEM,	&rx51_fbmem0_config },
-	{ OMAP_TAG_FBMEM,	&rx51_fbmem1_config },
-	{ OMAP_TAG_FBMEM,	&rx51_fbmem2_config },
-	{ OMAP_TAG_LCD,		&rx51_lcd_config },
-};
-
 static void __init rx51_init_early(void)
 {
 	struct omap_sdrc_params *sdrc_params;
@@ -124,8 +101,6 @@ static struct omap_musb_board_data musb_board_data = {
 static void __init rx51_init(void)
 {
 	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
-	omap_board_config = rx51_config;
-	omap_board_config_size = ARRAY_SIZE(rx51_config);
 	omap3_pm_init_cpuidle(rx51_cpuidle_params);
 	omap_serial_init();
 	usb_musb_init(&musb_board_data);
-- 
1.7.4.1


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

* [PATCH 3/7] OMAP: omap3touchbook: Remove unused lcd stuff
  2011-05-04 12:27 [PATCH 0/7] OMAP: DSS: porting old drivers to DSS2 Tomi Valkeinen
  2011-05-04 12:27 ` [PATCH 1/7] OMAP: OMAPFB: Remove unused lcd drivers Tomi Valkeinen
  2011-05-04 12:27 ` [PATCH 2/7] OMAP: RX51: Remove unused old omapfb stuff Tomi Valkeinen
@ 2011-05-04 12:27 ` Tomi Valkeinen
  2011-05-04 12:27 ` [PATCH 4/7] OMAP: 2420SDP: Port the display driver to new DSS2 Tomi Valkeinen
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Tomi Valkeinen @ 2011-05-04 12:27 UTC (permalink / raw)
  To: linux-omap, linux-fbdev; +Cc: Tomi Valkeinen, Gregoire Gentil

board-omap3touchbook.c adds an LCD device, but the kernel doesn't
contain a driver for the device. So let's remove the unneeded LCD
device.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Gregoire Gentil <gregoire@gentil.com>
---
 arch/arm/mach-omap2/board-omap3touchbook.c |   18 ------------------
 1 files changed, 0 insertions(+), 18 deletions(-)

diff --git a/arch/arm/mach-omap2/board-omap3touchbook.c b/arch/arm/mach-omap2/board-omap3touchbook.c
index 127cb17..1c717a4 100644
--- a/arch/arm/mach-omap2/board-omap3touchbook.c
+++ b/arch/arm/mach-omap2/board-omap3touchbook.c
@@ -115,15 +115,6 @@ static struct omap2_hsmmc_info mmc[] = {
 	{}	/* Terminator */
 };
 
-static struct platform_device omap3_touchbook_lcd_device = {
-	.name		= "omap3touchbook_lcd",
-	.id		= -1,
-};
-
-static struct omap_lcd_config omap3_touchbook_lcd_config __initdata = {
-	.ctrl_name	= "internal",
-};
-
 static struct regulator_consumer_supply touchbook_vmmc1_supply = {
 	.supply			= "vmmc",
 };
@@ -181,12 +172,10 @@ static struct twl4030_gpio_platform_data touchbook_gpio_data = {
 
 static struct regulator_consumer_supply touchbook_vdac_supply = {
 	.supply		= "vdac",
-	.dev		= &omap3_touchbook_lcd_device.dev,
 };
 
 static struct regulator_consumer_supply touchbook_vdvi_supply = {
 	.supply		= "vdvi",
-	.dev		= &omap3_touchbook_lcd_device.dev,
 };
 
 /* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
@@ -403,10 +392,6 @@ static struct platform_device keys_gpio = {
 	},
 };
 
-static struct omap_board_config_kernel omap3_touchbook_config[] __initdata = {
-	{ OMAP_TAG_LCD,		&omap3_touchbook_lcd_config },
-};
-
 #ifdef CONFIG_OMAP_MUX
 static struct omap_board_mux board_mux[] __initdata = {
 	{ .reg_offset = OMAP_MUX_TERMINATOR },
@@ -429,7 +414,6 @@ static void __init omap3_touchbook_init_irq(void)
 }
 
 static struct platform_device *omap3_touchbook_devices[] __initdata = {
-	&omap3_touchbook_lcd_device,
 	&leds_gpio,
 	&keys_gpio,
 };
@@ -510,8 +494,6 @@ static struct omap_musb_board_data musb_board_data = {
 static void __init omap3_touchbook_init(void)
 {
 	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
-	omap_board_config = omap3_touchbook_config;
-	omap_board_config_size = ARRAY_SIZE(omap3_touchbook_config);
 
 	pm_power_off = omap3_touchbook_poweroff;
 
-- 
1.7.4.1


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

* [PATCH 4/7] OMAP: 2420SDP: Port the display driver to new DSS2
  2011-05-04 12:27 [PATCH 0/7] OMAP: DSS: porting old drivers to DSS2 Tomi Valkeinen
                   ` (2 preceding siblings ...)
  2011-05-04 12:27 ` [PATCH 3/7] OMAP: omap3touchbook: Remove unused lcd stuff Tomi Valkeinen
@ 2011-05-04 12:27 ` Tomi Valkeinen
  2011-05-04 12:27 ` [PATCH 5/7] OMAP: LDP: " Tomi Valkeinen
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Tomi Valkeinen @ 2011-05-04 12:27 UTC (permalink / raw)
  To: linux-omap, linux-fbdev; +Cc: Tomi Valkeinen, Hunyue Yau

Port the old omapfb panel driver to DSS2 and change the board file
accordingly.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Hunyue Yau <hyau@mvista.com>
---
 arch/arm/mach-omap2/board-2430sdp.c              |   84 ++++++++--
 drivers/video/omap/Makefile                      |    2 -
 drivers/video/omap/lcd_2430sdp.c                 |  203 ----------------------
 drivers/video/omap2/displays/panel-generic-dpi.c |   21 +++
 4 files changed, 91 insertions(+), 219 deletions(-)
 delete mode 100644 drivers/video/omap/lcd_2430sdp.c

diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c
index 1fa6bb8..9b6e987 100644
--- a/arch/arm/mach-omap2/board-2430sdp.c
+++ b/arch/arm/mach-omap2/board-2430sdp.c
@@ -38,6 +38,8 @@
 #include <plat/gpmc.h>
 #include <plat/usb.h>
 #include <plat/gpmc-smc91x.h>
+#include <plat/display.h>
+#include <plat/panel-generic-dpi.h>
 
 #include "mux.h"
 #include "hsmmc.h"
@@ -98,20 +100,79 @@ static struct platform_device sdp2430_flash_device = {
 	.resource	= &sdp2430_flash_resource,
 };
 
-static struct platform_device sdp2430_lcd_device = {
-	.name		= "sdp2430_lcd",
-	.id		= -1,
-};
-
 static struct platform_device *sdp2430_devices[] __initdata = {
 	&sdp2430_flash_device,
+};
+
+/* LCD */
+#define SDP2430_LCD_PANEL_BACKLIGHT_GPIO	91
+#define SDP2430_LCD_PANEL_ENABLE_GPIO		154
+
+static int sdp2430_panel_enable_lcd(struct omap_dss_device *dssdev)
+{
+	gpio_direction_output(SDP2430_LCD_PANEL_ENABLE_GPIO, 1);
+	gpio_direction_output(SDP2430_LCD_PANEL_BACKLIGHT_GPIO, 1);
+
+	return 0;
+}
+
+static void sdp2430_panel_disable_lcd(struct omap_dss_device *dssdev)
+{
+	gpio_direction_output(SDP2430_LCD_PANEL_ENABLE_GPIO, 0);
+	gpio_direction_output(SDP2430_LCD_PANEL_BACKLIGHT_GPIO, 0);
+}
+
+static struct panel_generic_dpi_data sdp2430_panel_data = {
+	.name			= "2430sdp",
+	.platform_enable	= sdp2430_panel_enable_lcd,
+	.platform_disable	= sdp2430_panel_disable_lcd,
+};
+
+static struct omap_dss_device sdp2430_lcd_device = {
+	.name			= "lcd",
+	.driver_name		= "generic_dpi_panel",
+	.type			= OMAP_DISPLAY_TYPE_DPI,
+	.phy.dpi.data_lines	= 16,
+	.data			= &sdp2430_panel_data,
+};
+
+static struct omap_dss_device *sdp2430_dss_devices[] = {
 	&sdp2430_lcd_device,
 };
 
-static struct omap_lcd_config sdp2430_lcd_config __initdata = {
-	.ctrl_name	= "internal",
+static struct omap_dss_board_info sdp2430_dss_data = {
+	.num_devices	= ARRAY_SIZE(sdp2430_dss_devices),
+	.devices	= sdp2430_dss_devices,
+	.default_device	= &sdp2430_lcd_device,
 };
 
+static void __init sdp2430_display_init(void)
+{
+	int r;
+
+	r = gpio_request_one(SDP2430_LCD_PANEL_ENABLE_GPIO,
+			GPIOF_OUT_INIT_LOW, "LCD reset");
+	if (r) {
+		printk(KERN_ERR "failed to get LCD reset GPIO\n");
+		goto err0;
+	}
+
+	r = gpio_request_one(SDP2430_LCD_PANEL_BACKLIGHT_GPIO,
+			GPIOF_OUT_INIT_LOW, "LCD Backlight");
+	if (r) {
+		printk(KERN_ERR "failed to get LCD backlight GPIO\n");
+		goto err1;
+	}
+
+	omap_display_init(&sdp2430_dss_data);
+
+	return;
+err1:
+	gpio_free(SDP2430_LCD_PANEL_ENABLE_GPIO);
+err0:
+	return;
+}
+
 #if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91x_MODULE)
 
 static struct omap_smc91x_platform_data board_smc91x_data = {
@@ -136,10 +197,6 @@ static inline void board_smc91x_init(void)
 
 #endif
 
-static struct omap_board_config_kernel sdp2430_config[] __initdata = {
-	{OMAP_TAG_LCD, &sdp2430_lcd_config},
-};
-
 static void __init omap_2430sdp_init_early(void)
 {
 	omap2_init_common_infrastructure();
@@ -244,9 +301,6 @@ static void __init omap_2430sdp_init(void)
 
 	omap2430_mux_init(board_mux, OMAP_PACKAGE_ZAC);
 
-	omap_board_config = sdp2430_config;
-	omap_board_config_size = ARRAY_SIZE(sdp2430_config);
-
 	omap2430_i2c_init();
 
 	platform_add_devices(sdp2430_devices, ARRAY_SIZE(sdp2430_devices));
@@ -263,6 +317,8 @@ static void __init omap_2430sdp_init(void)
 	ret = gpio_request(SECONDARY_LCD_GPIO, "Secondary LCD backlight");
 	if (ret == 0)
 		gpio_direction_output(SECONDARY_LCD_GPIO, 0);
+
+	sdp2430_display_init();
 }
 
 static void __init omap_2430sdp_map_io(void)
diff --git a/drivers/video/omap/Makefile b/drivers/video/omap/Makefile
index 8eec6d7..f654ba0 100644
--- a/drivers/video/omap/Makefile
+++ b/drivers/video/omap/Makefile
@@ -27,8 +27,6 @@ objs-$(CONFIG_ARCH_OMAP15XX)$(CONFIG_MACH_OMAP_INNOVATOR) += lcd_inn1510.o
 objs-y$(CONFIG_MACH_OMAP_OSK) += lcd_osk.o
 
 objs-y$(CONFIG_MACH_OMAP_APOLLON) += lcd_apollon.o
-objs-y$(CONFIG_MACH_OMAP_2430SDP) += lcd_2430sdp.o
-objs-y$(CONFIG_MACH_OMAP_3430SDP) += lcd_2430sdp.o
 objs-y$(CONFIG_MACH_OMAP_LDP) += lcd_ldp.o
 objs-y$(CONFIG_FB_OMAP_LCD_MIPID) += lcd_mipid.o
 objs-y$(CONFIG_MACH_HERALD) += lcd_htcherald.o
diff --git a/drivers/video/omap/lcd_2430sdp.c b/drivers/video/omap/lcd_2430sdp.c
deleted file mode 100644
index e3eccc9..0000000
--- a/drivers/video/omap/lcd_2430sdp.c
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * LCD panel support for the TI 2430SDP board
- *
- * Copyright (C) 2007 MontaVista
- * Author: Hunyue Yau <hyau@mvista.com>
- *
- * Derived from drivers/video/omap/lcd-apollon.c
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * 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, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
- */
-
-#include <linux/module.h>
-#include <linux/platform_device.h>
-#include <linux/delay.h>
-#include <linux/gpio.h>
-#include <linux/i2c/twl.h>
-
-#include <plat/mux.h>
-#include <asm/mach-types.h>
-
-#include "omapfb.h"
-
-#define SDP2430_LCD_PANEL_BACKLIGHT_GPIO	91
-#define SDP2430_LCD_PANEL_ENABLE_GPIO		154
-#define SDP3430_LCD_PANEL_BACKLIGHT_GPIO	24
-#define SDP3430_LCD_PANEL_ENABLE_GPIO		28
-
-static unsigned backlight_gpio;
-static unsigned enable_gpio;
-
-#define LCD_PIXCLOCK_MAX		5400 /* freq 5.4 MHz */
-#define PM_RECEIVER             TWL4030_MODULE_PM_RECEIVER
-#define ENABLE_VAUX2_DEDICATED  0x09
-#define ENABLE_VAUX2_DEV_GRP    0x20
-#define ENABLE_VAUX3_DEDICATED	0x03
-#define ENABLE_VAUX3_DEV_GRP	0x20
-
-#define ENABLE_VPLL2_DEDICATED          0x05
-#define ENABLE_VPLL2_DEV_GRP            0xE0
-#define TWL4030_VPLL2_DEV_GRP           0x33
-#define TWL4030_VPLL2_DEDICATED         0x36
-
-#define t2_out(c, r, v) twl_i2c_write_u8(c, r, v)
-
-
-static int sdp2430_panel_init(struct lcd_panel *panel,
-				struct omapfb_device *fbdev)
-{
-	if (machine_is_omap_3430sdp()) {
-		enable_gpio    = SDP3430_LCD_PANEL_ENABLE_GPIO;
-		backlight_gpio = SDP3430_LCD_PANEL_BACKLIGHT_GPIO;
-	} else {
-		enable_gpio    = SDP2430_LCD_PANEL_ENABLE_GPIO;
-		backlight_gpio = SDP2430_LCD_PANEL_BACKLIGHT_GPIO;
-	}
-
-	gpio_request(enable_gpio, "LCD enable");	/* LCD panel */
-	gpio_request(backlight_gpio, "LCD bl");		/* LCD backlight */
-	gpio_direction_output(enable_gpio, 0);
-	gpio_direction_output(backlight_gpio, 0);
-
-	return 0;
-}
-
-static void sdp2430_panel_cleanup(struct lcd_panel *panel)
-{
-	gpio_free(backlight_gpio);
-	gpio_free(enable_gpio);
-}
-
-static int sdp2430_panel_enable(struct lcd_panel *panel)
-{
-	u8 ded_val, ded_reg;
-	u8 grp_val, grp_reg;
-
-	if (machine_is_omap_3430sdp()) {
-		ded_reg = TWL4030_VAUX3_DEDICATED;
-		ded_val = ENABLE_VAUX3_DEDICATED;
-		grp_reg = TWL4030_VAUX3_DEV_GRP;
-		grp_val = ENABLE_VAUX3_DEV_GRP;
-
-		if (omap_rev() > OMAP3430_REV_ES1_0) {
-			t2_out(PM_RECEIVER, ENABLE_VPLL2_DEDICATED,
-					TWL4030_VPLL2_DEDICATED);
-			t2_out(PM_RECEIVER, ENABLE_VPLL2_DEV_GRP,
-					TWL4030_VPLL2_DEV_GRP);
-		}
-	} else {
-		ded_reg = TWL4030_VAUX2_DEDICATED;
-		ded_val = ENABLE_VAUX2_DEDICATED;
-		grp_reg = TWL4030_VAUX2_DEV_GRP;
-		grp_val = ENABLE_VAUX2_DEV_GRP;
-	}
-
-	gpio_set_value(enable_gpio, 1);
-	gpio_set_value(backlight_gpio, 1);
-
-	if (0 != t2_out(PM_RECEIVER, ded_val, ded_reg))
-		return -EIO;
-	if (0 != t2_out(PM_RECEIVER, grp_val, grp_reg))
-		return -EIO;
-
-	return 0;
-}
-
-static void sdp2430_panel_disable(struct lcd_panel *panel)
-{
-	gpio_set_value(enable_gpio, 0);
-	gpio_set_value(backlight_gpio, 0);
-	if (omap_rev() > OMAP3430_REV_ES1_0) {
-		t2_out(PM_RECEIVER, 0x0, TWL4030_VPLL2_DEDICATED);
-		t2_out(PM_RECEIVER, 0x0, TWL4030_VPLL2_DEV_GRP);
-		msleep(4);
-	}
-}
-
-static unsigned long sdp2430_panel_get_caps(struct lcd_panel *panel)
-{
-	return 0;
-}
-
-struct lcd_panel sdp2430_panel = {
-	.name		= "sdp2430",
-	.config		= OMAP_LCDC_PANEL_TFT | OMAP_LCDC_INV_VSYNC |
-			  OMAP_LCDC_INV_HSYNC,
-
-	.bpp		= 16,
-	.data_lines	= 16,
-	.x_res		= 240,
-	.y_res		= 320,
-	.hsw		= 3,		/* hsync_len (4) - 1 */
-	.hfp		= 3,		/* right_margin (4) - 1 */
-	.hbp		= 39,		/* left_margin (40) - 1 */
-	.vsw		= 1,		/* vsync_len (2) - 1 */
-	.vfp		= 2,		/* lower_margin */
-	.vbp		= 7,		/* upper_margin (8) - 1 */
-
-	.pixel_clock	= LCD_PIXCLOCK_MAX,
-
-	.init		= sdp2430_panel_init,
-	.cleanup	= sdp2430_panel_cleanup,
-	.enable		= sdp2430_panel_enable,
-	.disable	= sdp2430_panel_disable,
-	.get_caps	= sdp2430_panel_get_caps,
-};
-
-static int sdp2430_panel_probe(struct platform_device *pdev)
-{
-	omapfb_register_panel(&sdp2430_panel);
-	return 0;
-}
-
-static int sdp2430_panel_remove(struct platform_device *pdev)
-{
-	return 0;
-}
-
-static int sdp2430_panel_suspend(struct platform_device *pdev,
-					pm_message_t mesg)
-{
-	return 0;
-}
-
-static int sdp2430_panel_resume(struct platform_device *pdev)
-{
-	return 0;
-}
-
-struct platform_driver sdp2430_panel_driver = {
-	.probe		= sdp2430_panel_probe,
-	.remove		= sdp2430_panel_remove,
-	.suspend	= sdp2430_panel_suspend,
-	.resume		= sdp2430_panel_resume,
-	.driver		= {
-		.name	= "sdp2430_lcd",
-		.owner	= THIS_MODULE,
-	},
-};
-
-static int __init sdp2430_panel_drv_init(void)
-{
-	return platform_driver_register(&sdp2430_panel_driver);
-}
-
-static void __exit sdp2430_panel_drv_exit(void)
-{
-	platform_driver_unregister(&sdp2430_panel_driver);
-}
-
-module_init(sdp2430_panel_drv_init);
-module_exit(sdp2430_panel_drv_exit);
diff --git a/drivers/video/omap2/displays/panel-generic-dpi.c b/drivers/video/omap2/displays/panel-generic-dpi.c
index 4a9b9ff..2c1b093 100644
--- a/drivers/video/omap2/displays/panel-generic-dpi.c
+++ b/drivers/video/omap2/displays/panel-generic-dpi.c
@@ -181,6 +181,27 @@ static struct panel_config generic_dpi_panels[] = {
 		.power_off_delay	= 0,
 		.name			= "samsung_lte430wq_f0c",
 	},
+
+	/* Unknown panel used in OMAP 2430 SDP */
+	{
+		{
+			.x_res		= 240,
+			.y_res		= 320,
+
+			.pixel_clock	= 5400,
+
+			.hsw		= 3,
+			.hfp		= 3,
+			.hbp		= 39,
+
+			.vsw		= 1,
+			.vfp		= 2,
+			.vbp		= 7,
+		},
+		.config			= OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
+						OMAP_DSS_LCD_IHS,
+		.name			= "2430sdp",
+	},
 };
 
 struct panel_drv_data {
-- 
1.7.4.1


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

* [PATCH 5/7] OMAP: LDP: Port the display driver to new DSS2
  2011-05-04 12:27 [PATCH 0/7] OMAP: DSS: porting old drivers to DSS2 Tomi Valkeinen
                   ` (3 preceding siblings ...)
  2011-05-04 12:27 ` [PATCH 4/7] OMAP: 2420SDP: Port the display driver to new DSS2 Tomi Valkeinen
@ 2011-05-04 12:27 ` Tomi Valkeinen
  2011-05-04 12:27 ` [PATCH 6/7] OMAP: H4: " Tomi Valkeinen
  2011-05-04 12:27 ` [PATCH 7/7] OMAP: Apollon: " Tomi Valkeinen
  6 siblings, 0 replies; 10+ messages in thread
From: Tomi Valkeinen @ 2011-05-04 12:27 UTC (permalink / raw)
  To: linux-omap, linux-fbdev; +Cc: Tomi Valkeinen, Stanley Miao

Port the old omapfb panel driver to DSS2 and change the board file
accordingly.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Stanley Miao <stanley.miao@windriver.com>
---
 arch/arm/mach-omap2/board-ldp.c |   73 ++++++++++++--
 drivers/video/omap/Makefile     |    1 -
 drivers/video/omap/lcd_ldp.c    |  201 ---------------------------------------
 3 files changed, 63 insertions(+), 212 deletions(-)
 delete mode 100644 drivers/video/omap/lcd_ldp.c

diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c
index e2ba779..2fdfd7f 100644
--- a/arch/arm/mach-omap2/board-ldp.c
+++ b/arch/arm/mach-omap2/board-ldp.c
@@ -43,6 +43,8 @@
 
 #include <asm/delay.h>
 #include <plat/usb.h>
+#include <plat/display.h>
+#include <plat/panel-generic-dpi.h>
 
 #include "board-flash.h"
 #include "mux.h"
@@ -275,19 +277,71 @@ static inline void __init ldp_init_smsc911x(void)
 	gpio_direction_input(eth_gpio);
 }
 
-static struct platform_device ldp_lcd_device = {
-	.name		= "ldp_lcd",
-	.id		= -1,
+/* LCD */
+
+#define LCD_PANEL_BACKLIGHT_GPIO	(15 + OMAP_MAX_GPIO_LINES)
+#define LCD_PANEL_ENABLE_GPIO		(7 + OMAP_MAX_GPIO_LINES)
+#define LCD_PANEL_RESET_GPIO		55
+#define LCD_PANEL_QVGA_GPIO		56
+
+static int ldp_panel_enable_lcd(struct omap_dss_device *dssdev)
+{
+	gpio_direction_output(LCD_PANEL_ENABLE_GPIO, 1);
+	gpio_direction_output(LCD_PANEL_BACKLIGHT_GPIO, 1);
+
+	return 0;
+}
+
+static void ldp_panel_disable_lcd(struct omap_dss_device *dssdev)
+{
+	gpio_direction_output(LCD_PANEL_ENABLE_GPIO, 0);
+	gpio_direction_output(LCD_PANEL_BACKLIGHT_GPIO, 0);
+}
+
+static struct panel_generic_dpi_data ldp_panel_data = {
+	.name			= "2430sdp",
+	.platform_enable	= ldp_panel_enable_lcd,
+	.platform_disable	= ldp_panel_disable_lcd,
 };
 
-static struct omap_lcd_config ldp_lcd_config __initdata = {
-	.ctrl_name	= "internal",
+static struct omap_dss_device ldp_lcd_device = {
+	.name			= "lcd",
+	.driver_name		= "generic_dpi_panel",
+	.type			= OMAP_DISPLAY_TYPE_DPI,
+	.phy.dpi.data_lines	= 16,
+	.data			= &ldp_panel_data,
 };
 
-static struct omap_board_config_kernel ldp_config[] __initdata = {
-	{ OMAP_TAG_LCD,		&ldp_lcd_config },
+static struct omap_dss_device *ldp_dss_devices[] = {
+	&ldp_lcd_device,
+};
+
+static struct omap_dss_board_info ldp_dss_data = {
+	.num_devices	= ARRAY_SIZE(ldp_dss_devices),
+	.devices	= ldp_dss_devices,
+	.default_device	= &ldp_lcd_device,
 };
 
+static void __init ldp_display_init(void)
+{
+	int r;
+
+	struct gpio gpios[] = {
+		{LCD_PANEL_RESET_GPIO, GPIOF_OUT_INIT_HIGH, "LCD RESET"},
+		{LCD_PANEL_QVGA_GPIO, GPIOF_OUT_INIT_HIGH, "LCD QVGA"},
+		{LCD_PANEL_ENABLE_GPIO, GPIOF_OUT_INIT_LOW, "LCD ENABLE"},
+		{LCD_PANEL_BACKLIGHT_GPIO, GPIOF_OUT_INIT_LOW, "LCD BACKLIGHT"},
+	};
+
+	r = gpio_request_array(gpios, ARRAY_SIZE(gpios));
+	if (r) {
+		pr_err("Cannot request LCD GPIOs, error %d\n", r);
+		return;
+	}
+
+	omap_display_init(&ldp_dss_data);
+}
+
 static void __init omap_ldp_init_early(void)
 {
 	omap2_init_common_infrastructure();
@@ -390,7 +444,6 @@ static struct omap2_hsmmc_info mmc[] __initdata = {
 
 static struct platform_device *ldp_devices[] __initdata = {
 	&ldp_smsc911x_device,
-	&ldp_lcd_device,
 	&ldp_gpio_keys_device,
 };
 
@@ -441,8 +494,6 @@ static struct mtd_partition ldp_nand_partitions[] = {
 static void __init omap_ldp_init(void)
 {
 	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
-	omap_board_config = ldp_config;
-	omap_board_config_size = ARRAY_SIZE(ldp_config);
 	ldp_init_smsc911x();
 	omap_i2c_init();
 	platform_add_devices(ldp_devices, ARRAY_SIZE(ldp_devices));
@@ -459,6 +510,8 @@ static void __init omap_ldp_init(void)
 	omap2_hsmmc_init(mmc);
 	/* link regulators to MMC adapters */
 	ldp_vmmc1_supply.dev = mmc[0].dev;
+
+	ldp_display_init();
 }
 
 MACHINE_START(OMAP_LDP, "OMAP LDP board")
diff --git a/drivers/video/omap/Makefile b/drivers/video/omap/Makefile
index f654ba0..43eb64a 100644
--- a/drivers/video/omap/Makefile
+++ b/drivers/video/omap/Makefile
@@ -27,7 +27,6 @@ objs-$(CONFIG_ARCH_OMAP15XX)$(CONFIG_MACH_OMAP_INNOVATOR) += lcd_inn1510.o
 objs-y$(CONFIG_MACH_OMAP_OSK) += lcd_osk.o
 
 objs-y$(CONFIG_MACH_OMAP_APOLLON) += lcd_apollon.o
-objs-y$(CONFIG_MACH_OMAP_LDP) += lcd_ldp.o
 objs-y$(CONFIG_FB_OMAP_LCD_MIPID) += lcd_mipid.o
 objs-y$(CONFIG_MACH_HERALD) += lcd_htcherald.o
 
diff --git a/drivers/video/omap/lcd_ldp.c b/drivers/video/omap/lcd_ldp.c
deleted file mode 100644
index 0f5952c..0000000
--- a/drivers/video/omap/lcd_ldp.c
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * LCD panel support for the TI LDP board
- *
- * Copyright (C) 2007 WindRiver
- * Author: Stanley Miao <stanley.miao@windriver.com>
- *
- * Derived from drivers/video/omap/lcd-2430sdp.c
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * 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, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
- */
-
-#include <linux/module.h>
-#include <linux/platform_device.h>
-#include <linux/delay.h>
-#include <linux/i2c/twl.h>
-
-#include <mach/gpio.h>
-#include <plat/mux.h>
-#include <asm/mach-types.h>
-
-#include "omapfb.h"
-
-#define LCD_PANEL_BACKLIGHT_GPIO	(15 + OMAP_MAX_GPIO_LINES)
-#define LCD_PANEL_ENABLE_GPIO		(7 + OMAP_MAX_GPIO_LINES)
-
-#define LCD_PANEL_RESET_GPIO		55
-#define LCD_PANEL_QVGA_GPIO		56
-
-#ifdef CONFIG_FB_OMAP_LCD_VGA
-#define LCD_XRES		480
-#define LCD_YRES		640
-#define LCD_PIXCLOCK_MAX	41700
-#else
-#define LCD_XRES		240
-#define LCD_YRES		320
-#define LCD_PIXCLOCK_MAX	185186
-#endif
-
-#define PM_RECEIVER             TWL4030_MODULE_PM_RECEIVER
-#define ENABLE_VAUX2_DEDICATED  0x09
-#define ENABLE_VAUX2_DEV_GRP    0x20
-#define ENABLE_VAUX3_DEDICATED	0x03
-#define ENABLE_VAUX3_DEV_GRP	0x20
-
-#define ENABLE_VPLL2_DEDICATED          0x05
-#define ENABLE_VPLL2_DEV_GRP            0xE0
-#define TWL4030_VPLL2_DEV_GRP           0x33
-#define TWL4030_VPLL2_DEDICATED         0x36
-
-#define t2_out(c, r, v) twl_i2c_write_u8(c, r, v)
-
-
-static int ldp_panel_init(struct lcd_panel *panel,
-				struct omapfb_device *fbdev)
-{
-	gpio_request(LCD_PANEL_RESET_GPIO, "lcd reset");
-	gpio_request(LCD_PANEL_QVGA_GPIO, "lcd qvga");
-	gpio_request(LCD_PANEL_ENABLE_GPIO, "lcd panel");
-	gpio_request(LCD_PANEL_BACKLIGHT_GPIO, "lcd backlight");
-
-	gpio_direction_output(LCD_PANEL_QVGA_GPIO, 0);
-	gpio_direction_output(LCD_PANEL_RESET_GPIO, 0);
-	gpio_direction_output(LCD_PANEL_ENABLE_GPIO, 0);
-	gpio_direction_output(LCD_PANEL_BACKLIGHT_GPIO, 0);
-
-#ifdef CONFIG_FB_OMAP_LCD_VGA
-	gpio_set_value(LCD_PANEL_QVGA_GPIO, 0);
-#else
-	gpio_set_value(LCD_PANEL_QVGA_GPIO, 1);
-#endif
-	gpio_set_value(LCD_PANEL_RESET_GPIO, 1);
-
-	return 0;
-}
-
-static void ldp_panel_cleanup(struct lcd_panel *panel)
-{
-	gpio_free(LCD_PANEL_BACKLIGHT_GPIO);
-	gpio_free(LCD_PANEL_ENABLE_GPIO);
-	gpio_free(LCD_PANEL_QVGA_GPIO);
-	gpio_free(LCD_PANEL_RESET_GPIO);
-}
-
-static int ldp_panel_enable(struct lcd_panel *panel)
-{
-	if (0 != t2_out(PM_RECEIVER, ENABLE_VPLL2_DEDICATED,
-			TWL4030_VPLL2_DEDICATED))
-		return -EIO;
-	if (0 != t2_out(PM_RECEIVER, ENABLE_VPLL2_DEV_GRP,
-			TWL4030_VPLL2_DEV_GRP))
-		return -EIO;
-
-	gpio_direction_output(LCD_PANEL_ENABLE_GPIO, 1);
-	gpio_direction_output(LCD_PANEL_BACKLIGHT_GPIO, 1);
-
-	if (0 != t2_out(PM_RECEIVER, ENABLE_VAUX3_DEDICATED,
-				TWL4030_VAUX3_DEDICATED))
-		return -EIO;
-	if (0 != t2_out(PM_RECEIVER, ENABLE_VAUX3_DEV_GRP,
-				TWL4030_VAUX3_DEV_GRP))
-		return -EIO;
-
-	return 0;
-}
-
-static void ldp_panel_disable(struct lcd_panel *panel)
-{
-	gpio_direction_output(LCD_PANEL_ENABLE_GPIO, 0);
-	gpio_direction_output(LCD_PANEL_BACKLIGHT_GPIO, 0);
-
-	t2_out(PM_RECEIVER, 0x0, TWL4030_VPLL2_DEDICATED);
-	t2_out(PM_RECEIVER, 0x0, TWL4030_VPLL2_DEV_GRP);
-	msleep(4);
-}
-
-static unsigned long ldp_panel_get_caps(struct lcd_panel *panel)
-{
-	return 0;
-}
-
-struct lcd_panel ldp_panel = {
-	.name		= "ldp",
-	.config		= OMAP_LCDC_PANEL_TFT | OMAP_LCDC_INV_VSYNC |
-			  OMAP_LCDC_INV_HSYNC,
-
-	.bpp		= 16,
-	.data_lines	= 18,
-	.x_res		= LCD_XRES,
-	.y_res		= LCD_YRES,
-	.hsw		= 3,		/* hsync_len (4) - 1 */
-	.hfp		= 3,		/* right_margin (4) - 1 */
-	.hbp		= 39,		/* left_margin (40) - 1 */
-	.vsw		= 1,		/* vsync_len (2) - 1 */
-	.vfp		= 2,		/* lower_margin */
-	.vbp		= 7,		/* upper_margin (8) - 1 */
-
-	.pixel_clock	= LCD_PIXCLOCK_MAX,
-
-	.init		= ldp_panel_init,
-	.cleanup	= ldp_panel_cleanup,
-	.enable		= ldp_panel_enable,
-	.disable	= ldp_panel_disable,
-	.get_caps	= ldp_panel_get_caps,
-};
-
-static int ldp_panel_probe(struct platform_device *pdev)
-{
-	omapfb_register_panel(&ldp_panel);
-	return 0;
-}
-
-static int ldp_panel_remove(struct platform_device *pdev)
-{
-	return 0;
-}
-
-static int ldp_panel_suspend(struct platform_device *pdev, pm_message_t mesg)
-{
-	return 0;
-}
-
-static int ldp_panel_resume(struct platform_device *pdev)
-{
-	return 0;
-}
-
-struct platform_driver ldp_panel_driver = {
-	.probe		= ldp_panel_probe,
-	.remove		= ldp_panel_remove,
-	.suspend	= ldp_panel_suspend,
-	.resume		= ldp_panel_resume,
-	.driver		= {
-		.name	= "ldp_lcd",
-		.owner	= THIS_MODULE,
-	},
-};
-
-static int __init ldp_panel_drv_init(void)
-{
-	return platform_driver_register(&ldp_panel_driver);
-}
-
-static void __exit ldp_panel_drv_exit(void)
-{
-	platform_driver_unregister(&ldp_panel_driver);
-}
-
-module_init(ldp_panel_drv_init);
-module_exit(ldp_panel_drv_exit);
-- 
1.7.4.1


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

* [PATCH 6/7] OMAP: H4: Port the display driver to new DSS2
  2011-05-04 12:27 [PATCH 0/7] OMAP: DSS: porting old drivers to DSS2 Tomi Valkeinen
                   ` (4 preceding siblings ...)
  2011-05-04 12:27 ` [PATCH 5/7] OMAP: LDP: " Tomi Valkeinen
@ 2011-05-04 12:27 ` Tomi Valkeinen
  2011-05-04 12:27 ` [PATCH 7/7] OMAP: Apollon: " Tomi Valkeinen
  6 siblings, 0 replies; 10+ messages in thread
From: Tomi Valkeinen @ 2011-05-04 12:27 UTC (permalink / raw)
  To: linux-omap, linux-fbdev; +Cc: Tomi Valkeinen, Imre Deak

Port the old omapfb panel driver to DSS2 and change the board file
accordingly.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Imre Deak <imre.deak@nokia.com>
---
 arch/arm/mach-omap2/board-h4.c                   |   41 +++++---
 drivers/video/omap/Makefile                      |    1 -
 drivers/video/omap/lcd_h4.c                      |  117 ----------------------
 drivers/video/omap2/displays/panel-generic-dpi.c |   21 ++++
 4 files changed, 46 insertions(+), 134 deletions(-)
 delete mode 100644 drivers/video/omap/lcd_h4.c

diff --git a/arch/arm/mach-omap2/board-h4.c b/arch/arm/mach-omap2/board-h4.c
index bac7933..991e71e 100644
--- a/arch/arm/mach-omap2/board-h4.c
+++ b/arch/arm/mach-omap2/board-h4.c
@@ -39,6 +39,8 @@
 #include <plat/menelaus.h>
 #include <plat/dma.h>
 #include <plat/gpmc.h>
+#include <plat/display.h>
+#include <plat/panel-generic-dpi.h>
 
 #include "mux.h"
 #include "control.h"
@@ -157,17 +159,33 @@ static struct platform_device h4_kp_device = {
 	},
 };
 
-static struct platform_device h4_lcd_device = {
-	.name		= "lcd_h4",
-	.id		= -1,
-};
-
 static struct platform_device *h4_devices[] __initdata = {
 	&h4_flash_device,
 	&h4_kp_device,
+};
+
+static struct panel_generic_dpi_data h4_panel_data = {
+	.name			= "h4",
+};
+
+static struct omap_dss_device h4_lcd_device = {
+	.name			= "lcd",
+	.driver_name		= "generic_dpi_panel",
+	.type			= OMAP_DISPLAY_TYPE_DPI,
+	.phy.dpi.data_lines	= 16,
+	.data			= &h4_panel_data,
+};
+
+static struct omap_dss_device *h4_dss_devices[] = {
 	&h4_lcd_device,
 };
 
+static struct omap_dss_board_info h4_dss_data = {
+	.num_devices	= ARRAY_SIZE(h4_dss_devices),
+	.devices	= h4_dss_devices,
+	.default_device	= &h4_lcd_device,
+};
+
 /* 2420 Sysboot setup (2430 is different) */
 static u32 get_sysboot_value(void)
 {
@@ -271,10 +289,6 @@ static void __init h4_init_flash(void)
 	h4_flash_resource.end	= base + SZ_64M - 1;
 }
 
-static struct omap_lcd_config h4_lcd_config __initdata = {
-	.ctrl_name	= "internal",
-};
-
 static struct omap_usb_config h4_usb_config __initdata = {
 	/* S1.10 OFF -- usb "download port"
 	 * usb0 switched to Mini-B port and isp1105 transceiver;
@@ -286,10 +300,6 @@ static struct omap_usb_config h4_usb_config __initdata = {
 	.hmc_mode	= 0x00,		/* 0:dev|otg 1:disable 2:disable */
 };
 
-static struct omap_board_config_kernel h4_config[] __initdata = {
-	{ OMAP_TAG_LCD,		&h4_lcd_config },
-};
-
 static void __init omap_h4_init_early(void)
 {
 	omap2_init_common_infrastructure();
@@ -331,9 +341,6 @@ static void __init omap_h4_init(void)
 {
 	omap2420_mux_init(board_mux, OMAP_PACKAGE_ZAF);
 
-	omap_board_config = h4_config;
-	omap_board_config_size = ARRAY_SIZE(h4_config);
-
 	/*
 	 * Make sure the serial ports are muxed on at this point.
 	 * You have to mux them off in device drivers later on
@@ -372,6 +379,8 @@ static void __init omap_h4_init(void)
 	omap2_usbfs_init(&h4_usb_config);
 	omap_serial_init();
 	h4_init_flash();
+
+	omap_display_init(&h4_dss_data);
 }
 
 static void __init omap_h4_map_io(void)
diff --git a/drivers/video/omap/Makefile b/drivers/video/omap/Makefile
index 43eb64a..22fef61 100644
--- a/drivers/video/omap/Makefile
+++ b/drivers/video/omap/Makefile
@@ -17,7 +17,6 @@ objs-y$(CONFIG_FB_OMAP_LCDC_HWA742) += hwa742.o
 objs-y$(CONFIG_FB_OMAP_LCDC_BLIZZARD) += blizzard.o
 
 objs-y$(CONFIG_MACH_AMS_DELTA) += lcd_ams_delta.o
-objs-y$(CONFIG_MACH_OMAP_H4) += lcd_h4.o
 objs-y$(CONFIG_MACH_OMAP_H3) += lcd_h3.o
 objs-y$(CONFIG_MACH_OMAP_PALMTE) += lcd_palmte.o
 objs-y$(CONFIG_MACH_OMAP_PALMTT) += lcd_palmtt.o
diff --git a/drivers/video/omap/lcd_h4.c b/drivers/video/omap/lcd_h4.c
deleted file mode 100644
index 03a06a9..0000000
--- a/drivers/video/omap/lcd_h4.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * LCD panel support for the TI OMAP H4 board
- *
- * Copyright (C) 2004 Nokia Corporation
- * Author: Imre Deak <imre.deak@nokia.com>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * 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, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
- */
-
-#include <linux/module.h>
-#include <linux/platform_device.h>
-
-#include "omapfb.h"
-
-static int h4_panel_init(struct lcd_panel *panel, struct omapfb_device *fbdev)
-{
-	return 0;
-}
-
-static void h4_panel_cleanup(struct lcd_panel *panel)
-{
-}
-
-static int h4_panel_enable(struct lcd_panel *panel)
-{
-	return 0;
-}
-
-static void h4_panel_disable(struct lcd_panel *panel)
-{
-}
-
-static unsigned long h4_panel_get_caps(struct lcd_panel *panel)
-{
-	return 0;
-}
-
-static struct lcd_panel h4_panel = {
-	.name		= "h4",
-	.config		= OMAP_LCDC_PANEL_TFT,
-
-	.bpp		= 16,
-	.data_lines	= 16,
-	.x_res		= 240,
-	.y_res		= 320,
-	.pixel_clock	= 6250,
-	.hsw		= 15,
-	.hfp		= 15,
-	.hbp		= 60,
-	.vsw		= 1,
-	.vfp		= 1,
-	.vbp		= 1,
-
-	.init		= h4_panel_init,
-	.cleanup	= h4_panel_cleanup,
-	.enable		= h4_panel_enable,
-	.disable	= h4_panel_disable,
-	.get_caps	= h4_panel_get_caps,
-};
-
-static int h4_panel_probe(struct platform_device *pdev)
-{
-	omapfb_register_panel(&h4_panel);
-	return 0;
-}
-
-static int h4_panel_remove(struct platform_device *pdev)
-{
-	return 0;
-}
-
-static int h4_panel_suspend(struct platform_device *pdev, pm_message_t mesg)
-{
-	return 0;
-}
-
-static int h4_panel_resume(struct platform_device *pdev)
-{
-	return 0;
-}
-
-static struct platform_driver h4_panel_driver = {
-	.probe		= h4_panel_probe,
-	.remove		= h4_panel_remove,
-	.suspend	= h4_panel_suspend,
-	.resume		= h4_panel_resume,
-	.driver		= {
-		.name	= "lcd_h4",
-		.owner	= THIS_MODULE,
-	},
-};
-
-static int __init h4_panel_drv_init(void)
-{
-	return platform_driver_register(&h4_panel_driver);
-}
-
-static void __exit h4_panel_drv_cleanup(void)
-{
-	platform_driver_unregister(&h4_panel_driver);
-}
-
-module_init(h4_panel_drv_init);
-module_exit(h4_panel_drv_cleanup);
-
diff --git a/drivers/video/omap2/displays/panel-generic-dpi.c b/drivers/video/omap2/displays/panel-generic-dpi.c
index 2c1b093..92bf63e 100644
--- a/drivers/video/omap2/displays/panel-generic-dpi.c
+++ b/drivers/video/omap2/displays/panel-generic-dpi.c
@@ -202,6 +202,27 @@ static struct panel_config generic_dpi_panels[] = {
 						OMAP_DSS_LCD_IHS,
 		.name			= "2430sdp",
 	},
+
+	/* Unknown panel used in OMAP H4 */
+	{
+		{
+			.x_res		= 240,
+			.y_res		= 320,
+
+			.pixel_clock	= 6250,
+
+			.hsw		= 15,
+			.hfp		= 15,
+			.hbp		= 60,
+
+			.vsw		= 1,
+			.vfp		= 1,
+			.vbp		= 1,
+		},
+		.config			= OMAP_DSS_LCD_TFT,
+
+		.name			= "h4",
+	},
 };
 
 struct panel_drv_data {
-- 
1.7.4.1


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

* [PATCH 7/7] OMAP: Apollon: Port the display driver to new DSS2
  2011-05-04 12:27 [PATCH 0/7] OMAP: DSS: porting old drivers to DSS2 Tomi Valkeinen
                   ` (5 preceding siblings ...)
  2011-05-04 12:27 ` [PATCH 6/7] OMAP: H4: " Tomi Valkeinen
@ 2011-05-04 12:27 ` Tomi Valkeinen
  6 siblings, 0 replies; 10+ messages in thread
From: Tomi Valkeinen @ 2011-05-04 12:27 UTC (permalink / raw)
  To: linux-omap, linux-fbdev; +Cc: Tomi Valkeinen, Kyungmin Park

Port the old omapfb panel driver to DSS2 and change the board file
accordingly.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
---
 arch/arm/mach-omap2/board-apollon.c              |   34 ++++--
 drivers/video/omap/Makefile                      |    1 -
 drivers/video/omap/lcd_apollon.c                 |  136 ----------------------
 drivers/video/omap2/displays/panel-generic-dpi.c |   22 ++++
 4 files changed, 44 insertions(+), 149 deletions(-)
 delete mode 100644 drivers/video/omap/lcd_apollon.c

diff --git a/arch/arm/mach-omap2/board-apollon.c b/arch/arm/mach-omap2/board-apollon.c
index f4f8374..0414c17 100644
--- a/arch/arm/mach-omap2/board-apollon.c
+++ b/arch/arm/mach-omap2/board-apollon.c
@@ -39,6 +39,8 @@
 #include <plat/board.h>
 #include <plat/common.h>
 #include <plat/gpmc.h>
+#include <plat/display.h>
+#include <plat/panel-generic-dpi.h>
 
 #include "mux.h"
 #include "control.h"
@@ -149,11 +151,6 @@ static struct platform_device apollon_smc91x_device = {
 	.resource	= apollon_smc91x_resources,
 };
 
-static struct platform_device apollon_lcd_device = {
-	.name		= "apollon_lcd",
-	.id		= -1,
-};
-
 static struct omap_led_config apollon_led_config[] = {
 	{
 		.cdev	= {
@@ -191,7 +188,6 @@ static struct platform_device apollon_led_device = {
 static struct platform_device *apollon_devices[] __initdata = {
 	&apollon_onenand_device,
 	&apollon_smc91x_device,
-	&apollon_lcd_device,
 	&apollon_led_device,
 };
 
@@ -266,12 +262,26 @@ static struct omap_usb_config apollon_usb_config __initdata = {
 	.pins[0]	= 6,
 };
 
-static struct omap_lcd_config apollon_lcd_config __initdata = {
-	.ctrl_name	= "internal",
+static struct panel_generic_dpi_data apollon_panel_data = {
+	.name			= "apollon",
+};
+
+static struct omap_dss_device apollon_lcd_device = {
+	.name			= "lcd",
+	.driver_name		= "generic_dpi_panel",
+	.type			= OMAP_DISPLAY_TYPE_DPI,
+	.phy.dpi.data_lines	= 18,
+	.data			= &apollon_panel_data,
 };
 
-static struct omap_board_config_kernel apollon_config[] __initdata = {
-	{ OMAP_TAG_LCD,		&apollon_lcd_config },
+static struct omap_dss_device *apollon_dss_devices[] = {
+	&apollon_lcd_device,
+};
+
+static struct omap_dss_board_info apollon_dss_data = {
+	.num_devices	= ARRAY_SIZE(apollon_dss_devices),
+	.devices	= apollon_dss_devices,
+	.default_device	= &apollon_lcd_device,
 };
 
 static void __init omap_apollon_init_early(void)
@@ -317,8 +327,6 @@ static void __init omap_apollon_init(void)
 	u32 v;
 
 	omap2420_mux_init(board_mux, OMAP_PACKAGE_ZAC);
-	omap_board_config = apollon_config;
-	omap_board_config_size = ARRAY_SIZE(apollon_config);
 
 	apollon_init_smc91x();
 	apollon_led_init();
@@ -343,6 +351,8 @@ static void __init omap_apollon_init(void)
 	 */
 	platform_add_devices(apollon_devices, ARRAY_SIZE(apollon_devices));
 	omap_serial_init();
+
+	omap_display_init(&apollon_dss_data);
 }
 
 static void __init omap_apollon_map_io(void)
diff --git a/drivers/video/omap/Makefile b/drivers/video/omap/Makefile
index 22fef61..ef78550 100644
--- a/drivers/video/omap/Makefile
+++ b/drivers/video/omap/Makefile
@@ -25,7 +25,6 @@ objs-$(CONFIG_ARCH_OMAP16XX)$(CONFIG_MACH_OMAP_INNOVATOR) += lcd_inn1610.o
 objs-$(CONFIG_ARCH_OMAP15XX)$(CONFIG_MACH_OMAP_INNOVATOR) += lcd_inn1510.o
 objs-y$(CONFIG_MACH_OMAP_OSK) += lcd_osk.o
 
-objs-y$(CONFIG_MACH_OMAP_APOLLON) += lcd_apollon.o
 objs-y$(CONFIG_FB_OMAP_LCD_MIPID) += lcd_mipid.o
 objs-y$(CONFIG_MACH_HERALD) += lcd_htcherald.o
 
diff --git a/drivers/video/omap/lcd_apollon.c b/drivers/video/omap/lcd_apollon.c
deleted file mode 100644
index 10459d8..0000000
--- a/drivers/video/omap/lcd_apollon.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * LCD panel support for the Samsung OMAP2 Apollon board
- *
- * Copyright (C) 2005,2006 Samsung Electronics
- * Author: Kyungmin Park <kyungmin.park@samsung.com>
- *
- * Derived from drivers/video/omap/lcd-h4.c
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * 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, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
- */
-
-#include <linux/module.h>
-#include <linux/platform_device.h>
-
-#include <mach/gpio.h>
-
-#include "omapfb.h"
-
-/* #define USE_35INCH_LCD 1 */
-
-static int apollon_panel_init(struct lcd_panel *panel,
-				struct omapfb_device *fbdev)
-{
-	return 0;
-}
-
-static void apollon_panel_cleanup(struct lcd_panel *panel)
-{
-}
-
-static int apollon_panel_enable(struct lcd_panel *panel)
-{
-	return 0;
-}
-
-static void apollon_panel_disable(struct lcd_panel *panel)
-{
-}
-
-static unsigned long apollon_panel_get_caps(struct lcd_panel *panel)
-{
-	return 0;
-}
-
-struct lcd_panel apollon_panel = {
-	.name		= "apollon",
-	.config		= OMAP_LCDC_PANEL_TFT | OMAP_LCDC_INV_VSYNC |
-			  OMAP_LCDC_INV_HSYNC,
-
-	.bpp		= 16,
-	.data_lines	= 18,
-#ifdef USE_35INCH_LCD
-	.x_res		= 240,
-	.y_res		= 320,
-	.hsw		= 2,
-	.hfp		= 3,
-	.hbp		= 9,
-	.vsw		= 4,
-	.vfp		= 3,
-	.vbp		= 5,
-#else
-	.x_res		= 480,
-	.y_res		= 272,
-	.hsw		= 41,
-	.hfp		= 2,
-	.hbp		= 2,
-	.vsw		= 10,
-	.vfp		= 2,
-	.vbp		= 2,
-#endif
-	.pixel_clock	= 6250,
-
-	.init		= apollon_panel_init,
-	.cleanup	= apollon_panel_cleanup,
-	.enable		= apollon_panel_enable,
-	.disable	= apollon_panel_disable,
-	.get_caps	= apollon_panel_get_caps,
-};
-
-static int apollon_panel_probe(struct platform_device *pdev)
-{
-	omapfb_register_panel(&apollon_panel);
-	return 0;
-}
-
-static int apollon_panel_remove(struct platform_device *pdev)
-{
-	return 0;
-}
-
-static int apollon_panel_suspend(struct platform_device *pdev,
-				  pm_message_t mesg)
-{
-	return 0;
-}
-
-static int apollon_panel_resume(struct platform_device *pdev)
-{
-	return 0;
-}
-
-struct platform_driver apollon_panel_driver = {
-	.probe		= apollon_panel_probe,
-	.remove		= apollon_panel_remove,
-	.suspend	= apollon_panel_suspend,
-	.resume		= apollon_panel_resume,
-	.driver		= {
-		.name	= "apollon_lcd",
-		.owner	= THIS_MODULE,
-	},
-};
-
-static int __init apollon_panel_drv_init(void)
-{
-	return platform_driver_register(&apollon_panel_driver);
-}
-
-static void __exit apollon_panel_drv_exit(void)
-{
-	platform_driver_unregister(&apollon_panel_driver);
-}
-
-module_init(apollon_panel_drv_init);
-module_exit(apollon_panel_drv_exit);
diff --git a/drivers/video/omap2/displays/panel-generic-dpi.c b/drivers/video/omap2/displays/panel-generic-dpi.c
index 92bf63e..5b8ef3e 100644
--- a/drivers/video/omap2/displays/panel-generic-dpi.c
+++ b/drivers/video/omap2/displays/panel-generic-dpi.c
@@ -223,6 +223,28 @@ static struct panel_config generic_dpi_panels[] = {
 
 		.name			= "h4",
 	},
+
+	/* Unknown panel used in Samsung OMAP2 Apollon */
+	{
+		{
+			.x_res		= 480,
+			.y_res		= 272,
+
+			.pixel_clock	= 6250,
+
+			.hsw		= 41,
+			.hfp		= 2,
+			.hbp		= 2,
+
+			.vsw		= 10,
+			.vfp		= 2,
+			.vbp		= 2,
+		},
+		.config			= OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
+						OMAP_DSS_LCD_IHS,
+
+		.name			= "apollon",
+	},
 };
 
 struct panel_drv_data {
-- 
1.7.4.1


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

* Re: [PATCH 1/7] OMAP: OMAPFB: Remove unused lcd drivers
  2011-05-04 12:27 ` [PATCH 1/7] OMAP: OMAPFB: Remove unused lcd drivers Tomi Valkeinen
@ 2011-05-04 12:44   ` Steve Sakoman
  2011-05-04 13:43   ` Koen Kooi
  1 sibling, 0 replies; 10+ messages in thread
From: Steve Sakoman @ 2011-05-04 12:44 UTC (permalink / raw)
  To: Tomi Valkeinen; +Cc: linux-omap, linux-fbdev, Arun C, Koen Kooi

On Wed, May 4, 2011 at 5:27 AM, Tomi Valkeinen <tomi.valkeinen@ti.com> wrote:
> drivers/video/omap/ contains some lcd drivers which are not used by any
> board. They can be removed.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
> Cc: Arun C <arunedarath@mistralsolutions.com>
> Cc: Koen Kooi <koen@openembedded.org>
> Cc: Steve Sakoman <steve@sakoman.com>
> ---
>  drivers/video/omap/Makefile          |    4 -
>  drivers/video/omap/lcd_omap2evm.c    |  192 ---------------------------------
>  drivers/video/omap/lcd_omap3beagle.c |  130 -----------------------
>  drivers/video/omap/lcd_omap3evm.c    |  193 ----------------------------------
>  drivers/video/omap/lcd_overo.c       |  180 -------------------------------
>  5 files changed, 0 insertions(+), 699 deletions(-)
>  delete mode 100644 drivers/video/omap/lcd_omap2evm.c
>  delete mode 100644 drivers/video/omap/lcd_omap3beagle.c
>  delete mode 100644 drivers/video/omap/lcd_omap3evm.c
>  delete mode 100644 drivers/video/omap/lcd_overo.c

Acked-by: Steve Sakoman <steve@sakoman.com>

Steve

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

* Re: [PATCH 1/7] OMAP: OMAPFB: Remove unused lcd drivers
  2011-05-04 12:27 ` [PATCH 1/7] OMAP: OMAPFB: Remove unused lcd drivers Tomi Valkeinen
  2011-05-04 12:44   ` Steve Sakoman
@ 2011-05-04 13:43   ` Koen Kooi
  1 sibling, 0 replies; 10+ messages in thread
From: Koen Kooi @ 2011-05-04 13:43 UTC (permalink / raw)
  To: Tomi Valkeinen; +Cc: linux-omap, linux-fbdev, Arun C, Koen Kooi, Steve Sakoman


Op 4 mei 2011, om 14:27 heeft Tomi Valkeinen het volgende geschreven:

> drivers/video/omap/ contains some lcd drivers which are not used by any
> board. They can be removed.
> 
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
> Cc: Arun C <arunedarath@mistralsolutions.com>
> Cc: Koen Kooi <koen@openembedded.org>
> Cc: Steve Sakoman <steve@sakoman.com>

Acked-by: Koen Kooi <koen@openembedded.org>

> ---
> drivers/video/omap/Makefile          |    4 -
> drivers/video/omap/lcd_omap2evm.c    |  192 ---------------------------------
> drivers/video/omap/lcd_omap3beagle.c |  130 -----------------------
> drivers/video/omap/lcd_omap3evm.c    |  193 ----------------------------------
> drivers/video/omap/lcd_overo.c       |  180 -------------------------------
> 5 files changed, 0 insertions(+), 699 deletions(-)
> delete mode 100644 drivers/video/omap/lcd_omap2evm.c
> delete mode 100644 drivers/video/omap/lcd_omap3beagle.c
> delete mode 100644 drivers/video/omap/lcd_omap3evm.c
> delete mode 100644 drivers/video/omap/lcd_overo.c
> 
> diff --git a/drivers/video/omap/Makefile b/drivers/video/omap/Makefile
> index 49226a1..8eec6d7 100644
> --- a/drivers/video/omap/Makefile
> +++ b/drivers/video/omap/Makefile
> @@ -30,11 +30,7 @@ objs-y$(CONFIG_MACH_OMAP_APOLLON) += lcd_apollon.o
> objs-y$(CONFIG_MACH_OMAP_2430SDP) += lcd_2430sdp.o
> objs-y$(CONFIG_MACH_OMAP_3430SDP) += lcd_2430sdp.o
> objs-y$(CONFIG_MACH_OMAP_LDP) += lcd_ldp.o
> -objs-y$(CONFIG_MACH_OMAP2EVM) += lcd_omap2evm.o
> -objs-y$(CONFIG_MACH_OMAP3EVM) += lcd_omap3evm.o
> -objs-y$(CONFIG_MACH_OMAP3_BEAGLE) += lcd_omap3beagle.o
> objs-y$(CONFIG_FB_OMAP_LCD_MIPID) += lcd_mipid.o
> -objs-y$(CONFIG_MACH_OVERO) += lcd_overo.o
> objs-y$(CONFIG_MACH_HERALD) += lcd_htcherald.o
> 
> omapfb-objs := $(objs-yy)
> diff --git a/drivers/video/omap/lcd_omap2evm.c b/drivers/video/omap/lcd_omap2evm.c
> deleted file mode 100644
> index 7e7a65c..0000000
> --- a/drivers/video/omap/lcd_omap2evm.c
> +++ /dev/null
> @@ -1,192 +0,0 @@
> -/*
> - * LCD panel support for the MISTRAL OMAP2EVM board
> - *
> - * Author: Arun C <arunedarath@mistralsolutions.com>
> - *
> - * Derived from drivers/video/omap/lcd_omap3evm.c
> - * Derived from drivers/video/omap/lcd-apollon.c
> - *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms of the GNU General Public License as published by the
> - * Free Software Foundation; either version 2 of the License, or (at your
> - * option) any later version.
> - *
> - * 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, write to the Free Software Foundation, Inc.,
> - * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
> - */
> -
> -#include <linux/module.h>
> -#include <linux/platform_device.h>
> -#include <linux/gpio.h>
> -#include <linux/i2c/twl.h>
> -
> -#include <plat/mux.h>
> -#include <asm/mach-types.h>
> -
> -#include "omapfb.h"
> -
> -#define LCD_PANEL_ENABLE_GPIO	154
> -#define LCD_PANEL_LR		128
> -#define LCD_PANEL_UD		129
> -#define LCD_PANEL_INI		152
> -#define LCD_PANEL_QVGA		148
> -#define LCD_PANEL_RESB		153
> -
> -#define TWL_LED_LEDEN		0x00
> -#define TWL_PWMA_PWMAON		0x00
> -#define TWL_PWMA_PWMAOFF	0x01
> -
> -static unsigned int bklight_level;
> -
> -static int omap2evm_panel_init(struct lcd_panel *panel,
> -				struct omapfb_device *fbdev)
> -{
> -	gpio_request(LCD_PANEL_ENABLE_GPIO, "LCD enable");
> -	gpio_request(LCD_PANEL_LR, "LCD lr");
> -	gpio_request(LCD_PANEL_UD, "LCD ud");
> -	gpio_request(LCD_PANEL_INI, "LCD ini");
> -	gpio_request(LCD_PANEL_QVGA, "LCD qvga");
> -	gpio_request(LCD_PANEL_RESB, "LCD resb");
> -
> -	gpio_direction_output(LCD_PANEL_ENABLE_GPIO, 1);
> -	gpio_direction_output(LCD_PANEL_RESB, 1);
> -	gpio_direction_output(LCD_PANEL_INI, 1);
> -	gpio_direction_output(LCD_PANEL_QVGA, 0);
> -	gpio_direction_output(LCD_PANEL_LR, 1);
> -	gpio_direction_output(LCD_PANEL_UD, 1);
> -
> -	twl_i2c_write_u8(TWL4030_MODULE_LED, 0x11, TWL_LED_LEDEN);
> -	twl_i2c_write_u8(TWL4030_MODULE_PWMA, 0x01, TWL_PWMA_PWMAON);
> -	twl_i2c_write_u8(TWL4030_MODULE_PWMA, 0x02, TWL_PWMA_PWMAOFF);
> -	bklight_level = 100;
> -
> -	return 0;
> -}
> -
> -static void omap2evm_panel_cleanup(struct lcd_panel *panel)
> -{
> -	gpio_free(LCD_PANEL_RESB);
> -	gpio_free(LCD_PANEL_QVGA);
> -	gpio_free(LCD_PANEL_INI);
> -	gpio_free(LCD_PANEL_UD);
> -	gpio_free(LCD_PANEL_LR);
> -	gpio_free(LCD_PANEL_ENABLE_GPIO);
> -}
> -
> -static int omap2evm_panel_enable(struct lcd_panel *panel)
> -{
> -	gpio_set_value(LCD_PANEL_ENABLE_GPIO, 0);
> -	return 0;
> -}
> -
> -static void omap2evm_panel_disable(struct lcd_panel *panel)
> -{
> -	gpio_set_value(LCD_PANEL_ENABLE_GPIO, 1);
> -}
> -
> -static unsigned long omap2evm_panel_get_caps(struct lcd_panel *panel)
> -{
> -	return 0;
> -}
> -
> -static int omap2evm_bklight_setlevel(struct lcd_panel *panel,
> -						unsigned int level)
> -{
> -	u8 c;
> -	if ((level >= 0) && (level <= 100)) {
> -		c = (125 * (100 - level)) / 100 + 2;
> -		twl_i2c_write_u8(TWL4030_MODULE_PWMA, c, TWL_PWMA_PWMAOFF);
> -		bklight_level = level;
> -	}
> -	return 0;
> -}
> -
> -static unsigned int omap2evm_bklight_getlevel(struct lcd_panel *panel)
> -{
> -	return bklight_level;
> -}
> -
> -static unsigned int omap2evm_bklight_getmaxlevel(struct lcd_panel *panel)
> -{
> -	return 100;
> -}
> -
> -struct lcd_panel omap2evm_panel = {
> -	.name		= "omap2evm",
> -	.config		= OMAP_LCDC_PANEL_TFT | OMAP_LCDC_INV_VSYNC |
> -			  OMAP_LCDC_INV_HSYNC,
> -
> -	.bpp		= 16,
> -	.data_lines	= 18,
> -	.x_res		= 480,
> -	.y_res		= 640,
> -	.hsw		= 3,
> -	.hfp		= 0,
> -	.hbp		= 28,
> -	.vsw		= 2,
> -	.vfp		= 1,
> -	.vbp		= 0,
> -
> -	.pixel_clock	= 20000,
> -
> -	.init		= omap2evm_panel_init,
> -	.cleanup	= omap2evm_panel_cleanup,
> -	.enable		= omap2evm_panel_enable,
> -	.disable	= omap2evm_panel_disable,
> -	.get_caps	= omap2evm_panel_get_caps,
> -	.set_bklight_level      = omap2evm_bklight_setlevel,
> -	.get_bklight_level      = omap2evm_bklight_getlevel,
> -	.get_bklight_max        = omap2evm_bklight_getmaxlevel,
> -};
> -
> -static int omap2evm_panel_probe(struct platform_device *pdev)
> -{
> -	omapfb_register_panel(&omap2evm_panel);
> -	return 0;
> -}
> -
> -static int omap2evm_panel_remove(struct platform_device *pdev)
> -{
> -	return 0;
> -}
> -
> -static int omap2evm_panel_suspend(struct platform_device *pdev,
> -				   pm_message_t mesg)
> -{
> -	return 0;
> -}
> -
> -static int omap2evm_panel_resume(struct platform_device *pdev)
> -{
> -	return 0;
> -}
> -
> -struct platform_driver omap2evm_panel_driver = {
> -	.probe		= omap2evm_panel_probe,
> -	.remove		= omap2evm_panel_remove,
> -	.suspend	= omap2evm_panel_suspend,
> -	.resume		= omap2evm_panel_resume,
> -	.driver		= {
> -		.name	= "omap2evm_lcd",
> -		.owner	= THIS_MODULE,
> -	},
> -};
> -
> -static int __init omap2evm_panel_drv_init(void)
> -{
> -	return platform_driver_register(&omap2evm_panel_driver);
> -}
> -
> -static void __exit omap2evm_panel_drv_exit(void)
> -{
> -	platform_driver_unregister(&omap2evm_panel_driver);
> -}
> -
> -module_init(omap2evm_panel_drv_init);
> -module_exit(omap2evm_panel_drv_exit);
> diff --git a/drivers/video/omap/lcd_omap3beagle.c b/drivers/video/omap/lcd_omap3beagle.c
> deleted file mode 100644
> index d7c6c3e..0000000
> --- a/drivers/video/omap/lcd_omap3beagle.c
> +++ /dev/null
> @@ -1,130 +0,0 @@
> -/*
> - * LCD panel support for the TI OMAP3 Beagle board
> - *
> - * Author: Koen Kooi <koen@openembedded.org>
> - *
> - * Derived from drivers/video/omap/lcd-omap3evm.c
> - *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms of the GNU General Public License as published by the
> - * Free Software Foundation; either version 2 of the License, or (at your
> - * option) any later version.
> - *
> - * 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, write to the Free Software Foundation, Inc.,
> - * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
> - */
> -
> -#include <linux/module.h>
> -#include <linux/platform_device.h>
> -#include <linux/gpio.h>
> -#include <linux/i2c/twl.h>
> -
> -#include <asm/mach-types.h>
> -
> -#include "omapfb.h"
> -
> -#define LCD_PANEL_ENABLE_GPIO       170
> -
> -static int omap3beagle_panel_init(struct lcd_panel *panel,
> -				struct omapfb_device *fbdev)
> -{
> -	gpio_request(LCD_PANEL_ENABLE_GPIO, "LCD enable");
> -	return 0;
> -}
> -
> -static void omap3beagle_panel_cleanup(struct lcd_panel *panel)
> -{
> -	gpio_free(LCD_PANEL_ENABLE_GPIO);
> -}
> -
> -static int omap3beagle_panel_enable(struct lcd_panel *panel)
> -{
> -	gpio_set_value(LCD_PANEL_ENABLE_GPIO, 1);
> -	return 0;
> -}
> -
> -static void omap3beagle_panel_disable(struct lcd_panel *panel)
> -{
> -	gpio_set_value(LCD_PANEL_ENABLE_GPIO, 0);
> -}
> -
> -static unsigned long omap3beagle_panel_get_caps(struct lcd_panel *panel)
> -{
> -	return 0;
> -}
> -
> -struct lcd_panel omap3beagle_panel = {
> -	.name		= "omap3beagle",
> -	.config		= OMAP_LCDC_PANEL_TFT,
> -
> -	.bpp		= 16,
> -	.data_lines	= 24,
> -	.x_res		= 1024,
> -	.y_res		= 768,
> -	.hsw		= 3,		/* hsync_len (4) - 1 */
> -	.hfp		= 3,		/* right_margin (4) - 1 */
> -	.hbp		= 39,		/* left_margin (40) - 1 */
> -	.vsw		= 1,		/* vsync_len (2) - 1 */
> -	.vfp		= 2,		/* lower_margin */
> -	.vbp		= 7,		/* upper_margin (8) - 1 */
> -
> -	.pixel_clock	= 64000,
> -
> -	.init		= omap3beagle_panel_init,
> -	.cleanup	= omap3beagle_panel_cleanup,
> -	.enable		= omap3beagle_panel_enable,
> -	.disable	= omap3beagle_panel_disable,
> -	.get_caps	= omap3beagle_panel_get_caps,
> -};
> -
> -static int omap3beagle_panel_probe(struct platform_device *pdev)
> -{
> -	omapfb_register_panel(&omap3beagle_panel);
> -	return 0;
> -}
> -
> -static int omap3beagle_panel_remove(struct platform_device *pdev)
> -{
> -	return 0;
> -}
> -
> -static int omap3beagle_panel_suspend(struct platform_device *pdev,
> -				   pm_message_t mesg)
> -{
> -	return 0;
> -}
> -
> -static int omap3beagle_panel_resume(struct platform_device *pdev)
> -{
> -	return 0;
> -}
> -
> -struct platform_driver omap3beagle_panel_driver = {
> -	.probe		= omap3beagle_panel_probe,
> -	.remove		= omap3beagle_panel_remove,
> -	.suspend	= omap3beagle_panel_suspend,
> -	.resume		= omap3beagle_panel_resume,
> -	.driver		= {
> -		.name	= "omap3beagle_lcd",
> -		.owner	= THIS_MODULE,
> -	},
> -};
> -
> -static int __init omap3beagle_panel_drv_init(void)
> -{
> -	return platform_driver_register(&omap3beagle_panel_driver);
> -}
> -
> -static void __exit omap3beagle_panel_drv_exit(void)
> -{
> -	platform_driver_unregister(&omap3beagle_panel_driver);
> -}
> -
> -module_init(omap3beagle_panel_drv_init);
> -module_exit(omap3beagle_panel_drv_exit);
> diff --git a/drivers/video/omap/lcd_omap3evm.c b/drivers/video/omap/lcd_omap3evm.c
> deleted file mode 100644
> index 06840da..0000000
> --- a/drivers/video/omap/lcd_omap3evm.c
> +++ /dev/null
> @@ -1,193 +0,0 @@
> -/*
> - * LCD panel support for the TI OMAP3 EVM board
> - *
> - * Author: Steve Sakoman <steve@sakoman.com>
> - *
> - * Derived from drivers/video/omap/lcd-apollon.c
> - *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms of the GNU General Public License as published by the
> - * Free Software Foundation; either version 2 of the License, or (at your
> - * option) any later version.
> - *
> - * 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, write to the Free Software Foundation, Inc.,
> - * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
> - */
> -
> -#include <linux/module.h>
> -#include <linux/platform_device.h>
> -#include <linux/gpio.h>
> -#include <linux/i2c/twl.h>
> -
> -#include <plat/mux.h>
> -#include <asm/mach-types.h>
> -
> -#include "omapfb.h"
> -
> -#define LCD_PANEL_ENABLE_GPIO       153
> -#define LCD_PANEL_LR                2
> -#define LCD_PANEL_UD                3
> -#define LCD_PANEL_INI               152
> -#define LCD_PANEL_QVGA              154
> -#define LCD_PANEL_RESB              155
> -
> -#define ENABLE_VDAC_DEDICATED	0x03
> -#define ENABLE_VDAC_DEV_GRP	0x20
> -#define ENABLE_VPLL2_DEDICATED	0x05
> -#define ENABLE_VPLL2_DEV_GRP	0xE0
> -
> -#define TWL_LED_LEDEN		0x00
> -#define TWL_PWMA_PWMAON		0x00
> -#define TWL_PWMA_PWMAOFF	0x01
> -
> -static unsigned int bklight_level;
> -
> -static int omap3evm_panel_init(struct lcd_panel *panel,
> -				struct omapfb_device *fbdev)
> -{
> -	gpio_request(LCD_PANEL_LR, "LCD lr");
> -	gpio_request(LCD_PANEL_UD, "LCD ud");
> -	gpio_request(LCD_PANEL_INI, "LCD ini");
> -	gpio_request(LCD_PANEL_RESB, "LCD resb");
> -	gpio_request(LCD_PANEL_QVGA, "LCD qvga");
> -
> -	gpio_direction_output(LCD_PANEL_RESB, 1);
> -	gpio_direction_output(LCD_PANEL_INI, 1);
> -	gpio_direction_output(LCD_PANEL_QVGA, 0);
> -	gpio_direction_output(LCD_PANEL_LR, 1);
> -	gpio_direction_output(LCD_PANEL_UD, 1);
> -
> -	twl_i2c_write_u8(TWL4030_MODULE_LED, 0x11, TWL_LED_LEDEN);
> -	twl_i2c_write_u8(TWL4030_MODULE_PWMA, 0x01, TWL_PWMA_PWMAON);
> -	twl_i2c_write_u8(TWL4030_MODULE_PWMA, 0x02, TWL_PWMA_PWMAOFF);
> -	bklight_level = 100;
> -
> -	return 0;
> -}
> -
> -static void omap3evm_panel_cleanup(struct lcd_panel *panel)
> -{
> -	gpio_free(LCD_PANEL_QVGA);
> -	gpio_free(LCD_PANEL_RESB);
> -	gpio_free(LCD_PANEL_INI);
> -	gpio_free(LCD_PANEL_UD);
> -	gpio_free(LCD_PANEL_LR);
> -}
> -
> -static int omap3evm_panel_enable(struct lcd_panel *panel)
> -{
> -	gpio_set_value(LCD_PANEL_ENABLE_GPIO, 0);
> -	return 0;
> -}
> -
> -static void omap3evm_panel_disable(struct lcd_panel *panel)
> -{
> -	gpio_set_value(LCD_PANEL_ENABLE_GPIO, 1);
> -}
> -
> -static unsigned long omap3evm_panel_get_caps(struct lcd_panel *panel)
> -{
> -	return 0;
> -}
> -
> -static int omap3evm_bklight_setlevel(struct lcd_panel *panel,
> -						unsigned int level)
> -{
> -	u8 c;
> -	if ((level >= 0) && (level <= 100)) {
> -		c = (125 * (100 - level)) / 100 + 2;
> -		twl_i2c_write_u8(TWL4030_MODULE_PWMA, c, TWL_PWMA_PWMAOFF);
> -		bklight_level = level;
> -	}
> -	return 0;
> -}
> -
> -static unsigned int omap3evm_bklight_getlevel(struct lcd_panel *panel)
> -{
> -	return bklight_level;
> -}
> -
> -static unsigned int omap3evm_bklight_getmaxlevel(struct lcd_panel *panel)
> -{
> -	return 100;
> -}
> -
> -struct lcd_panel omap3evm_panel = {
> -	.name		= "omap3evm",
> -	.config		= OMAP_LCDC_PANEL_TFT | OMAP_LCDC_INV_VSYNC |
> -			  OMAP_LCDC_INV_HSYNC,
> -
> -	.bpp		= 16,
> -	.data_lines	= 18,
> -	.x_res		= 480,
> -	.y_res		= 640,
> -	.hsw		= 3,		/* hsync_len (4) - 1 */
> -	.hfp		= 3,		/* right_margin (4) - 1 */
> -	.hbp		= 39,		/* left_margin (40) - 1 */
> -	.vsw		= 1,		/* vsync_len (2) - 1 */
> -	.vfp		= 2,		/* lower_margin */
> -	.vbp		= 7,		/* upper_margin (8) - 1 */
> -
> -	.pixel_clock	= 26000,
> -
> -	.init		= omap3evm_panel_init,
> -	.cleanup	= omap3evm_panel_cleanup,
> -	.enable		= omap3evm_panel_enable,
> -	.disable	= omap3evm_panel_disable,
> -	.get_caps	= omap3evm_panel_get_caps,
> -	.set_bklight_level      = omap3evm_bklight_setlevel,
> -	.get_bklight_level      = omap3evm_bklight_getlevel,
> -	.get_bklight_max        = omap3evm_bklight_getmaxlevel,
> -};
> -
> -static int omap3evm_panel_probe(struct platform_device *pdev)
> -{
> -	omapfb_register_panel(&omap3evm_panel);
> -	return 0;
> -}
> -
> -static int omap3evm_panel_remove(struct platform_device *pdev)
> -{
> -	return 0;
> -}
> -
> -static int omap3evm_panel_suspend(struct platform_device *pdev,
> -				   pm_message_t mesg)
> -{
> -	return 0;
> -}
> -
> -static int omap3evm_panel_resume(struct platform_device *pdev)
> -{
> -	return 0;
> -}
> -
> -struct platform_driver omap3evm_panel_driver = {
> -	.probe		= omap3evm_panel_probe,
> -	.remove		= omap3evm_panel_remove,
> -	.suspend	= omap3evm_panel_suspend,
> -	.resume		= omap3evm_panel_resume,
> -	.driver		= {
> -		.name	= "omap3evm_lcd",
> -		.owner	= THIS_MODULE,
> -	},
> -};
> -
> -static int __init omap3evm_panel_drv_init(void)
> -{
> -	return platform_driver_register(&omap3evm_panel_driver);
> -}
> -
> -static void __exit omap3evm_panel_drv_exit(void)
> -{
> -	platform_driver_unregister(&omap3evm_panel_driver);
> -}
> -
> -module_init(omap3evm_panel_drv_init);
> -module_exit(omap3evm_panel_drv_exit);
> diff --git a/drivers/video/omap/lcd_overo.c b/drivers/video/omap/lcd_overo.c
> deleted file mode 100644
> index 564933f..0000000
> --- a/drivers/video/omap/lcd_overo.c
> +++ /dev/null
> @@ -1,180 +0,0 @@
> -/*
> - * LCD panel support for the Gumstix Overo
> - *
> - * Author: Steve Sakoman <steve@sakoman.com>
> - *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms of the GNU General Public License as published by the
> - * Free Software Foundation; either version 2 of the License, or (at your
> - * option) any later version.
> - *
> - * 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, write to the Free Software Foundation, Inc.,
> - * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
> - *
> - */
> -
> -#include <linux/module.h>
> -#include <linux/platform_device.h>
> -#include <linux/i2c/twl.h>
> -
> -#include <mach/gpio.h>
> -#include <plat/mux.h>
> -#include <asm/mach-types.h>
> -
> -#include "omapfb.h"
> -
> -#define LCD_ENABLE       144
> -
> -static int overo_panel_init(struct lcd_panel *panel,
> -				struct omapfb_device *fbdev)
> -{
> -	if ((gpio_request(LCD_ENABLE, "LCD_ENABLE") == 0) &&
> -	    (gpio_direction_output(LCD_ENABLE, 1) == 0))
> -		gpio_export(LCD_ENABLE, 0);
> -	else
> -		printk(KERN_ERR "could not obtain gpio for LCD_ENABLE\n");
> -
> -	return 0;
> -}
> -
> -static void overo_panel_cleanup(struct lcd_panel *panel)
> -{
> -	gpio_free(LCD_ENABLE);
> -}
> -
> -static int overo_panel_enable(struct lcd_panel *panel)
> -{
> -	gpio_set_value(LCD_ENABLE, 1);
> -	return 0;
> -}
> -
> -static void overo_panel_disable(struct lcd_panel *panel)
> -{
> -	gpio_set_value(LCD_ENABLE, 0);
> -}
> -
> -static unsigned long overo_panel_get_caps(struct lcd_panel *panel)
> -{
> -	return 0;
> -}
> -
> -struct lcd_panel overo_panel = {
> -	.name		= "overo",
> -	.config		= OMAP_LCDC_PANEL_TFT,
> -	.bpp		= 16,
> -	.data_lines	= 24,
> -
> -#if defined CONFIG_FB_OMAP_031M3R
> -
> -	/* 640 x 480 @ 60 Hz  Reduced blanking VESA CVT 0.31M3-R */
> -	.x_res		= 640,
> -	.y_res		= 480,
> -	.hfp		= 48,
> -	.hsw		= 32,
> -	.hbp		= 80,
> -	.vfp		= 3,
> -	.vsw		= 4,
> -	.vbp		= 7,
> -	.pixel_clock	= 23500,
> -
> -#elif defined CONFIG_FB_OMAP_048M3R
> -
> -	/* 800 x 600 @ 60 Hz  Reduced blanking VESA CVT 0.48M3-R */
> -	.x_res		= 800,
> -	.y_res		= 600,
> -	.hfp		= 48,
> -	.hsw		= 32,
> -	.hbp		= 80,
> -	.vfp		= 3,
> -	.vsw		= 4,
> -	.vbp		= 11,
> -	.pixel_clock	= 35500,
> -
> -#elif defined CONFIG_FB_OMAP_079M3R
> -
> -	/* 1024 x 768 @ 60 Hz  Reduced blanking VESA CVT 0.79M3-R */
> -	.x_res		= 1024,
> -	.y_res		= 768,
> -	.hfp		= 48,
> -	.hsw		= 32,
> -	.hbp		= 80,
> -	.vfp		= 3,
> -	.vsw		= 4,
> -	.vbp		= 15,
> -	.pixel_clock	= 56000,
> -
> -#elif defined CONFIG_FB_OMAP_092M9R
> -
> -	/* 1280 x 720 @ 60 Hz  Reduced blanking VESA CVT 0.92M9-R */
> -	.x_res		= 1280,
> -	.y_res		= 720,
> -	.hfp		= 48,
> -	.hsw		= 32,
> -	.hbp		= 80,
> -	.vfp		= 3,
> -	.vsw		= 5,
> -	.vbp		= 13,
> -	.pixel_clock	= 64000,
> -
> -#else
> -
> -	/* use 640 x 480 if no config option */
> -	/* 640 x 480 @ 60 Hz  Reduced blanking VESA CVT 0.31M3-R */
> -	.x_res		= 640,
> -	.y_res		= 480,
> -	.hfp		= 48,
> -	.hsw		= 32,
> -	.hbp		= 80,
> -	.vfp		= 3,
> -	.vsw		= 4,
> -	.vbp		= 7,
> -	.pixel_clock	= 23500,
> -
> -#endif
> -
> -	.init		= overo_panel_init,
> -	.cleanup	= overo_panel_cleanup,
> -	.enable		= overo_panel_enable,
> -	.disable	= overo_panel_disable,
> -	.get_caps	= overo_panel_get_caps,
> -};
> -
> -static int overo_panel_probe(struct platform_device *pdev)
> -{
> -	omapfb_register_panel(&overo_panel);
> -	return 0;
> -}
> -
> -static int overo_panel_remove(struct platform_device *pdev)
> -{
> -	/* omapfb does not have unregister_panel */
> -	return 0;
> -}
> -
> -static struct platform_driver overo_panel_driver = {
> -	.probe		= overo_panel_probe,
> -	.remove		= overo_panel_remove,
> -	.driver		= {
> -		.name	= "overo_lcd",
> -		.owner	= THIS_MODULE,
> -	},
> -};
> -
> -static int __init overo_panel_drv_init(void)
> -{
> -	return platform_driver_register(&overo_panel_driver);
> -}
> -
> -static void __exit overo_panel_drv_exit(void)
> -{
> -	platform_driver_unregister(&overo_panel_driver);
> -}
> -
> -module_init(overo_panel_drv_init);
> -module_exit(overo_panel_drv_exit);
> -- 
> 1.7.4.1
> 


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

end of thread, other threads:[~2011-05-04 13:43 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-05-04 12:27 [PATCH 0/7] OMAP: DSS: porting old drivers to DSS2 Tomi Valkeinen
2011-05-04 12:27 ` [PATCH 1/7] OMAP: OMAPFB: Remove unused lcd drivers Tomi Valkeinen
2011-05-04 12:44   ` Steve Sakoman
2011-05-04 13:43   ` Koen Kooi
2011-05-04 12:27 ` [PATCH 2/7] OMAP: RX51: Remove unused old omapfb stuff Tomi Valkeinen
2011-05-04 12:27 ` [PATCH 3/7] OMAP: omap3touchbook: Remove unused lcd stuff Tomi Valkeinen
2011-05-04 12:27 ` [PATCH 4/7] OMAP: 2420SDP: Port the display driver to new DSS2 Tomi Valkeinen
2011-05-04 12:27 ` [PATCH 5/7] OMAP: LDP: " Tomi Valkeinen
2011-05-04 12:27 ` [PATCH 6/7] OMAP: H4: " Tomi Valkeinen
2011-05-04 12:27 ` [PATCH 7/7] OMAP: Apollon: " Tomi Valkeinen

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).