mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-02-16 22:25:13 -05:00
drm/gma500: Remove unused helper psb_fbdev_fb_setcolreg()
Remove psb_fbdev_fb_setcolreg(), which hasn't been called in almost a decade. Gma500 commit4d8d096e9a("gma500: introduce the framebuffer support code") added the helper psb_fbdev_fb_setcolreg() for setting the fbdev palette via fbdev's fb_setcolreg callback. Later commit3da6c2f3b7("drm/gma500: use DRM_FB_HELPER_DEFAULT_OPS for fb_ops") set several default helpers for fbdev emulation, including fb_setcmap. The fbdev subsystem always prefers fb_setcmap over fb_setcolreg. [1] Hence, the gma500 code is no longer in use and gma500 has been using drm_fb_helper_setcmap() for several years without issues. Fixes:3da6c2f3b7("drm/gma500: use DRM_FB_HELPER_DEFAULT_OPS for fb_ops") Cc: Patrik Jakobsson <patrik.r.jakobsson@gmail.com> Cc: Stefan Christ <contact@stefanchrist.eu> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: dri-devel@lists.freedesktop.org Cc: <stable@vger.kernel.org> # v4.10+ Link: https://elixir.bootlin.com/linux/v6.16.9/source/drivers/video/fbdev/core/fbcmap.c#L246 # [1] Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Acked-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com> Link: https://lore.kernel.org/r/20250929082338.18845-1-tzimmermann@suse.de
This commit is contained in:
@@ -50,48 +50,6 @@ static const struct vm_operations_struct psb_fbdev_vm_ops = {
|
||||
* struct fb_ops
|
||||
*/
|
||||
|
||||
#define CMAP_TOHW(_val, _width) ((((_val) << (_width)) + 0x7FFF - (_val)) >> 16)
|
||||
|
||||
static int psb_fbdev_fb_setcolreg(unsigned int regno,
|
||||
unsigned int red, unsigned int green,
|
||||
unsigned int blue, unsigned int transp,
|
||||
struct fb_info *info)
|
||||
{
|
||||
struct drm_fb_helper *fb_helper = info->par;
|
||||
struct drm_framebuffer *fb = fb_helper->fb;
|
||||
uint32_t v;
|
||||
|
||||
if (!fb)
|
||||
return -ENOMEM;
|
||||
|
||||
if (regno > 255)
|
||||
return 1;
|
||||
|
||||
red = CMAP_TOHW(red, info->var.red.length);
|
||||
blue = CMAP_TOHW(blue, info->var.blue.length);
|
||||
green = CMAP_TOHW(green, info->var.green.length);
|
||||
transp = CMAP_TOHW(transp, info->var.transp.length);
|
||||
|
||||
v = (red << info->var.red.offset) |
|
||||
(green << info->var.green.offset) |
|
||||
(blue << info->var.blue.offset) |
|
||||
(transp << info->var.transp.offset);
|
||||
|
||||
if (regno < 16) {
|
||||
switch (fb->format->cpp[0] * 8) {
|
||||
case 16:
|
||||
((uint32_t *) info->pseudo_palette)[regno] = v;
|
||||
break;
|
||||
case 24:
|
||||
case 32:
|
||||
((uint32_t *) info->pseudo_palette)[regno] = v;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int psb_fbdev_fb_mmap(struct fb_info *info, struct vm_area_struct *vma)
|
||||
{
|
||||
if (vma->vm_pgoff != 0)
|
||||
@@ -135,7 +93,6 @@ static const struct fb_ops psb_fbdev_fb_ops = {
|
||||
.owner = THIS_MODULE,
|
||||
__FB_DEFAULT_IOMEM_OPS_RDWR,
|
||||
DRM_FB_HELPER_DEFAULT_OPS,
|
||||
.fb_setcolreg = psb_fbdev_fb_setcolreg,
|
||||
__FB_DEFAULT_IOMEM_OPS_DRAW,
|
||||
.fb_mmap = psb_fbdev_fb_mmap,
|
||||
.fb_destroy = psb_fbdev_fb_destroy,
|
||||
|
||||
Reference in New Issue
Block a user