Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

video: fbdev: sh_mobile_lcdcfb: remove unused MERAM support

Since commit a521422ea4ae ("ARM: shmobile: mackerel: Remove Legacy C
board code") MERAM functionality is unused. Remove it.

Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Daniel Vetter <daniel@ffwll.ch>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>

+1 -67
-1
drivers/video/fbdev/Kconfig
··· 1888 1888 config FB_SH_MOBILE_LCDC 1889 1889 tristate "SuperH Mobile LCDC framebuffer support" 1890 1890 depends on FB && (SUPERH || ARCH_RENESAS) && HAVE_CLK 1891 - depends on FB_SH_MOBILE_MERAM || !FB_SH_MOBILE_MERAM 1892 1891 select FB_SYS_FILLRECT 1893 1892 select FB_SYS_COPYAREA 1894 1893 select FB_SYS_IMAGEBLIT
+1 -62
drivers/video/fbdev/sh_mobile_lcdcfb.c
··· 29 29 #include <linux/vmalloc.h> 30 30 31 31 #include <video/sh_mobile_lcdc.h> 32 - #include <video/sh_mobile_meram.h> 33 32 34 33 #include "sh_mobile_lcdcfb.h" 35 34 ··· 216 217 struct notifier_block notifier; 217 218 int started; 218 219 int forced_fourcc; /* 2 channel LCDC must share fourcc setting */ 219 - struct sh_mobile_meram_info *meram_dev; 220 220 }; 221 221 222 222 /* ----------------------------------------------------------------------------- ··· 344 346 if (priv->dot_clk) 345 347 clk_prepare_enable(priv->dot_clk); 346 348 pm_runtime_get_sync(priv->dev); 347 - if (priv->meram_dev && priv->meram_dev->pdev) 348 - pm_runtime_get_sync(&priv->meram_dev->pdev->dev); 349 349 } 350 350 } 351 351 352 352 static void sh_mobile_lcdc_clk_off(struct sh_mobile_lcdc_priv *priv) 353 353 { 354 354 if (atomic_sub_return(1, &priv->hw_usecnt) == -1) { 355 - if (priv->meram_dev && priv->meram_dev->pdev) 356 - pm_runtime_put_sync(&priv->meram_dev->pdev->dev); 357 355 pm_runtime_put(priv->dev); 358 356 if (priv->dot_clk) 359 357 clk_disable_unprepare(priv->dot_clk); ··· 1067 1073 1068 1074 static int sh_mobile_lcdc_start(struct sh_mobile_lcdc_priv *priv) 1069 1075 { 1070 - struct sh_mobile_meram_info *mdev = priv->meram_dev; 1071 1076 struct sh_mobile_lcdc_chan *ch; 1072 1077 unsigned long tmp; 1073 1078 int ret; ··· 1099 1106 1100 1107 /* Compute frame buffer base address and pitch for each channel. */ 1101 1108 for (k = 0; k < ARRAY_SIZE(priv->ch); k++) { 1102 - int pixelformat; 1103 - void *cache; 1104 - 1105 1109 ch = &priv->ch[k]; 1106 1110 if (!ch->enabled) 1107 1111 continue; ··· 1107 1117 ch->base_addr_c = ch->dma_handle 1108 1118 + ch->xres_virtual * ch->yres_virtual; 1109 1119 ch->line_size = ch->pitch; 1110 - 1111 - /* Enable MERAM if possible. */ 1112 - if (mdev == NULL || ch->cfg->meram_cfg == NULL) 1113 - continue; 1114 - 1115 - /* Free the allocated MERAM cache. */ 1116 - if (ch->cache) { 1117 - sh_mobile_meram_cache_free(mdev, ch->cache); 1118 - ch->cache = NULL; 1119 - } 1120 - 1121 - switch (ch->format->fourcc) { 1122 - case V4L2_PIX_FMT_NV12: 1123 - case V4L2_PIX_FMT_NV21: 1124 - case V4L2_PIX_FMT_NV16: 1125 - case V4L2_PIX_FMT_NV61: 1126 - pixelformat = SH_MOBILE_MERAM_PF_NV; 1127 - break; 1128 - case V4L2_PIX_FMT_NV24: 1129 - case V4L2_PIX_FMT_NV42: 1130 - pixelformat = SH_MOBILE_MERAM_PF_NV24; 1131 - break; 1132 - case V4L2_PIX_FMT_RGB565: 1133 - case V4L2_PIX_FMT_BGR24: 1134 - case V4L2_PIX_FMT_BGR32: 1135 - default: 1136 - pixelformat = SH_MOBILE_MERAM_PF_RGB; 1137 - break; 1138 - } 1139 - 1140 - cache = sh_mobile_meram_cache_alloc(mdev, ch->cfg->meram_cfg, 1141 - ch->pitch, ch->yres, pixelformat, 1142 - &ch->line_size); 1143 - if (!IS_ERR(cache)) { 1144 - sh_mobile_meram_cache_update(mdev, cache, 1145 - ch->base_addr_y, ch->base_addr_c, 1146 - &ch->base_addr_y, &ch->base_addr_c); 1147 - ch->cache = cache; 1148 - } 1149 1120 } 1150 1121 1151 1122 for (k = 0; k < ARRAY_SIZE(priv->overlays); ++k) { ··· 1174 1223 } 1175 1224 1176 1225 sh_mobile_lcdc_display_off(ch); 1177 - 1178 - /* Free the MERAM cache. */ 1179 - if (ch->cache) { 1180 - sh_mobile_meram_cache_free(priv->meram_dev, ch->cache); 1181 - ch->cache = NULL; 1182 - } 1183 - 1184 1226 } 1185 1227 1186 1228 /* stop the lcdc */ ··· 1794 1850 base_addr_y = ch->dma_handle + y_offset; 1795 1851 base_addr_c = ch->dma_handle + ch->xres_virtual * ch->yres_virtual 1796 1852 + c_offset; 1797 - 1798 - if (ch->cache) 1799 - sh_mobile_meram_cache_update(priv->meram_dev, ch->cache, 1800 - base_addr_y, base_addr_c, 1801 - &base_addr_y, &base_addr_c); 1802 1853 1803 1854 ch->base_addr_y = base_addr_y; 1804 1855 ch->base_addr_c = base_addr_c; ··· 2657 2718 return -ENOMEM; 2658 2719 2659 2720 priv->dev = &pdev->dev; 2660 - priv->meram_dev = pdata->meram_dev; 2721 + 2661 2722 for (i = 0; i < ARRAY_SIZE(priv->ch); i++) 2662 2723 mutex_init(&priv->ch[i].open_lock); 2663 2724 platform_set_drvdata(pdev, priv);
-1
drivers/video/fbdev/sh_mobile_lcdcfb.h
··· 61 61 unsigned long *reg_offs; 62 62 unsigned long ldmt1r_value; 63 63 unsigned long enabled; /* ME and SE in LDCNT2R */ 64 - void *cache; 65 64 66 65 struct mutex open_lock; /* protects the use counter */ 67 66 int use_count;
-3
include/video/sh_mobile_lcdc.h
··· 3 3 #define __ASM_SH_MOBILE_LCDC_H__ 4 4 5 5 #include <linux/fb.h> 6 - #include <video/sh_mobile_meram.h> 7 6 8 7 /* Register definitions */ 9 8 #define _LDDCKR 0x410 ··· 183 184 struct sh_mobile_lcdc_panel_cfg panel_cfg; 184 185 struct sh_mobile_lcdc_bl_info bl_info; 185 186 struct sh_mobile_lcdc_sys_bus_cfg sys_bus_cfg; /* only for SYSn I/F */ 186 - const struct sh_mobile_meram_cfg *meram_cfg; 187 187 188 188 struct platform_device *tx_dev; /* HDMI/DSI transmitter device */ 189 189 }; ··· 191 193 int clock_source; 192 194 struct sh_mobile_lcdc_chan_cfg ch[2]; 193 195 struct sh_mobile_lcdc_overlay_cfg overlays[4]; 194 - struct sh_mobile_meram_info *meram_dev; 195 196 }; 196 197 197 198 #endif /* __ASM_SH_MOBILE_LCDC_H__ */