diff options
author | Sean Young <sean@mess.org> | 2018-01-15 09:43:48 +0000 |
---|---|---|
committer | Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> | 2018-04-12 19:02:42 +0200 |
commit | 54bc937f0cc2a7b9cb9802b9992f936259d015a1 (patch) | |
tree | 2b02ebc0b6ab35448b65c12457f9be564e114e87 /drivers/auxdisplay/charlcd.c | |
parent | 7223310f4ef3ba8a8b1b34983b565546cd5098ca (diff) | |
download | lwn-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.c | 7 |
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) |