]> git.karo-electronics.de Git - mv-sheeva.git/commitdiff
sh: add a parameter to LCDC driver's .display_on() callback
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Wed, 21 Jul 2010 10:13:17 +0000 (10:13 +0000)
committerPaul Mundt <lethal@linux-sh.org>
Wed, 4 Aug 2010 07:12:11 +0000 (16:12 +0900)
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 3a170bd3f3d06c1453b32e4ff544958859818ef2..5471989d46ffa7c1b4ee6057d3003303ed053938 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 4e577a3bf6583ca4200f56f2405e43e90f54b87d..60dd63f4a4272893f069ef70064d2b63a1a4f6f2 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 e9b970846c41fcb0c96a105ed277059f722a57b3..25e145fb7087c443e525d7726962c2defa49865e 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 484ef42c2fb5b8d35084f9ef38c9693edadd5a16..07e635b0e04cd4adae2c0c8b5da8e198f231be08 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 017ae9f47d36eafb484cc7f2f4b3fbfcf42ef3b7..5699ce0c1780c57fe23474259ec7ad9022ef1ba6 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 0c97509d0237fd3eb9a6bcbfc5098bf2ac1b91af..b9e6f93642d274418e84eedc953842f02caca62d 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 24393449960f7dc8fe8fbbea52ae9c72161673e5..55d700e8566e6fe1dcb8f1c6ec3e35ff37678c7f 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);
 };