.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | /* linux/drivers/video/s3c-fb.c |
---|
2 | 3 | * |
---|
3 | 4 | * Copyright 2008 Openmoko Inc. |
---|
.. | .. |
---|
6 | 7 | * http://armlinux.simtec.co.uk/ |
---|
7 | 8 | * |
---|
8 | 9 | * Samsung SoC Framebuffer driver |
---|
9 | | - * |
---|
10 | | - * This program is free software; you can redistribute it and/or modify |
---|
11 | | - * it under the terms of the GNU General Public License version 2 as |
---|
12 | | - * published by the Free Software FoundatIon. |
---|
13 | 10 | */ |
---|
14 | 11 | |
---|
15 | 12 | #include <linux/kernel.h> |
---|
.. | .. |
---|
287 | 284 | /* 666 with one bit alpha/transparency */ |
---|
288 | 285 | var->transp.offset = 18; |
---|
289 | 286 | var->transp.length = 1; |
---|
290 | | - /* drop through */ |
---|
| 287 | + fallthrough; |
---|
291 | 288 | case 18: |
---|
292 | 289 | var->bits_per_pixel = 32; |
---|
293 | 290 | |
---|
.. | .. |
---|
315 | 312 | case 25: |
---|
316 | 313 | var->transp.length = var->bits_per_pixel - 24; |
---|
317 | 314 | var->transp.offset = 24; |
---|
318 | | - /* drop through */ |
---|
| 315 | + fallthrough; |
---|
319 | 316 | case 24: |
---|
320 | 317 | /* our 24bpp is unpacked, so 32bpp */ |
---|
321 | 318 | var->bits_per_pixel = 32; |
---|
.. | .. |
---|
812 | 809 | case FB_BLANK_POWERDOWN: |
---|
813 | 810 | wincon &= ~WINCONx_ENWIN; |
---|
814 | 811 | sfb->enabled &= ~(1 << index); |
---|
815 | | - /* fall through to FB_BLANK_NORMAL */ |
---|
| 812 | + fallthrough; /* to FB_BLANK_NORMAL */ |
---|
816 | 813 | |
---|
817 | 814 | case FB_BLANK_NORMAL: |
---|
818 | 815 | /* disable the DMA and display 0x0 (black) */ |
---|
.. | .. |
---|
1038 | 1035 | return ret; |
---|
1039 | 1036 | } |
---|
1040 | 1037 | |
---|
1041 | | -static struct fb_ops s3c_fb_ops = { |
---|
| 1038 | +static const struct fb_ops s3c_fb_ops = { |
---|
1042 | 1039 | .owner = THIS_MODULE, |
---|
1043 | 1040 | .fb_check_var = s3c_fb_check_var, |
---|
1044 | 1041 | .fb_set_par = s3c_fb_set_par, |
---|
.. | .. |
---|
1105 | 1102 | |
---|
1106 | 1103 | dev_dbg(sfb->dev, "want %u bytes for window\n", size); |
---|
1107 | 1104 | |
---|
1108 | | - fbi->screen_base = dma_alloc_wc(sfb->dev, size, &map_dma, GFP_KERNEL); |
---|
1109 | | - if (!fbi->screen_base) |
---|
| 1105 | + fbi->screen_buffer = dma_alloc_wc(sfb->dev, size, &map_dma, GFP_KERNEL); |
---|
| 1106 | + if (!fbi->screen_buffer) |
---|
1110 | 1107 | return -ENOMEM; |
---|
1111 | 1108 | |
---|
1112 | 1109 | dev_dbg(sfb->dev, "mapped %x to %p\n", |
---|
1113 | | - (unsigned int)map_dma, fbi->screen_base); |
---|
| 1110 | + (unsigned int)map_dma, fbi->screen_buffer); |
---|
1114 | 1111 | |
---|
1115 | | - memset(fbi->screen_base, 0x0, size); |
---|
| 1112 | + memset(fbi->screen_buffer, 0x0, size); |
---|
1116 | 1113 | fbi->fix.smem_start = map_dma; |
---|
1117 | 1114 | |
---|
1118 | 1115 | return 0; |
---|
.. | .. |
---|
1129 | 1126 | { |
---|
1130 | 1127 | struct fb_info *fbi = win->fbinfo; |
---|
1131 | 1128 | |
---|
1132 | | - if (fbi->screen_base) |
---|
| 1129 | + if (fbi->screen_buffer) |
---|
1133 | 1130 | dma_free_wc(sfb->dev, PAGE_ALIGN(fbi->fix.smem_len), |
---|
1134 | | - fbi->screen_base, fbi->fix.smem_start); |
---|
| 1131 | + fbi->screen_buffer, fbi->fix.smem_start); |
---|
1135 | 1132 | } |
---|
1136 | 1133 | |
---|
1137 | 1134 | /** |
---|
.. | .. |
---|
1189 | 1186 | |
---|
1190 | 1187 | fbinfo = framebuffer_alloc(sizeof(struct s3c_fb_win) + |
---|
1191 | 1188 | palette_size * sizeof(u32), sfb->dev); |
---|
1192 | | - if (!fbinfo) { |
---|
1193 | | - dev_err(sfb->dev, "failed to allocate framebuffer\n"); |
---|
1194 | | - return -ENOENT; |
---|
1195 | | - } |
---|
| 1189 | + if (!fbinfo) |
---|
| 1190 | + return -ENOMEM; |
---|
1196 | 1191 | |
---|
1197 | 1192 | windata = sfb->pdata->win[win_no]; |
---|
1198 | 1193 | initmode = *sfb->pdata->vtiming; |
---|
.. | .. |
---|
1416 | 1411 | |
---|
1417 | 1412 | pm_runtime_enable(sfb->dev); |
---|
1418 | 1413 | |
---|
1419 | | - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
---|
1420 | | - sfb->regs = devm_ioremap_resource(dev, res); |
---|
| 1414 | + sfb->regs = devm_platform_ioremap_resource(pdev, 0); |
---|
1421 | 1415 | if (IS_ERR(sfb->regs)) { |
---|
1422 | 1416 | ret = PTR_ERR(sfb->regs); |
---|
1423 | 1417 | goto err_lcd_clk; |
---|