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>
This commit is contained in:
Guennadi Liakhovetski 2010-07-21 10:13:17 +00:00 committed by Paul Mundt
parent b90884c886
commit c243939817
7 changed files with 17 additions and 15 deletions

View file

@ -154,7 +154,7 @@ static struct platform_device nand_flash_device = {
#define PORT_DRVCRA 0xA405018A #define PORT_DRVCRA 0xA405018A
#define PORT_DRVCRB 0xA405018C #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); msleep(100);

View file

@ -1,2 +1,4 @@
obj-y := setup.o sdram.o obj-y := setup.o sdram.o
obj-$(CONFIG_FB_SH_MOBILE_LCDC) += lcd_wqvga.o ifneq ($(CONFIG_FB_SH_MOBILE_LCDC),)
obj-y += lcd_wqvga.o
endif

View file

@ -327,7 +327,7 @@ static int kfr2r09_lcd_backlight(int on)
return 0; return 0;
} }
void kfr2r09_lcd_on(void *board_data) void kfr2r09_lcd_on(void *board_data, struct fb_info *info)
{ {
kfr2r09_lcd_backlight(1); kfr2r09_lcd_backlight(1);
} }

View file

@ -3,23 +3,23 @@
#include <video/sh_mobile_lcdc.h> #include <video/sh_mobile_lcdc.h>
#ifdef CONFIG_FB_SH_MOBILE_LCDC #if defined(CONFIG_FB_SH_MOBILE_LCDC) || defined(CONFIG_FB_SH_MOBILE_LCDC_MODULE)
void kfr2r09_lcd_on(void *board_data); void kfr2r09_lcd_on(void *board_data, struct fb_info *info);
void kfr2r09_lcd_off(void *board_data); void kfr2r09_lcd_off(void *board_data);
int kfr2r09_lcd_setup(void *board_data, void *sys_ops_handle, int kfr2r09_lcd_setup(void *board_data, void *sys_ops_handle,
struct sh_mobile_lcdc_sys_bus_ops *sys_ops); struct sh_mobile_lcdc_sys_bus_ops *sys_ops);
void kfr2r09_lcd_start(void *board_data, void *sys_ops_handle, void kfr2r09_lcd_start(void *board_data, void *sys_ops_handle,
struct sh_mobile_lcdc_sys_bus_ops *sys_ops); struct sh_mobile_lcdc_sys_bus_ops *sys_ops);
#else #else
static inline void kfr2r09_lcd_on(void *board_data) {} static void kfr2r09_lcd_on(void *board_data) {}
static inline void kfr2r09_lcd_off(void *board_data) {} static void kfr2r09_lcd_off(void *board_data) {}
static inline int kfr2r09_lcd_setup(void *board_data, void *sys_ops_handle, static int kfr2r09_lcd_setup(void *board_data, void *sys_ops_handle,
struct sh_mobile_lcdc_sys_bus_ops *sys_ops) struct sh_mobile_lcdc_sys_bus_ops *sys_ops)
{ {
return -ENODEV; return -ENODEV;
} }
static inline void kfr2r09_lcd_start(void *board_data, void *sys_ops_handle, static void kfr2r09_lcd_start(void *board_data, void *sys_ops_handle,
struct sh_mobile_lcdc_sys_bus_ops *sys_ops) struct sh_mobile_lcdc_sys_bus_ops *sys_ops)
{ {
} }
#endif #endif

View file

@ -100,7 +100,7 @@ static void sh_mipi_shutdown(struct platform_device *pdev)
sh_mipi_dsi_enable(mipi, false); 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; struct sh_mipi *mipi = arg;

View file

@ -577,7 +577,7 @@ static int sh_mobile_lcdc_start(struct sh_mobile_lcdc_priv *priv)
board_cfg = &ch->cfg.board_cfg; board_cfg = &ch->cfg.board_cfg;
if (board_cfg->display_on) 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; return 0;

View file

@ -55,7 +55,7 @@ struct sh_mobile_lcdc_board_cfg {
struct sh_mobile_lcdc_sys_bus_ops *sys_ops); struct sh_mobile_lcdc_sys_bus_ops *sys_ops);
void (*start_transfer)(void *board_data, void *sys_ops_handle, void (*start_transfer)(void *board_data, void *sys_ops_handle,
struct sh_mobile_lcdc_sys_bus_ops *sys_ops); 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); void (*display_off)(void *board_data);
}; };