]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - arch/arm/mach-omap2/board-omap3beagle.c
Merge tag 'cleanup-initcall' of git://git.kernel.org/pub/scm/linux/kernel/git/arm...
[karo-tx-linux.git] / arch / arm / mach-omap2 / board-omap3beagle.c
index ae7d3a737baf1e2cd52da33265a3fbf411c85209..79c6909eeb785ef24d71be68f076034c0cd476df 100644 (file)
@@ -42,7 +42,7 @@
 #include <plat/board.h>
 #include "common.h"
 #include <video/omapdss.h>
-#include <video/omap-panel-dvi.h>
+#include <video/omap-panel-tfp410.h>
 #include <plat/gpmc.h>
 #include <plat/nand.h>
 #include <plat/usb.h>
@@ -193,33 +193,17 @@ static struct mtd_partition omap3beagle_nand_partitions[] = {
 
 /* DSS */
 
-static int beagle_enable_dvi(struct omap_dss_device *dssdev)
-{
-       if (gpio_is_valid(dssdev->reset_gpio))
-               gpio_set_value(dssdev->reset_gpio, 1);
-
-       return 0;
-}
-
-static void beagle_disable_dvi(struct omap_dss_device *dssdev)
-{
-       if (gpio_is_valid(dssdev->reset_gpio))
-               gpio_set_value(dssdev->reset_gpio, 0);
-}
-
-static struct panel_dvi_platform_data dvi_panel = {
-       .platform_enable = beagle_enable_dvi,
-       .platform_disable = beagle_disable_dvi,
+static struct tfp410_platform_data dvi_panel = {
        .i2c_bus_num = 3,
+       .power_down_gpio = -1,
 };
 
 static struct omap_dss_device beagle_dvi_device = {
        .type = OMAP_DISPLAY_TYPE_DPI,
        .name = "dvi",
-       .driver_name = "dvi",
+       .driver_name = "tfp410",
        .data = &dvi_panel,
        .phy.dpi.data_lines = 24,
-       .reset_gpio = -EINVAL,
 };
 
 static struct omap_dss_device beagle_tv_device = {
@@ -240,16 +224,6 @@ static struct omap_dss_board_info beagle_dss_data = {
        .default_device = &beagle_dvi_device,
 };
 
-static void __init beagle_display_init(void)
-{
-       int r;
-
-       r = gpio_request_one(beagle_dvi_device.reset_gpio, GPIOF_OUT_INIT_LOW,
-                            "DVI reset");
-       if (r < 0)
-               printk(KERN_ERR "Unable to get DVI reset GPIO\n");
-}
-
 #include "sdram-micron-mt46h32m32lf-6.h"
 
 static struct omap2_hsmmc_info mmc[] = {
@@ -313,7 +287,7 @@ static int beagle_twl_gpio_setup(struct device *dev,
                if (gpio_request_one(gpio + 1, GPIOF_IN, "EHCI_nOC"))
                        pr_err("%s: unable to configure EHCI_nOC\n", __func__);
        }
-       beagle_dvi_device.reset_gpio = beagle_config.reset_gpio;
+       dvi_panel.power_down_gpio = beagle_config.reset_gpio;
 
        gpio_request_one(gpio + TWL4030_GPIO_MAX, beagle_config.usb_pwr_level,
                        "nEN_USB_PWR");
@@ -557,7 +531,6 @@ static void __init omap3_beagle_init(void)
        omap_mux_init_signal("sdrc_cke0", OMAP_PIN_OUTPUT);
        omap_mux_init_signal("sdrc_cke1", OMAP_PIN_OUTPUT);
 
-       beagle_display_init();
        beagle_opp_init();
 }
 
@@ -570,6 +543,7 @@ MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
        .init_irq       = omap3_init_irq,
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = omap3_beagle_init,
+       .init_late      = omap3_init_late,
        .timer          = &omap3_secure_timer,
        .restart        = omap_prcm_restart,
 MACHINE_END