| .. | .. |
|---|
| 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; |
|---|