Commit 018882aa authored by Laurent Pinchart's avatar Laurent Pinchart

fbdev: sh_mobile_lcdc: Remove board configuration board_data field

The field is unused, remove it. Update board code accordingly.
Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
parent aa7b5b0b
...@@ -229,16 +229,6 @@ static void lcd_backlight_reset(void) ...@@ -229,16 +229,6 @@ static void lcd_backlight_reset(void)
gpio_set_value(GPIO_PORT235, 1); gpio_set_value(GPIO_PORT235, 1);
} }
static void lcd_on(void *board_data, struct fb_info *info)
{
lcd_backlight_on();
}
static void lcd_off(void *board_data)
{
lcd_backlight_reset();
}
/* LCDC0 */ /* LCDC0 */
static const struct fb_videomode lcdc0_modes[] = { static const struct fb_videomode lcdc0_modes[] = {
{ {
...@@ -268,8 +258,8 @@ static struct sh_mobile_lcdc_info lcdc0_info = { ...@@ -268,8 +258,8 @@ static struct sh_mobile_lcdc_info lcdc0_info = {
.lcd_cfg = lcdc0_modes, .lcd_cfg = lcdc0_modes,
.num_cfg = ARRAY_SIZE(lcdc0_modes), .num_cfg = ARRAY_SIZE(lcdc0_modes),
.board_cfg = { .board_cfg = {
.display_on = lcd_on, .display_on = lcd_backlight_on,
.display_off = lcd_off, .display_off = lcd_backlight_reset,
}, },
} }
}; };
......
...@@ -351,14 +351,14 @@ static struct fb_videomode mackerel_lcdc_modes[] = { ...@@ -351,14 +351,14 @@ static struct fb_videomode mackerel_lcdc_modes[] = {
}, },
}; };
static int mackerel_set_brightness(void *board_data, int brightness) static int mackerel_set_brightness(int brightness)
{ {
gpio_set_value(GPIO_PORT31, brightness); gpio_set_value(GPIO_PORT31, brightness);
return 0; return 0;
} }
static int mackerel_get_brightness(void *board_data) static int mackerel_get_brightness(void)
{ {
return gpio_get_value(GPIO_PORT31); return gpio_get_value(GPIO_PORT31);
} }
......
...@@ -157,7 +157,7 @@ static struct platform_device nand_flash_device = { ...@@ -157,7 +157,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 int ap320_wvga_set_brightness(void *board_data, int brightness) static int ap320_wvga_set_brightness(int brightness)
{ {
if (brightness) { if (brightness) {
gpio_set_value(GPIO_PTS3, 0); gpio_set_value(GPIO_PTS3, 0);
...@@ -170,12 +170,12 @@ static int ap320_wvga_set_brightness(void *board_data, int brightness) ...@@ -170,12 +170,12 @@ static int ap320_wvga_set_brightness(void *board_data, int brightness)
return 0; return 0;
} }
static int ap320_wvga_get_brightness(void *board_data) static int ap320_wvga_get_brightness(void)
{ {
return gpio_get_value(GPIO_PTS3); return gpio_get_value(GPIO_PTS3);
} }
static void ap320_wvga_power_on(void *board_data, struct fb_info *info) static void ap320_wvga_power_on(void)
{ {
msleep(100); msleep(100);
...@@ -183,7 +183,7 @@ static void ap320_wvga_power_on(void *board_data, struct fb_info *info) ...@@ -183,7 +183,7 @@ static void ap320_wvga_power_on(void *board_data, struct fb_info *info)
__raw_writew(FPGA_LCDREG_VAL, FPGA_LCDREG); __raw_writew(FPGA_LCDREG_VAL, FPGA_LCDREG);
} }
static void ap320_wvga_power_off(void *board_data) static void ap320_wvga_power_off(void)
{ {
/* ASD AP-320/325 LCD OFF */ /* ASD AP-320/325 LCD OFF */
__raw_writew(0, FPGA_LCDREG); __raw_writew(0, FPGA_LCDREG);
......
...@@ -310,14 +310,14 @@ static const struct fb_videomode ecovec_dvi_modes[] = { ...@@ -310,14 +310,14 @@ static const struct fb_videomode ecovec_dvi_modes[] = {
}, },
}; };
static int ecovec24_set_brightness(void *board_data, int brightness) static int ecovec24_set_brightness(int brightness)
{ {
gpio_set_value(GPIO_PTR1, brightness); gpio_set_value(GPIO_PTR1, brightness);
return 0; return 0;
} }
static int ecovec24_get_brightness(void *board_data) static int ecovec24_get_brightness(void)
{ {
return gpio_get_value(GPIO_PTR1); return gpio_get_value(GPIO_PTR1);
} }
......
...@@ -251,8 +251,7 @@ static void display_on(void *sohandle, ...@@ -251,8 +251,7 @@ static void display_on(void *sohandle,
write_memory_start(sohandle, so); write_memory_start(sohandle, so);
} }
int kfr2r09_lcd_setup(void *board_data, void *sohandle, int kfr2r09_lcd_setup(void *sohandle, struct sh_mobile_lcdc_sys_bus_ops *so)
struct sh_mobile_lcdc_sys_bus_ops *so)
{ {
/* power on */ /* power on */
gpio_set_value(GPIO_PTF4, 0); /* PROTECT/ -> L */ gpio_set_value(GPIO_PTF4, 0); /* PROTECT/ -> L */
...@@ -273,8 +272,7 @@ int kfr2r09_lcd_setup(void *board_data, void *sohandle, ...@@ -273,8 +272,7 @@ int kfr2r09_lcd_setup(void *board_data, void *sohandle,
return 0; return 0;
} }
void kfr2r09_lcd_start(void *board_data, void *sohandle, void kfr2r09_lcd_start(void *sohandle, struct sh_mobile_lcdc_sys_bus_ops *so)
struct sh_mobile_lcdc_sys_bus_ops *so)
{ {
write_memory_start(sohandle, so); write_memory_start(sohandle, so);
} }
...@@ -327,12 +325,12 @@ static int kfr2r09_lcd_backlight(int on) ...@@ -327,12 +325,12 @@ static int kfr2r09_lcd_backlight(int on)
return 0; return 0;
} }
void kfr2r09_lcd_on(void *board_data, struct fb_info *info) void kfr2r09_lcd_on(void)
{ {
kfr2r09_lcd_backlight(1); kfr2r09_lcd_backlight(1);
} }
void kfr2r09_lcd_off(void *board_data) void kfr2r09_lcd_off(void)
{ {
kfr2r09_lcd_backlight(0); kfr2r09_lcd_backlight(0);
} }
...@@ -113,8 +113,7 @@ static const unsigned short magic3_data[] = { ...@@ -113,8 +113,7 @@ static const unsigned short magic3_data[] = {
0x0010, 0x16B0, 0x0011, 0x0111, 0x0007, 0x0061, 0x0010, 0x16B0, 0x0011, 0x0111, 0x0007, 0x0061,
}; };
int migor_lcd_qvga_setup(void *board_data, void *sohandle, int migor_lcd_qvga_setup(void *sohandle, struct sh_mobile_lcdc_sys_bus_ops *so)
struct sh_mobile_lcdc_sys_bus_ops *so)
{ {
unsigned long xres = 320; unsigned long xres = 320;
unsigned long yres = 240; unsigned long yres = 240;
......
...@@ -186,8 +186,6 @@ static struct sh_mobile_lcdc_info lcdc_info = { ...@@ -186,8 +186,6 @@ static struct sh_mobile_lcdc_info lcdc_info = {
.width = 152, .width = 152,
.height = 91, .height = 91,
}, },
.board_cfg = {
},
} }
}; };
......
...@@ -4,21 +4,21 @@ ...@@ -4,21 +4,21 @@
#include <video/sh_mobile_lcdc.h> #include <video/sh_mobile_lcdc.h>
#if defined(CONFIG_FB_SH_MOBILE_LCDC) || defined(CONFIG_FB_SH_MOBILE_LCDC_MODULE) #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_on(void);
void kfr2r09_lcd_off(void *board_data); void kfr2r09_lcd_off(void);
int kfr2r09_lcd_setup(void *board_data, void *sys_ops_handle, int kfr2r09_lcd_setup(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 *sys_ops_handle,
struct sh_mobile_lcdc_sys_bus_ops *sys_ops); struct sh_mobile_lcdc_sys_bus_ops *sys_ops);
#else #else
static void kfr2r09_lcd_on(void *board_data) {} static void kfr2r09_lcd_on(void) {}
static void kfr2r09_lcd_off(void *board_data) {} static void kfr2r09_lcd_off(void) {}
static int kfr2r09_lcd_setup(void *board_data, void *sys_ops_handle, static int kfr2r09_lcd_setup(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 void kfr2r09_lcd_start(void *board_data, void *sys_ops_handle, static void kfr2r09_lcd_start(void *sys_ops_handle,
struct sh_mobile_lcdc_sys_bus_ops *sys_ops) struct sh_mobile_lcdc_sys_bus_ops *sys_ops)
{ {
} }
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
#include <video/sh_mobile_lcdc.h> #include <video/sh_mobile_lcdc.h>
int migor_lcd_qvga_setup(void *board_data, void *sys_ops_handle, int migor_lcd_qvga_setup(void *sys_ops_handle,
struct sh_mobile_lcdc_sys_bus_ops *sys_ops); struct sh_mobile_lcdc_sys_bus_ops *sys_ops);
#endif /* __ASM_SH_MIGOR_H */ #endif /* __ASM_SH_MIGOR_H */
...@@ -315,14 +315,12 @@ static void sh_mobile_lcdc_deferred_io(struct fb_info *info, ...@@ -315,14 +315,12 @@ static void sh_mobile_lcdc_deferred_io(struct fb_info *info,
/* trigger panel update */ /* trigger panel update */
dma_map_sg(info->dev, ch->sglist, nr_pages, DMA_TO_DEVICE); dma_map_sg(info->dev, ch->sglist, nr_pages, DMA_TO_DEVICE);
if (bcfg->start_transfer) if (bcfg->start_transfer)
bcfg->start_transfer(bcfg->board_data, ch, bcfg->start_transfer(ch, &sh_mobile_lcdc_sys_bus_ops);
&sh_mobile_lcdc_sys_bus_ops);
lcdc_write_chan(ch, LDSM2R, LDSM2R_OSTRG); lcdc_write_chan(ch, LDSM2R, LDSM2R_OSTRG);
dma_unmap_sg(info->dev, ch->sglist, nr_pages, DMA_TO_DEVICE); dma_unmap_sg(info->dev, ch->sglist, nr_pages, DMA_TO_DEVICE);
} else { } else {
if (bcfg->start_transfer) if (bcfg->start_transfer)
bcfg->start_transfer(bcfg->board_data, ch, bcfg->start_transfer(ch, &sh_mobile_lcdc_sys_bus_ops);
&sh_mobile_lcdc_sys_bus_ops);
lcdc_write_chan(ch, LDSM2R, LDSM2R_OSTRG); lcdc_write_chan(ch, LDSM2R, LDSM2R_OSTRG);
} }
} }
...@@ -346,7 +344,7 @@ static void sh_mobile_lcdc_display_on(struct sh_mobile_lcdc_chan *ch) ...@@ -346,7 +344,7 @@ static void sh_mobile_lcdc_display_on(struct sh_mobile_lcdc_chan *ch)
/* HDMI must be enabled before LCDC configuration */ /* HDMI must be enabled before LCDC configuration */
if (board_cfg->display_on) if (board_cfg->display_on)
board_cfg->display_on(board_cfg->board_data, ch->info); board_cfg->display_on();
} }
static void sh_mobile_lcdc_display_off(struct sh_mobile_lcdc_chan *ch) static void sh_mobile_lcdc_display_off(struct sh_mobile_lcdc_chan *ch)
...@@ -354,7 +352,7 @@ static void sh_mobile_lcdc_display_off(struct sh_mobile_lcdc_chan *ch) ...@@ -354,7 +352,7 @@ static void sh_mobile_lcdc_display_off(struct sh_mobile_lcdc_chan *ch)
struct sh_mobile_lcdc_board_cfg *board_cfg = &ch->cfg.board_cfg; struct sh_mobile_lcdc_board_cfg *board_cfg = &ch->cfg.board_cfg;
if (board_cfg->display_off) if (board_cfg->display_off)
board_cfg->display_off(board_cfg->board_data); board_cfg->display_off();
if (ch->tx_dev) if (ch->tx_dev)
ch->tx_dev->ops->display_off(ch->tx_dev); ch->tx_dev->ops->display_off(ch->tx_dev);
...@@ -697,7 +695,7 @@ static int sh_mobile_lcdc_start(struct sh_mobile_lcdc_priv *priv) ...@@ -697,7 +695,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->setup_sys) { if (board_cfg->setup_sys) {
ret = board_cfg->setup_sys(board_cfg->board_data, ch, ret = board_cfg->setup_sys(ch,
&sh_mobile_lcdc_sys_bus_ops); &sh_mobile_lcdc_sys_bus_ops);
if (ret) if (ret)
return ret; return ret;
...@@ -1326,7 +1324,7 @@ static int sh_mobile_lcdc_update_bl(struct backlight_device *bdev) ...@@ -1326,7 +1324,7 @@ static int sh_mobile_lcdc_update_bl(struct backlight_device *bdev)
bdev->props.state & (BL_CORE_SUSPENDED | BL_CORE_FBBLANK)) bdev->props.state & (BL_CORE_SUSPENDED | BL_CORE_FBBLANK))
brightness = 0; brightness = 0;
return cfg->set_brightness(cfg->board_data, brightness); return cfg->set_brightness(brightness);
} }
static int sh_mobile_lcdc_get_brightness(struct backlight_device *bdev) static int sh_mobile_lcdc_get_brightness(struct backlight_device *bdev)
...@@ -1334,7 +1332,7 @@ static int sh_mobile_lcdc_get_brightness(struct backlight_device *bdev) ...@@ -1334,7 +1332,7 @@ static int sh_mobile_lcdc_get_brightness(struct backlight_device *bdev)
struct sh_mobile_lcdc_chan *ch = bl_get_data(bdev); struct sh_mobile_lcdc_chan *ch = bl_get_data(bdev);
struct sh_mobile_lcdc_board_cfg *cfg = &ch->cfg.board_cfg; struct sh_mobile_lcdc_board_cfg *cfg = &ch->cfg.board_cfg;
return cfg->get_brightness(cfg->board_data); return cfg->get_brightness();
} }
static int sh_mobile_lcdc_check_fb(struct backlight_device *bdev, static int sh_mobile_lcdc_check_fb(struct backlight_device *bdev,
......
...@@ -148,15 +148,14 @@ struct sh_mobile_lcdc_sys_bus_ops { ...@@ -148,15 +148,14 @@ struct sh_mobile_lcdc_sys_bus_ops {
}; };
struct sh_mobile_lcdc_board_cfg { struct sh_mobile_lcdc_board_cfg {
void *board_data; int (*setup_sys)(void *sys_ops_handle,
int (*setup_sys)(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 (*start_transfer)(void *board_data, void *sys_ops_handle, void (*start_transfer)(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, struct fb_info *info); void (*display_on)(void);
void (*display_off)(void *board_data); void (*display_off)(void);
int (*set_brightness)(void *board_data, int brightness); int (*set_brightness)(int brightness);
int (*get_brightness)(void *board_data); int (*get_brightness)(void);
}; };
struct sh_mobile_lcdc_lcd_size_cfg { /* width and height of panel in mm */ struct sh_mobile_lcdc_lcd_size_cfg { /* width and height of panel in mm */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment