diff options
Diffstat (limited to 'drivers/video/fbdev/omap2/omapfb/omapfb-main.c')
| -rw-r--r-- | drivers/video/fbdev/omap2/omapfb/omapfb-main.c | 45 |
1 files changed, 12 insertions, 33 deletions
diff --git a/drivers/video/fbdev/omap2/omapfb/omapfb-main.c b/drivers/video/fbdev/omap2/omapfb/omapfb-main.c index 1d7c012f09db..211f23648686 100644 --- a/drivers/video/fbdev/omap2/omapfb/omapfb-main.c +++ b/drivers/video/fbdev/omap2/omapfb/omapfb-main.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0-only /* * linux/drivers/video/omap2/omapfb-main.c * @@ -6,18 +7,6 @@ * * Some code and ideas taken from drivers/video/omap/ driver * by Imre Deak. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 as published by - * the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see <http://www.gnu.org/licenses/>. */ #include <linux/module.h> @@ -287,7 +276,7 @@ static bool cmp_var_to_colormode(struct fb_var_screeninfo *var, var->red.length == 0 || var->blue.length == 0 || var->green.length == 0) - return 0; + return false; return var->bits_per_pixel == color->bits_per_pixel && cmp_component(&var->red, &color->red) && @@ -893,6 +882,7 @@ int omapfb_setup_overlay(struct fb_info *fbi, struct omap_overlay *ovl, / (var->bits_per_pixel >> 2); break; } + fallthrough; default: screen_width = fix->line_length / (var->bits_per_pixel >> 3); break; @@ -1105,6 +1095,8 @@ static int omapfb_mmap(struct fb_info *fbi, struct vm_area_struct *vma) u32 len; int r; + vma->vm_page_prot = pgprot_decrypted(vma->vm_page_prot); + rg = omapfb_get_mem_region(ofbi->region); start = omapfb_get_region_paddr(ofbi); @@ -1164,16 +1156,12 @@ static int _setcolreg(struct fb_info *fbi, u_int regno, u_int red, u_int green, r = fbdev->ctrl->setcolreg(regno, red, green, blue, transp, update_hw_pal); */ - /* Fallthrough */ r = -EINVAL; break; case OMAPFB_COLOR_RGB565: case OMAPFB_COLOR_RGB444: case OMAPFB_COLOR_RGB24P: case OMAPFB_COLOR_RGB24U: - if (r != 0) - break; - if (regno < 16) { u32 pal; pal = ((red >> (16 - var->red.length)) << @@ -1290,14 +1278,13 @@ ssize_t omapfb_write(struct fb_info *info, const char __user *buf, } #endif -static struct fb_ops omapfb_ops = { +static const struct fb_ops omapfb_ops = { .owner = THIS_MODULE, .fb_open = omapfb_open, .fb_release = omapfb_release, - .fb_fillrect = cfb_fillrect, - .fb_copyarea = cfb_copyarea, - .fb_imageblit = cfb_imageblit, + __FB_DEFAULT_IOMEM_OPS_RDWR, .fb_blank = omapfb_blank, + __FB_DEFAULT_IOMEM_OPS_DRAW, .fb_ioctl = omapfb_ioctl, .fb_check_var = omapfb_check_var, .fb_set_par = omapfb_set_par, @@ -1345,7 +1332,7 @@ static void clear_fb_info(struct fb_info *fbi) { memset(&fbi->var, 0, sizeof(fbi->var)); memset(&fbi->fix, 0, sizeof(fbi->fix)); - strlcpy(fbi->fix.id, MODULE_NAME, sizeof(fbi->fix.id)); + strscpy(fbi->fix.id, MODULE_NAME, sizeof(fbi->fix.id)); } static int omapfb_free_all_fbmem(struct omapfb2_device *fbdev) @@ -1477,7 +1464,7 @@ static int omapfb_alloc_fbmem_display(struct fb_info *fbi, unsigned long size, static int omapfb_parse_vram_param(const char *param, int max_entries, unsigned long *sizes, unsigned long *paddrs) { - int fbnum; + unsigned int fbnum; unsigned long size; unsigned long paddr = 0; char *p, *start; @@ -1746,7 +1733,6 @@ static int omapfb_fb_init(struct omapfb2_device *fbdev, struct fb_info *fbi) int r = 0; fbi->fbops = &omapfb_ops; - fbi->flags = FBINFO_FLAG_DEFAULT; fbi->pseudo_palette = fbdev->pseudo_palette; if (ofbi->region->size == 0) { @@ -1868,7 +1854,6 @@ static void omapfb_free_resources(struct omapfb2_device *fbdev) } if (fbdev->auto_update_wq != NULL) { - flush_workqueue(fbdev->auto_update_wq); destroy_workqueue(fbdev->auto_update_wq); fbdev->auto_update_wq = NULL; } @@ -1891,12 +1876,8 @@ static int omapfb_create_framebuffers(struct omapfb2_device *fbdev) fbi = framebuffer_alloc(sizeof(struct omapfb_info), fbdev->dev); - - if (fbi == NULL) { - dev_err(fbdev->dev, - "unable to allocate memory for plane info\n"); + if (!fbi) return -ENOMEM; - } clear_fb_info(fbi); @@ -2618,7 +2599,7 @@ err0: return r; } -static int omapfb_remove(struct platform_device *pdev) +static void omapfb_remove(struct platform_device *pdev) { struct omapfb2_device *fbdev = platform_get_drvdata(pdev); @@ -2629,8 +2610,6 @@ static int omapfb_remove(struct platform_device *pdev) omapfb_free_resources(fbdev); omapdss_compat_uninit(); - - return 0; } static struct platform_driver omapfb_driver = { |
