diff options
author | Lars Poeschel <poeschel@lemonage.de> | 2020-11-03 10:58:08 +0100 |
---|---|---|
committer | Miguel Ojeda <ojeda@kernel.org> | 2020-11-04 11:04:03 +0100 |
commit | 71ff701bbefec9e3c342f3a01d2d89b7ae026c71 (patch) | |
tree | ad1868fc8513ced579338f8450cf320fedf8d1a1 /drivers/auxdisplay/charlcd.c | |
parent | 3fc04dd7eb77b54228a17753ec01128417433e46 (diff) | |
download | linux-stable-71ff701bbefec9e3c342f3a01d2d89b7ae026c71.tar.gz linux-stable-71ff701bbefec9e3c342f3a01d2d89b7ae026c71.tar.bz2 linux-stable-71ff701bbefec9e3c342f3a01d2d89b7ae026c71.zip |
auxdisplay: Move write_data pointer to hd44780_common
This moves the write_data function pointer from struct charlcd_ops to
struct hd44780_common. This is the function that actually writes the
character to the display. This hd44780 hardware specific function is
used by two drivers at the moment.
Reviewed-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: Lars Poeschel <poeschel@lemonage.de>
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Diffstat (limited to 'drivers/auxdisplay/charlcd.c')
-rw-r--r-- | drivers/auxdisplay/charlcd.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/auxdisplay/charlcd.c b/drivers/auxdisplay/charlcd.c index 59e0a815bf3d..df54078656c1 100644 --- a/drivers/auxdisplay/charlcd.c +++ b/drivers/auxdisplay/charlcd.c @@ -182,7 +182,7 @@ static void charlcd_print(struct charlcd *lcd, char c) if (priv->addr.x < hdc->bwidth) { if (lcd->char_conv) c = lcd->char_conv[(unsigned char)c]; - lcd->ops->write_data(lcd, c); + hdc->write_data(hdc, c); priv->addr.x++; /* prevents the cursor from wrapping onto the next line */ @@ -202,7 +202,7 @@ static void charlcd_clear_fast(struct charlcd *lcd) lcd->ops->clear_fast(lcd); else for (pos = 0; pos < min(2, lcd->height) * hdc->hwidth; pos++) - lcd->ops->write_data(lcd, ' '); + hdc->write_data(hdc, ' '); charlcd_home(lcd); } @@ -446,7 +446,7 @@ static inline int handle_lcd_special_code(struct charlcd *lcd) int x; for (x = priv->addr.x; x < hdc->bwidth; x++) - lcd->ops->write_data(lcd, ' '); + hdc->write_data(hdc, ' '); /* restore cursor position */ charlcd_gotoxy(lcd); @@ -505,7 +505,7 @@ static inline int handle_lcd_special_code(struct charlcd *lcd) lcd->ops->write_cmd(lcd, LCD_CMD_SET_CGRAM_ADDR | (cgaddr * 8)); for (addr = 0; addr < cgoffset; addr++) - lcd->ops->write_data(lcd, cgbytes[addr]); + hdc->write_data(hdc, cgbytes[addr]); /* ensures that we stop writing to CGRAM */ charlcd_gotoxy(lcd); @@ -587,7 +587,7 @@ static void charlcd_write_char(struct charlcd *lcd, char c) priv->addr.x--; } /* replace with a space */ - lcd->ops->write_data(lcd, ' '); + hdc->write_data(hdc, ' '); /* back one char again */ lcd->ops->write_cmd(lcd, LCD_CMD_SHIFT); break; @@ -601,7 +601,7 @@ static void charlcd_write_char(struct charlcd *lcd, char c) * go to the beginning of the next line */ for (; priv->addr.x < hdc->bwidth; priv->addr.x++) - lcd->ops->write_data(lcd, ' '); + hdc->write_data(hdc, ' '); priv->addr.x = 0; priv->addr.y = (priv->addr.y + 1) % lcd->height; charlcd_gotoxy(lcd); |