aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Young <[email protected]>2018-01-15 09:43:48 +0000
committerMiguel Ojeda <[email protected]>2018-04-12 19:02:42 +0200
commit54bc937f0cc2a7b9cb9802b9992f936259d015a1 (patch)
tree2b02ebc0b6ab35448b65c12457f9be564e114e87
parent7223310f4ef3ba8a8b1b34983b565546cd5098ca (diff)
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 <[email protected]> Reviewed-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Miguel Ojeda <[email protected]>
-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)