diff options
author | Guennadi Liakhovetski <g.liakhovetski@gmx.de> | 2010-07-21 10:13:17 +0000 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2010-08-04 16:12:11 +0900 |
commit | c2439398170be9d7af28eb3ab59593369cb303f3 (patch) | |
tree | 19a1b4078363950e13c940dcd32d38e884a8257b | |
parent | b90884c886696a67a4c7832b4e627f341a860b3d (diff) | |
download | op-kernel-dev-c2439398170be9d7af28eb3ab59593369cb303f3.zip op-kernel-dev-c2439398170be9d7af28eb3ab59593369cb303f3.tar.gz |
sh: add a parameter to LCDC driver's .display_on() callback
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>
-rw-r--r-- | arch/sh/boards/mach-ap325rxa/setup.c | 2 | ||||
-rw-r--r-- | arch/sh/boards/mach-kfr2r09/Makefile | 6 | ||||
-rw-r--r-- | arch/sh/boards/mach-kfr2r09/lcd_wqvga.c | 2 | ||||
-rw-r--r-- | arch/sh/include/mach-kfr2r09/mach/kfr2r09.h | 16 | ||||
-rw-r--r-- | drivers/video/sh_mipi_dsi.c | 2 | ||||
-rw-r--r-- | drivers/video/sh_mobile_lcdcfb.c | 2 | ||||
-rw-r--r-- | include/video/sh_mobile_lcdc.h | 2 |
7 files changed, 17 insertions, 15 deletions
diff --git a/arch/sh/boards/mach-ap325rxa/setup.c b/arch/sh/boards/mach-ap325rxa/setup.c index 3a170bd..5471989 100644 --- a/arch/sh/boards/mach-ap325rxa/setup.c +++ b/arch/sh/boards/mach-ap325rxa/setup.c @@ -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); diff --git a/arch/sh/boards/mach-kfr2r09/Makefile b/arch/sh/boards/mach-kfr2r09/Makefile index 4e577a3..60dd63f 100644 --- a/arch/sh/boards/mach-kfr2r09/Makefile +++ b/arch/sh/boards/mach-kfr2r09/Makefile @@ -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 diff --git a/arch/sh/boards/mach-kfr2r09/lcd_wqvga.c b/arch/sh/boards/mach-kfr2r09/lcd_wqvga.c index e9b97084..25e145f 100644 --- a/arch/sh/boards/mach-kfr2r09/lcd_wqvga.c +++ b/arch/sh/boards/mach-kfr2r09/lcd_wqvga.c @@ -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); } diff --git a/arch/sh/include/mach-kfr2r09/mach/kfr2r09.h b/arch/sh/include/mach-kfr2r09/mach/kfr2r09.h index 484ef42..07e635b 100644 --- a/arch/sh/include/mach-kfr2r09/mach/kfr2r09.h +++ b/arch/sh/include/mach-kfr2r09/mach/kfr2r09.h @@ -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 diff --git a/drivers/video/sh_mipi_dsi.c b/drivers/video/sh_mipi_dsi.c index 017ae9f..5699ce0 100644 --- a/drivers/video/sh_mipi_dsi.c +++ b/drivers/video/sh_mipi_dsi.c @@ -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; diff --git a/drivers/video/sh_mobile_lcdcfb.c b/drivers/video/sh_mobile_lcdcfb.c index 0c97509..b9e6f93 100644 --- a/drivers/video/sh_mobile_lcdcfb.c +++ b/drivers/video/sh_mobile_lcdcfb.c @@ -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; diff --git a/include/video/sh_mobile_lcdc.h b/include/video/sh_mobile_lcdc.h index 2439344..55d700e 100644 --- a/include/video/sh_mobile_lcdc.h +++ b/include/video/sh_mobile_lcdc.h @@ -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); }; |