summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSean Young <sean@mess.org>2018-01-15 10:43:48 +0100
committerMiguel Ojeda <miguel.ojeda.sandonis@gmail.com>2018-04-12 19:02:42 +0200
commit54bc937f0cc2a7b9cb9802b9992f936259d015a1 (patch)
tree2b02ebc0b6ab35448b65c12457f9be564e114e87
parentauxdisplay: cfag12864bfb: constify fb_fix_screeninfo and fb_var_screeninfo st... (diff)
downloadlinux-54bc937f0cc2a7b9cb9802b9992f936259d015a1.tar.xz
linux-54bc937f0cc2a7b9cb9802b9992f936259d015a1.zip
auxdisplay: charlcd: no need to call charlcd_gotoxy() if nothing changes
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>
-rw-r--r--drivers/auxdisplay/charlcd.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/auxdisplay/charlcd.c b/drivers/auxdisplay/charlcd.c
index 642afd88870b..45ec5ce697c4 100644
--- a/drivers/auxdisplay/charlcd.c
+++ b/drivers/auxdisplay/charlcd.c
@@ -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)