summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Zimmermann <tzimmermann@suse.de>2025-03-21 12:53:54 +0300
committerLee Jones <lee@kernel.org>2025-04-10 12:38:53 +0300
commit93e41f968d7c6ea1cedc6b365917cbb787ef08f6 (patch)
tree33a206dd1ae02083e0708ff93d6b910c802b1c47
parent0af2f6be1b4281385b618cb86ad946eded089ac8 (diff)
downloadlinux-93e41f968d7c6ea1cedc6b365917cbb787ef08f6.tar.xz
fbdev: Rework fb_blank()
Reimplement fb_blank() to return early on errors. No functional changes. Prepares the helper for tracking the blanking state in struct fb_info. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Acked-by: Simona Vetter <simona.vetter@ffwll.ch> Link: https://lore.kernel.org/r/20250321095517.313713-2-tzimmermann@suse.de Signed-off-by: Lee Jones <lee@kernel.org>
-rw-r--r--drivers/video/fbdev/core/fbmem.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c
index 3c568cff2913..39e2b81473ad 100644
--- a/drivers/video/fbdev/core/fbmem.c
+++ b/drivers/video/fbdev/core/fbmem.c
@@ -339,11 +339,13 @@ fb_set_var(struct fb_info *info, struct fb_var_screeninfo *var)
}
EXPORT_SYMBOL(fb_set_var);
-int
-fb_blank(struct fb_info *info, int blank)
+int fb_blank(struct fb_info *info, int blank)
{
struct fb_event event;
- int ret = -EINVAL;
+ int ret;
+
+ if (!info->fbops->fb_blank)
+ return -EINVAL;
if (blank > FB_BLANK_POWERDOWN)
blank = FB_BLANK_POWERDOWN;
@@ -351,13 +353,13 @@ fb_blank(struct fb_info *info, int blank)
event.info = info;
event.data = &blank;
- if (info->fbops->fb_blank)
- ret = info->fbops->fb_blank(blank, info);
+ ret = info->fbops->fb_blank(blank, info);
+ if (ret)
+ return ret;
- if (!ret)
- fb_notifier_call_chain(FB_EVENT_BLANK, &event);
+ fb_notifier_call_chain(FB_EVENT_BLANK, &event);
- return ret;
+ return 0;
}
EXPORT_SYMBOL(fb_blank);