diff options
author | 2023-08-29 08:32:28 -0700 | |
---|---|---|
committer | 2023-08-29 08:32:28 -0700 | |
commit | 5ea0cf77583ec768c8e2403ecb2a930fa948b444 (patch) | |
tree | 301d2df73a26eac7c1d59e4e27abc62447d63234 | |
parent | Merge tag 'rust-6.6' of https://github.com/Rust-for-Linux/linux (diff) | |
parent | auxdisplay: hd44780: move cursor home after clear display command (diff) | |
download | wireguard-linux-5ea0cf77583ec768c8e2403ecb2a930fa948b444.tar.xz wireguard-linux-5ea0cf77583ec768c8e2403ecb2a930fa948b444.zip |
Merge tag 'auxdisplay-6.6' of https://github.com/ojeda/linux
Pull auxdisplay update from Miguel Ojeda:
- hd44780: move cursor home after clear display command
The change allows to support displays like the NewHaven
NHD-0220DZW-AG5 which has a non-standard controller.
* tag 'auxdisplay-6.6' of https://github.com/ojeda/linux:
auxdisplay: hd44780: move cursor home after clear display command
-rw-r--r-- | drivers/auxdisplay/hd44780_common.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/auxdisplay/hd44780_common.c b/drivers/auxdisplay/hd44780_common.c index 3934c2eebf33..7cbf375b0fa5 100644 --- a/drivers/auxdisplay/hd44780_common.c +++ b/drivers/auxdisplay/hd44780_common.c @@ -82,7 +82,15 @@ int hd44780_common_clear_display(struct charlcd *lcd) hdc->write_cmd(hdc, LCD_CMD_DISPLAY_CLEAR); /* datasheet says to wait 1,64 milliseconds */ long_sleep(2); - return 0; + + /* + * The Hitachi HD44780 controller (and compatible ones) reset the DDRAM + * address when executing the DISPLAY_CLEAR command, thus the + * following call is not required. However, other controllers do not + * (e.g. NewHaven NHD-0220DZW-AG5), thus move the cursor to home + * unconditionally to support both. + */ + return hd44780_common_home(lcd); } EXPORT_SYMBOL_GPL(hd44780_common_clear_display); |