]> git.karo-electronics.de Git - mv-sheeva.git/commitdiff
fbdev: sh_mobile_lcdc: Merge board_cfg and lcd_size_cfg into panel_cfg
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Sun, 11 Sep 2011 20:59:04 +0000 (22:59 +0200)
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Mon, 12 Mar 2012 21:40:50 +0000 (22:40 +0100)
Update board code accordingly.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
arch/arm/mach-shmobile/board-ag5evm.c
arch/arm/mach-shmobile/board-ap4evb.c
arch/arm/mach-shmobile/board-bonito.c
arch/arm/mach-shmobile/board-mackerel.c
arch/sh/boards/mach-ap325rxa/setup.c
arch/sh/boards/mach-ecovec24/setup.c
arch/sh/boards/mach-kfr2r09/setup.c
arch/sh/boards/mach-migor/setup.c
arch/sh/boards/mach-se/7724/setup.c
drivers/video/sh_mobile_lcdcfb.c
include/video/sh_mobile_lcdc.h

index 7108c5da6077218f2c48f610a414ef4933139ddd..199b3b958f4230f9a5a9deff8d49e97e91659e32 100644 (file)
@@ -252,12 +252,12 @@ static struct sh_mobile_lcdc_info lcdc0_info = {
                .interface_type = RGB24,
                .clock_divider = 1,
                .flags = LCDC_FLAGS_DWPOL,
-               .lcd_size_cfg.width = 44,
-               .lcd_size_cfg.height = 79,
                .fourcc = V4L2_PIX_FMT_RGB565,
                .lcd_cfg = lcdc0_modes,
                .num_cfg = ARRAY_SIZE(lcdc0_modes),
-               .board_cfg = {
+               .panel_cfg = {
+                       .width = 44,
+                       .height = 79,
                        .display_on = lcd_backlight_on,
                        .display_off = lcd_backlight_reset,
                },
index 22e1925746256dfc9798af62eec0c6c29cff4f23..2cb6c39dd62accf1750c4a4cfbe9c3290a305728 100644 (file)
@@ -1360,8 +1360,8 @@ static void __init ap4evb_init(void)
        lcdc_info.ch[0].interface_type          = RGB24;
        lcdc_info.ch[0].clock_divider           = 1;
        lcdc_info.ch[0].flags                   = LCDC_FLAGS_DWPOL;
-       lcdc_info.ch[0].lcd_size_cfg.width      = 44;
-       lcdc_info.ch[0].lcd_size_cfg.height     = 79;
+       lcdc_info.ch[0].panel_cfg.width         = 44;
+       lcdc_info.ch[0].panel_cfg.height        = 79;
 
        platform_add_devices(qhd_devices, ARRAY_SIZE(qhd_devices));
 
@@ -1402,8 +1402,8 @@ static void __init ap4evb_init(void)
        lcdc_info.ch[0].interface_type          = RGB18;
        lcdc_info.ch[0].clock_divider           = 3;
        lcdc_info.ch[0].flags                   = 0;
-       lcdc_info.ch[0].lcd_size_cfg.width      = 152;
-       lcdc_info.ch[0].lcd_size_cfg.height     = 91;
+       lcdc_info.ch[0].panel_cfg.width         = 152;
+       lcdc_info.ch[0].panel_cfg.height        = 91;
 
        /* enable TouchScreen */
        irq_set_irq_type(IRQ7, IRQ_TYPE_LEVEL_LOW);
index 4d2201622323114eced0c40af35693fb06d85d95..9cd9408b851b2c53d43e4595c79050ca9ebb00f1 100644 (file)
@@ -247,7 +247,7 @@ static struct sh_mobile_lcdc_info lcdc0_info = {
                .flags                  = 0,
                .lcd_cfg                = &lcdc0_mode,
                .num_cfg                = 1,
-               .lcd_size_cfg = {
+               .panel_cfg = {
                        .width  = 152,
                        .height = 91,
                },
index 123232329a885635e8063def37b0d67287c4c502..9228cc555b46a38568655ae19806a292e5119e6c 100644 (file)
@@ -389,8 +389,10 @@ static struct sh_mobile_lcdc_info lcdc_info = {
                .interface_type         = RGB24,
                .clock_divider          = 3,
                .flags                  = 0,
-               .lcd_size_cfg.width     = 152,
-               .lcd_size_cfg.height    = 91,
+               .panel_cfg = {
+                       .width          = 152,
+                       .height         = 91,
+               },
                .bl_info = {
                        .name = "sh_mobile_lcdc_bl",
                        .max_brightness = 1,
index d0d2401c3cbce0456887b86f206fd012d5fce043..a87b7f42f1201d26d83396d766285ecd1e46cfd9 100644 (file)
@@ -213,11 +213,9 @@ static struct sh_mobile_lcdc_info lcdc_info = {
                .clock_divider = 1,
                .lcd_cfg = ap325rxa_lcdc_modes,
                .num_cfg = ARRAY_SIZE(ap325rxa_lcdc_modes),
-               .lcd_size_cfg = { /* 7.0 inch */
-                       .width = 152,
+               .panel_cfg = {
+                       .width = 152,   /* 7.0 inch */
                        .height = 91,
-               },
-               .board_cfg = {
                        .display_on = ap320_wvga_power_on,
                        .display_off = ap320_wvga_power_off,
                },
index 769aab3fa3793af74b9c0751fb07df2fcd652a73..41767451ead14b0ce7fbac4f08051eb35bc8e279 100644 (file)
@@ -327,7 +327,7 @@ static struct sh_mobile_lcdc_info lcdc_info = {
                .interface_type = RGB18,
                .chan = LCDC_CHAN_MAINLCD,
                .fourcc = V4L2_PIX_FMT_RGB565,
-               .lcd_size_cfg = { /* 7.0 inch */
+               .panel_cfg = { /* 7.0 inch */
                        .width = 152,
                        .height = 91,
                },
index 5b382e1afaea6afe7a5de762c08a136b1363adfd..77d5a60d64fd438dfa282f4709035939516e13d7 100644 (file)
@@ -150,11 +150,9 @@ static struct sh_mobile_lcdc_info kfr2r09_sh_lcdc_info = {
                .flags = LCDC_FLAGS_DWPOL,
                .lcd_cfg = kfr2r09_lcdc_modes,
                .num_cfg = ARRAY_SIZE(kfr2r09_lcdc_modes),
-               .lcd_size_cfg = {
+               .panel_cfg = {
                        .width = 35,
                        .height = 58,
-               },
-               .board_cfg = {
                        .setup_sys = kfr2r09_lcd_setup,
                        .start_transfer = kfr2r09_lcd_start,
                        .display_on = kfr2r09_lcd_on,
index d37ba2720527ad22f0c0c3209cf756cb9cfe9fd3..93a1c9109abce60b2f932558434b1daf13bee44e 100644 (file)
@@ -248,7 +248,7 @@ static struct sh_mobile_lcdc_info sh_mobile_lcdc_info = {
                .clock_divider = 2,
                .lcd_cfg = migor_lcd_modes,
                .num_cfg = ARRAY_SIZE(migor_lcd_modes),
-               .lcd_size_cfg = { /* 7.0 inch */
+               .panel_cfg = { /* 7.0 inch */
                        .width = 152,
                        .height = 91,
                },
@@ -262,11 +262,9 @@ static struct sh_mobile_lcdc_info sh_mobile_lcdc_info = {
                .clock_divider = 10,
                .lcd_cfg = migor_lcd_modes,
                .num_cfg = ARRAY_SIZE(migor_lcd_modes),
-               .lcd_size_cfg = { /* 2.4 inch */
-                       .width = 49,
+               .panel_cfg = {
+                       .width = 49,    /* 2.4 inch */
                        .height = 37,
-               },
-               .board_cfg = {
                        .setup_sys = migor_lcd_qvga_setup,
                },
                .sys_bus_cfg = {
index 5e25dbe726e21bb36d33b0a7f2fa8e93ca475285..a468398bfb34fd6eed22fd4ff0c60e5688a0cd6f 100644 (file)
@@ -182,7 +182,7 @@ static struct sh_mobile_lcdc_info lcdc_info = {
                .chan = LCDC_CHAN_MAINLCD,
                .fourcc = V4L2_PIX_FMT_RGB565,
                .clock_divider = 1,
-               .lcd_size_cfg = { /* 7.0 inch */
+               .panel_cfg = { /* 7.0 inch */
                        .width = 152,
                        .height = 91,
                },
index adfffd6b7ec13e63fe8e2180ac243e4689b5132b..9e44988155a47a3ba023d31e4e5a050a46165186 100644 (file)
@@ -289,7 +289,7 @@ static void sh_mobile_lcdc_deferred_io(struct fb_info *info,
                                       struct list_head *pagelist)
 {
        struct sh_mobile_lcdc_chan *ch = info->par;
-       struct sh_mobile_lcdc_board_cfg *bcfg = &ch->cfg.board_cfg;
+       struct sh_mobile_lcdc_panel_cfg *panel = &ch->cfg.panel_cfg;
 
        /* enable clocks before accessing hardware */
        sh_mobile_lcdc_clk_on(ch->lcdc);
@@ -314,13 +314,13 @@ 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(ch, &sh_mobile_lcdc_sys_bus_ops);
+               if (panel->start_transfer)
+                       panel->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(ch, &sh_mobile_lcdc_sys_bus_ops);
+               if (panel->start_transfer)
+                       panel->start_transfer(ch, &sh_mobile_lcdc_sys_bus_ops);
                lcdc_write_chan(ch, LDSM2R, LDSM2R_OSTRG);
        }
 }
@@ -335,7 +335,7 @@ static void sh_mobile_lcdc_deferred_io_touch(struct fb_info *info)
 
 static void sh_mobile_lcdc_display_on(struct sh_mobile_lcdc_chan *ch)
 {
-       struct sh_mobile_lcdc_board_cfg *board_cfg = &ch->cfg.board_cfg;
+       struct sh_mobile_lcdc_panel_cfg *panel = &ch->cfg.panel_cfg;
 
        if (ch->tx_dev) {
                if (ch->tx_dev->ops->display_on(ch->tx_dev, ch->info) < 0)
@@ -343,16 +343,16 @@ 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();
+       if (panel->display_on)
+               panel->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;
+       struct sh_mobile_lcdc_panel_cfg *panel = &ch->cfg.panel_cfg;
 
-       if (board_cfg->display_off)
-               board_cfg->display_off();
+       if (panel->display_off)
+               panel->display_off();
 
        if (ch->tx_dev)
                ch->tx_dev->ops->display_off(ch->tx_dev);
@@ -687,16 +687,15 @@ static int sh_mobile_lcdc_start(struct sh_mobile_lcdc_priv *priv)
        lcdc_wait_bit(priv, _LDCNT2R, LDCNT2R_BR, 0);
 
        for (k = 0; k < ARRAY_SIZE(priv->ch); k++) {
-               struct sh_mobile_lcdc_board_cfg *board_cfg;
+               struct sh_mobile_lcdc_panel_cfg *panel;
 
                ch = &priv->ch[k];
                if (!ch->enabled)
                        continue;
 
-               board_cfg = &ch->cfg.board_cfg;
-               if (board_cfg->setup_sys) {
-                       ret = board_cfg->setup_sys(ch,
-                                                  &sh_mobile_lcdc_sys_bus_ops);
+               panel = &ch->cfg.panel_cfg;
+               if (panel->setup_sys) {
+                       ret = panel->setup_sys(ch, &sh_mobile_lcdc_sys_bus_ops);
                        if (ret)
                                return ret;
                }
@@ -1654,8 +1653,8 @@ sh_mobile_lcdc_channel_init(struct sh_mobile_lcdc_priv *priv,
         */
        var = &info->var;
        fb_videomode_to_var(var, mode);
-       var->width = cfg->lcd_size_cfg.width;
-       var->height = cfg->lcd_size_cfg.height;
+       var->width = cfg->panel_cfg.width;
+       var->height = cfg->panel_cfg.height;
        var->yres_virtual = var->yres * 2;
        var->activate = FB_ACTIVATE_NOW;
 
index ecde6aad6f299a81c5cfcc030b6013104e4c6a5f..4f0fb559ea878ec1abe6f992f3c791d67448d5d6 100644 (file)
@@ -147,7 +147,9 @@ struct sh_mobile_lcdc_sys_bus_ops {
        unsigned long (*read_data)(void *handle);
 };
 
-struct sh_mobile_lcdc_board_cfg {
+struct sh_mobile_lcdc_panel_cfg {
+       unsigned long width;            /* Panel width in mm */
+       unsigned long height;           /* Panel height in mm */
        int (*setup_sys)(void *sys_ops_handle,
                         struct sh_mobile_lcdc_sys_bus_ops *sys_ops);
        void (*start_transfer)(void *sys_ops_handle,
@@ -156,11 +158,6 @@ struct sh_mobile_lcdc_board_cfg {
        void (*display_off)(void);
 };
 
-struct sh_mobile_lcdc_lcd_size_cfg { /* width and height of panel in mm */
-       unsigned long width;
-       unsigned long height;
-};
-
 /* backlight info */
 struct sh_mobile_lcdc_bl_info {
        const char *name;
@@ -178,8 +175,7 @@ struct sh_mobile_lcdc_chan_cfg {
        unsigned long flags; /* LCDC_FLAGS_... */
        const struct fb_videomode *lcd_cfg;
        int num_cfg;
-       struct sh_mobile_lcdc_lcd_size_cfg lcd_size_cfg;
-       struct sh_mobile_lcdc_board_cfg board_cfg;
+       struct sh_mobile_lcdc_panel_cfg panel_cfg;
        struct sh_mobile_lcdc_bl_info bl_info;
        struct sh_mobile_lcdc_sys_bus_cfg sys_bus_cfg; /* only for SYSn I/F */
        struct sh_mobile_meram_cfg *meram_cfg;