Commit 64806090 authored by Jason A. Donenfeld's avatar Jason A. Donenfeld Committed by Thomas Bogendoerfer

MIPS: pic32: treat port as signed integer

get_port_from_cmdline() returns an int, yet is assigned to a char, which
is wrong in its own right, but also, with char becoming unsigned, this
poses problems, because -1 is used as an error value. Further
complicating things, fw_init_early_console() is only ever called with a
-1 argument. Fix this up by removing the unused argument from
fw_init_early_console() and treating port as a proper signed integer.

Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
parent 64ac0bef
...@@ -26,6 +26,6 @@ extern char *fw_getcmdline(void); ...@@ -26,6 +26,6 @@ extern char *fw_getcmdline(void);
extern void fw_meminit(void); extern void fw_meminit(void);
extern char *fw_getenv(char *name); extern char *fw_getenv(char *name);
extern unsigned long fw_getenvl(char *name); extern unsigned long fw_getenvl(char *name);
extern void fw_init_early_console(char port); extern void fw_init_early_console(void);
#endif /* __ASM_FW_H_ */ #endif /* __ASM_FW_H_ */
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
#define U_BRG(x) (UART_BASE(x) + 0x40) #define U_BRG(x) (UART_BASE(x) + 0x40)
static void __iomem *uart_base; static void __iomem *uart_base;
static char console_port = -1; static int console_port = -1;
static int __init configure_uart_pins(int port) static int __init configure_uart_pins(int port)
{ {
...@@ -47,7 +47,7 @@ static int __init configure_uart_pins(int port) ...@@ -47,7 +47,7 @@ static int __init configure_uart_pins(int port)
return 0; return 0;
} }
static void __init configure_uart(char port, int baud) static void __init configure_uart(int port, int baud)
{ {
u32 pbclk; u32 pbclk;
...@@ -60,7 +60,7 @@ static void __init configure_uart(char port, int baud) ...@@ -60,7 +60,7 @@ static void __init configure_uart(char port, int baud)
uart_base + PIC32_SET(U_STA(port))); uart_base + PIC32_SET(U_STA(port)));
} }
static void __init setup_early_console(char port, int baud) static void __init setup_early_console(int port, int baud)
{ {
if (configure_uart_pins(port)) if (configure_uart_pins(port))
return; return;
...@@ -130,16 +130,15 @@ static int __init get_baud_from_cmdline(char *arch_cmdline) ...@@ -130,16 +130,15 @@ static int __init get_baud_from_cmdline(char *arch_cmdline)
return baud; return baud;
} }
void __init fw_init_early_console(char port) void __init fw_init_early_console(void)
{ {
char *arch_cmdline = pic32_getcmdline(); char *arch_cmdline = pic32_getcmdline();
int baud = -1; int baud, port;
uart_base = ioremap(PIC32_BASE_UART, 0xc00); uart_base = ioremap(PIC32_BASE_UART, 0xc00);
baud = get_baud_from_cmdline(arch_cmdline); baud = get_baud_from_cmdline(arch_cmdline);
if (port == -1) port = get_port_from_cmdline(arch_cmdline);
port = get_port_from_cmdline(arch_cmdline);
if (port == -1) if (port == -1)
port = EARLY_CONSOLE_PORT; port = EARLY_CONSOLE_PORT;
......
...@@ -47,7 +47,7 @@ void __init plat_mem_setup(void) ...@@ -47,7 +47,7 @@ void __init plat_mem_setup(void)
strscpy(arcs_cmdline, boot_command_line, COMMAND_LINE_SIZE); strscpy(arcs_cmdline, boot_command_line, COMMAND_LINE_SIZE);
#ifdef CONFIG_EARLY_PRINTK #ifdef CONFIG_EARLY_PRINTK
fw_init_early_console(-1); fw_init_early_console();
#endif #endif
pic32_config_init(); pic32_config_init();
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment