Patch "auxdisplay: ht16k33: Fix frame buffer device blanking" has been added to the 4.14-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    auxdisplay: ht16k33: Fix frame buffer device blanking

to the 4.14-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     auxdisplay-ht16k33-fix-frame-buffer-device-blanking.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 6715e58c5264f17cd45f8bca51951c81de0a31d2
Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Date:   Tue Oct 19 16:45:09 2021 +0200

    auxdisplay: ht16k33: Fix frame buffer device blanking
    
    [ Upstream commit 840fe258332544aa7321921e1723d37b772af7a9 ]
    
    As the ht16k33 frame buffer sub-driver does not register an
    fb_ops.fb_blank() handler, blanking does not work:
    
        $ echo 1 > /sys/class/graphics/fb0/blank
        sh: write error: Invalid argument
    
    Fix this by providing a handler that always returns zero, to make sure
    blank events will be sent to the actual device handling the backlight.
    
    Reported-by: Robin van der Gracht <robin@xxxxxxxxxxx>
    Suggested-by: Robin van der Gracht <robin@xxxxxxxxxxx>
    Fixes: 8992da44c6805d53 ("auxdisplay: ht16k33: Driver for LED controller")
    Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
    Signed-off-by: Miguel Ojeda <ojeda@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/auxdisplay/ht16k33.c b/drivers/auxdisplay/ht16k33.c
index e3c8f355f9a62..f35b7ff29efd2 100644
--- a/drivers/auxdisplay/ht16k33.c
+++ b/drivers/auxdisplay/ht16k33.c
@@ -227,6 +227,15 @@ static const struct backlight_ops ht16k33_bl_ops = {
 	.check_fb	= ht16k33_bl_check_fb,
 };
 
+/*
+ * Blank events will be passed to the actual device handling the backlight when
+ * we return zero here.
+ */
+static int ht16k33_blank(int blank, struct fb_info *info)
+{
+	return 0;
+}
+
 static int ht16k33_mmap(struct fb_info *info, struct vm_area_struct *vma)
 {
 	struct ht16k33_priv *priv = info->par;
@@ -239,6 +248,7 @@ static struct fb_ops ht16k33_fb_ops = {
 	.owner = THIS_MODULE,
 	.fb_read = fb_sys_read,
 	.fb_write = fb_sys_write,
+	.fb_blank = ht16k33_blank,
 	.fb_fillrect = sys_fillrect,
 	.fb_copyarea = sys_copyarea,
 	.fb_imageblit = sys_imageblit,



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux