summaryrefslogtreecommitdiff
path: root/drivers/auxdisplay/charlcd.c
diff options
context:
space:
mode:
authorLars Poeschel <poeschel@lemonage.de>2020-11-03 10:58:08 +0100
committerMiguel Ojeda <ojeda@kernel.org>2020-11-04 11:04:03 +0100
commit71ff701bbefec9e3c342f3a01d2d89b7ae026c71 (patch)
treead1868fc8513ced579338f8450cf320fedf8d1a1 /drivers/auxdisplay/charlcd.c
parent3fc04dd7eb77b54228a17753ec01128417433e46 (diff)
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.c12
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);