Skip to content

Commit

Permalink
fbdev: sh_mobile_lcdc: Remove board configuration board_data field
Browse files Browse the repository at this point in the history
The field is unused, remove it. Update board code accordingly.

Signed-off-by: Laurent Pinchart <[email protected]>
  • Loading branch information
pinchartl committed Mar 12, 2012
1 parent aa7b5b0 commit 018882a
Show file tree
Hide file tree
Showing 11 changed files with 37 additions and 55 deletions.
14 changes: 2 additions & 12 deletions arch/arm/mach-shmobile/board-ag5evm.c
Original file line number Diff line number Diff line change
Expand Up @@ -229,16 +229,6 @@ static void lcd_backlight_reset(void)
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 */
static const struct fb_videomode lcdc0_modes[] = {
{
Expand Down Expand Up @@ -268,8 +258,8 @@ static struct sh_mobile_lcdc_info lcdc0_info = {
.lcd_cfg = lcdc0_modes,
.num_cfg = ARRAY_SIZE(lcdc0_modes),
.board_cfg = {
.display_on = lcd_on,
.display_off = lcd_off,
.display_on = lcd_backlight_on,
.display_off = lcd_backlight_reset,
},
}
};
Expand Down
4 changes: 2 additions & 2 deletions arch/arm/mach-shmobile/board-mackerel.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);

return 0;
}

static int mackerel_get_brightness(void *board_data)
static int mackerel_get_brightness(void)
{
return gpio_get_value(GPIO_PORT31);
}
Expand Down
8 changes: 4 additions & 4 deletions arch/sh/boards/mach-ap325rxa/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ static struct platform_device nand_flash_device = {
#define PORT_DRVCRA 0xA405018A
#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) {
gpio_set_value(GPIO_PTS3, 0);
Expand All @@ -170,20 +170,20 @@ static int ap320_wvga_set_brightness(void *board_data, int brightness)
return 0;
}

static int ap320_wvga_get_brightness(void *board_data)
static int ap320_wvga_get_brightness(void)
{
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);

/* ASD AP-320/325 LCD ON */
__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 */
__raw_writew(0, FPGA_LCDREG);
Expand Down
4 changes: 2 additions & 2 deletions arch/sh/boards/mach-ecovec24/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);

return 0;
}

static int ecovec24_get_brightness(void *board_data)
static int ecovec24_get_brightness(void)
{
return gpio_get_value(GPIO_PTR1);
}
Expand Down
10 changes: 4 additions & 6 deletions arch/sh/boards/mach-kfr2r09/lcd_wqvga.c
Original file line number Diff line number Diff line change
Expand Up @@ -251,8 +251,7 @@ static void display_on(void *sohandle,
write_memory_start(sohandle, so);
}

int kfr2r09_lcd_setup(void *board_data, void *sohandle,
struct sh_mobile_lcdc_sys_bus_ops *so)
int kfr2r09_lcd_setup(void *sohandle, struct sh_mobile_lcdc_sys_bus_ops *so)
{
/* power on */
gpio_set_value(GPIO_PTF4, 0); /* PROTECT/ -> L */
Expand All @@ -273,8 +272,7 @@ int kfr2r09_lcd_setup(void *board_data, void *sohandle,
return 0;
}

void kfr2r09_lcd_start(void *board_data, void *sohandle,
struct sh_mobile_lcdc_sys_bus_ops *so)
void kfr2r09_lcd_start(void *sohandle, struct sh_mobile_lcdc_sys_bus_ops *so)
{
write_memory_start(sohandle, so);
}
Expand Down Expand Up @@ -327,12 +325,12 @@ static int kfr2r09_lcd_backlight(int on)
return 0;
}

void kfr2r09_lcd_on(void *board_data, struct fb_info *info)
void kfr2r09_lcd_on(void)
{
kfr2r09_lcd_backlight(1);
}

void kfr2r09_lcd_off(void *board_data)
void kfr2r09_lcd_off(void)
{
kfr2r09_lcd_backlight(0);
}
3 changes: 1 addition & 2 deletions arch/sh/boards/mach-migor/lcd_qvga.c
Original file line number Diff line number Diff line change
Expand Up @@ -113,8 +113,7 @@ static const unsigned short magic3_data[] = {
0x0010, 0x16B0, 0x0011, 0x0111, 0x0007, 0x0061,
};

int migor_lcd_qvga_setup(void *board_data, void *sohandle,
struct sh_mobile_lcdc_sys_bus_ops *so)
int migor_lcd_qvga_setup(void *sohandle, struct sh_mobile_lcdc_sys_bus_ops *so)
{
unsigned long xres = 320;
unsigned long yres = 240;
Expand Down
2 changes: 0 additions & 2 deletions arch/sh/boards/mach-se/7724/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -186,8 +186,6 @@ static struct sh_mobile_lcdc_info lcdc_info = {
.width = 152,
.height = 91,
},
.board_cfg = {
},
}
};

Expand Down
16 changes: 8 additions & 8 deletions arch/sh/include/mach-kfr2r09/mach/kfr2r09.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,21 @@
#include <video/sh_mobile_lcdc.h>

#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,
void kfr2r09_lcd_on(void);
void kfr2r09_lcd_off(void);
int kfr2r09_lcd_setup(void *sys_ops_handle,
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);
#else
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,
static void kfr2r09_lcd_on(void) {}
static void kfr2r09_lcd_off(void) {}
static int kfr2r09_lcd_setup(void *sys_ops_handle,
struct sh_mobile_lcdc_sys_bus_ops *sys_ops)
{
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)
{
}
Expand Down
2 changes: 1 addition & 1 deletion arch/sh/include/mach-migor/mach/migor.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

#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);

#endif /* __ASM_SH_MIGOR_H */
16 changes: 7 additions & 9 deletions drivers/video/sh_mobile_lcdcfb.c
Original file line number Diff line number Diff line change
Expand Up @@ -315,14 +315,12 @@ static void sh_mobile_lcdc_deferred_io(struct fb_info *info,
/* trigger panel update */
dma_map_sg(info->dev, ch->sglist, nr_pages, DMA_TO_DEVICE);
if (bcfg->start_transfer)
bcfg->start_transfer(bcfg->board_data, ch,
&sh_mobile_lcdc_sys_bus_ops);
bcfg->start_transfer(ch, &sh_mobile_lcdc_sys_bus_ops);
lcdc_write_chan(ch, LDSM2R, LDSM2R_OSTRG);
dma_unmap_sg(info->dev, ch->sglist, nr_pages, DMA_TO_DEVICE);
} else {
if (bcfg->start_transfer)
bcfg->start_transfer(bcfg->board_data, ch,
&sh_mobile_lcdc_sys_bus_ops);
bcfg->start_transfer(ch, &sh_mobile_lcdc_sys_bus_ops);
lcdc_write_chan(ch, LDSM2R, LDSM2R_OSTRG);
}
}
Expand All @@ -346,15 +344,15 @@ static void sh_mobile_lcdc_display_on(struct sh_mobile_lcdc_chan *ch)

/* HDMI must be enabled before LCDC configuration */
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)
{
struct sh_mobile_lcdc_board_cfg *board_cfg = &ch->cfg.board_cfg;

if (board_cfg->display_off)
board_cfg->display_off(board_cfg->board_data);
board_cfg->display_off();

if (ch->tx_dev)
ch->tx_dev->ops->display_off(ch->tx_dev);
Expand Down Expand Up @@ -697,7 +695,7 @@ static int sh_mobile_lcdc_start(struct sh_mobile_lcdc_priv *priv)

board_cfg = &ch->cfg.board_cfg;
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);
if (ret)
return ret;
Expand Down Expand Up @@ -1326,15 +1324,15 @@ static int sh_mobile_lcdc_update_bl(struct backlight_device *bdev)
bdev->props.state & (BL_CORE_SUSPENDED | BL_CORE_FBBLANK))
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)
{
struct sh_mobile_lcdc_chan *ch = bl_get_data(bdev);
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,
Expand Down
13 changes: 6 additions & 7 deletions include/video/sh_mobile_lcdc.h
Original file line number Diff line number Diff line change
Expand Up @@ -148,15 +148,14 @@ struct sh_mobile_lcdc_sys_bus_ops {
};

struct sh_mobile_lcdc_board_cfg {
void *board_data;
int (*setup_sys)(void *board_data, void *sys_ops_handle,
int (*setup_sys)(void *sys_ops_handle,
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);
void (*display_on)(void *board_data, struct fb_info *info);
void (*display_off)(void *board_data);
int (*set_brightness)(void *board_data, int brightness);
int (*get_brightness)(void *board_data);
void (*display_on)(void);
void (*display_off)(void);
int (*set_brightness)(int brightness);
int (*get_brightness)(void);
};

struct sh_mobile_lcdc_lcd_size_cfg { /* width and height of panel in mm */
Expand Down

0 comments on commit 018882a

Please sign in to comment.