diff options
| author | Mark Brown <broonie@kernel.org> | 2017-09-19 16:12:47 +0300 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2017-09-19 16:12:47 +0300 |
| commit | e9331ee9b164d58b4dd0abc882ba7e23d2f404b3 (patch) | |
| tree | 903d078e53a59ed65708193f2486ad0b9a8109d8 /include/linux/vt_buffer.h | |
| parent | e7251484f3bc3bd9203a2c39555ca7d53e988cf6 (diff) | |
| parent | 2bd6bf03f4c1c59381d62c61d03f6cc3fe71f66e (diff) | |
| download | linux-e9331ee9b164d58b4dd0abc882ba7e23d2f404b3.tar.xz | |
Merge tag 'v4.14-rc1' into asoc-rockchip
Linux 4.14-rc1
Diffstat (limited to 'include/linux/vt_buffer.h')
| -rw-r--r-- | include/linux/vt_buffer.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/vt_buffer.h b/include/linux/vt_buffer.h index f38c10ba3ff5..30b6e0d2a942 100644 --- a/include/linux/vt_buffer.h +++ b/include/linux/vt_buffer.h @@ -13,6 +13,7 @@ #ifndef _LINUX_VT_BUFFER_H_ #define _LINUX_VT_BUFFER_H_ +#include <linux/string.h> #if defined(CONFIG_VGA_CONSOLE) || defined(CONFIG_MDA_CONSOLE) #include <asm/vga.h> @@ -26,24 +27,33 @@ #ifndef VT_BUF_HAVE_MEMSETW static inline void scr_memsetw(u16 *s, u16 c, unsigned int count) { +#ifdef VT_BUF_HAVE_RW count /= 2; while (count--) scr_writew(c, s++); +#else + memset16(s, c, count / 2); +#endif } #endif #ifndef VT_BUF_HAVE_MEMCPYW static inline void scr_memcpyw(u16 *d, const u16 *s, unsigned int count) { +#ifdef VT_BUF_HAVE_RW count /= 2; while (count--) scr_writew(scr_readw(s++), d++); +#else + memcpy(d, s, count); +#endif } #endif #ifndef VT_BUF_HAVE_MEMMOVEW static inline void scr_memmovew(u16 *d, const u16 *s, unsigned int count) { +#ifdef VT_BUF_HAVE_RW if (d < s) scr_memcpyw(d, s, count); else { @@ -53,6 +63,9 @@ static inline void scr_memmovew(u16 *d, const u16 *s, unsigned int count) while (count--) scr_writew(scr_readw(--s), --d); } +#else + memmove(d, s, count); +#endif } #endif |
