On 11/21/23 03:22, Jiri Slaby (SUSE) wrote:
'str_cr' contains a single character: \n. There is no need to declare it
as array. Declare it as a variable, make it const and pass a pointer to
it to callback_puts().
Signed-off-by: Jiri Slaby (SUSE) <jirislaby@xxxxxxxxxx>
Cc: Richard Henderson <richard.henderson@xxxxxxxxxx>
Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx>
Cc: Matt Turner <mattst88@xxxxxxxxx>
Cc: linux-alpha@xxxxxxxxxxxxxxx
---
arch/alpha/kernel/srmcons.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/alpha/kernel/srmcons.c b/arch/alpha/kernel/srmcons.c
index c6b821afbfd3..a6cff61706b5 100644
--- a/arch/alpha/kernel/srmcons.c
+++ b/arch/alpha/kernel/srmcons.c
@@ -91,7 +91,7 @@ srmcons_receive_chars(struct timer_list *t)
static void
srmcons_do_write(struct tty_port *port, const char *buf, int count)
{
- static char str_cr[1] = "\r";
+ static const char str_cr = '\r';
Best to remove this entirely...
size_t c;
srmcons_result result;
@@ -119,7 +119,7 @@ srmcons_do_write(struct tty_port *port, const char *buf, int count)
}
while (need_cr) {
- result.as_long = callback_puts(0, str_cr, 1);
+ result.as_long = callback_puts(0, &str_cr, 1);
... and simply use "\r" here.
Logically it adds one '\0' of const data, but it is virtually certain that even more bytes
of padding are present anyway. As a string literal it will be placed into .rodata.str1.1
and packed with other strings.
r~