auxdisplay: charlcd: no need to call charlcd_gotoxy() if nothing changes
authorSean Young <sean@mess.org>
Mon, 15 Jan 2018 09:43:48 +0000 (09:43 +0000)
committerMiguel Ojeda <miguel.ojeda.sandonis@gmail.com>
Thu, 12 Apr 2018 17:02:42 +0000 (19:02 +0200)
If the line extends beyond the width to the screen, nothing changes. The
existing code will call charlcd_gotoxy every time for this case.

Signed-off-by: Sean Young <sean@mess.org>
Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
drivers/auxdisplay/charlcd.c

index 642afd8..45ec5ce 100644 (file)
@@ -192,10 +192,11 @@ static void charlcd_print(struct charlcd *lcd, char c)
                        c = lcd->char_conv[(unsigned char)c];
                lcd->ops->write_data(lcd, c);
                priv->addr.x++;
+
+               /* prevents the cursor from wrapping onto the next line */
+               if (priv->addr.x == lcd->bwidth)
+                       charlcd_gotoxy(lcd);
        }
-       /* prevents the cursor from wrapping onto the next line */
-       if (priv->addr.x == lcd->bwidth)
-               charlcd_gotoxy(lcd);
 }
 
 static void charlcd_clear_fast(struct charlcd *lcd)