summaryrefslogtreecommitdiff
path: root/drivers/auxdisplay/charlcd.c
diff options
context:
space:
mode:
authorSean Young <sean@mess.org>2018-01-15 09:43:48 +0000
committerMiguel Ojeda <miguel.ojeda.sandonis@gmail.com>2018-04-12 19:02:42 +0200
commit54bc937f0cc2a7b9cb9802b9992f936259d015a1 (patch)
tree2b02ebc0b6ab35448b65c12457f9be564e114e87 /drivers/auxdisplay/charlcd.c
parent7223310f4ef3ba8a8b1b34983b565546cd5098ca (diff)
downloadlwn-54bc937f0cc2a7b9cb9802b9992f936259d015a1.tar.gz
lwn-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>
Diffstat (limited to 'drivers/auxdisplay/charlcd.c')
-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)