sh: add a parameter to LCDC driver's .display_on() callback
Guennadi Liakhovetski [Wed, 21 Jul 2010 10:13:17 +0000 (10:13 +0000)]
HDMI support for the sh_mobile_lcdc framebuffer driver will require a 'struct
fb_info *' pointer for its .display_on() callback. While at it fix kfr2r09
framebuffer modular build.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>

arch/sh/boards/mach-ap325rxa/setup.c
arch/sh/boards/mach-kfr2r09/Makefile
arch/sh/boards/mach-kfr2r09/lcd_wqvga.c
arch/sh/include/mach-kfr2r09/mach/kfr2r09.h
drivers/video/sh_mipi_dsi.c
drivers/video/sh_mobile_lcdcfb.c
include/video/sh_mobile_lcdc.h

index 3a170bd..5471989 100644 (file)
@@ -154,7 +154,7 @@ static struct platform_device nand_flash_device = {
 #define PORT_DRVCRA    0xA405018A
 #define PORT_DRVCRB    0xA405018C
 
-static void ap320_wvga_power_on(void *board_data)
+static void ap320_wvga_power_on(void *board_data, struct fb_info *info)
 {
        msleep(100);
 
index 4e577a3..60dd63f 100644 (file)
@@ -1,2 +1,4 @@
-obj-y   := setup.o sdram.o
-obj-$(CONFIG_FB_SH_MOBILE_LCDC)        +=  lcd_wqvga.o
+obj-y  := setup.o sdram.o
+ifneq ($(CONFIG_FB_SH_MOBILE_LCDC),)
+obj-y  +=  lcd_wqvga.o
+endif
index e9b9708..25e145f 100644 (file)
@@ -327,7 +327,7 @@ static int kfr2r09_lcd_backlight(int on)
        return 0;
 }
 
-void kfr2r09_lcd_on(void *board_data)
+void kfr2r09_lcd_on(void *board_data, struct fb_info *info)
 {
        kfr2r09_lcd_backlight(1);
 }
index 484ef42..07e635b 100644 (file)
@@ -3,23 +3,23 @@
 
 #include <video/sh_mobile_lcdc.h>
 
-#ifdef CONFIG_FB_SH_MOBILE_LCDC
-void kfr2r09_lcd_on(void *board_data);
+#if defined(CONFIG_FB_SH_MOBILE_LCDC) || defined(CONFIG_FB_SH_MOBILE_LCDC_MODULE)
+void kfr2r09_lcd_on(void *board_data, struct fb_info *info);
 void kfr2r09_lcd_off(void *board_data);
 int kfr2r09_lcd_setup(void *board_data, void *sys_ops_handle,
                      struct sh_mobile_lcdc_sys_bus_ops *sys_ops);
 void kfr2r09_lcd_start(void *board_data, void *sys_ops_handle,
                       struct sh_mobile_lcdc_sys_bus_ops *sys_ops);
 #else
-static inline void kfr2r09_lcd_on(void *board_data) {}
-static inline void kfr2r09_lcd_off(void *board_data) {}
-static inline int kfr2r09_lcd_setup(void *board_data, void *sys_ops_handle,
-                                   struct sh_mobile_lcdc_sys_bus_ops *sys_ops)
+static void kfr2r09_lcd_on(void *board_data) {}
+static void kfr2r09_lcd_off(void *board_data) {}
+static int kfr2r09_lcd_setup(void *board_data, void *sys_ops_handle,
+                               struct sh_mobile_lcdc_sys_bus_ops *sys_ops)
 {
        return -ENODEV;
 }
-static inline void kfr2r09_lcd_start(void *board_data, void *sys_ops_handle,
-                                    struct sh_mobile_lcdc_sys_bus_ops *sys_ops)
+static void kfr2r09_lcd_start(void *board_data, void *sys_ops_handle,
+                               struct sh_mobile_lcdc_sys_bus_ops *sys_ops)
 {
 }
 #endif
index 017ae9f..5699ce0 100644 (file)
@@ -100,7 +100,7 @@ static void sh_mipi_shutdown(struct platform_device *pdev)
        sh_mipi_dsi_enable(mipi, false);
 }
 
-static void mipi_display_on(void *arg)
+static void mipi_display_on(void *arg, struct fb_info *info)
 {
        struct sh_mipi *mipi = arg;
 
index 0c97509..b9e6f93 100644 (file)
@@ -577,7 +577,7 @@ static int sh_mobile_lcdc_start(struct sh_mobile_lcdc_priv *priv)
 
                board_cfg = &ch->cfg.board_cfg;
                if (board_cfg->display_on)
-                       board_cfg->display_on(board_cfg->board_data);
+                       board_cfg->display_on(board_cfg->board_data, ch->info);
        }
 
        return 0;
index 2439344..55d700e 100644 (file)
@@ -55,7 +55,7 @@ struct sh_mobile_lcdc_board_cfg {
                         struct sh_mobile_lcdc_sys_bus_ops *sys_ops);
        void (*start_transfer)(void *board_data, void *sys_ops_handle,
                               struct sh_mobile_lcdc_sys_bus_ops *sys_ops);
-       void (*display_on)(void *board_data);
+       void (*display_on)(void *board_data, struct fb_info *info);
        void (*display_off)(void *board_data);
 };