forked from Mirrors/opensbi
lib:platform: Fix sbi_getc return type.
As per the current SBI specification, sbi_getc should return an int instead of char. In case of FIFO is empty, return -1 as per the specification. Reported-by: Sergi Granell <xerpi.g.12@gmail.com> Suggested-by:Thadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br> Signed-off-by: Atish Patra <atish.patra@wdc.com>
This commit is contained in:
@@ -31,7 +31,7 @@ static void k210_console_putc(char c)
|
||||
uarths_putc(c);
|
||||
}
|
||||
|
||||
static char k210_console_getc(void)
|
||||
static int k210_console_getc(void)
|
||||
{
|
||||
return uarths_getc();
|
||||
}
|
||||
|
@@ -48,12 +48,12 @@ void uarths_putc(char c)
|
||||
uarths->txdata.data = (u8)c;
|
||||
}
|
||||
|
||||
char uarths_getc(void)
|
||||
int uarths_getc(void)
|
||||
{
|
||||
struct uarths_rxdata rx = uarths->rxdata;
|
||||
|
||||
if (rx.empty)
|
||||
return '\0';
|
||||
return -1;
|
||||
|
||||
return rx.data;
|
||||
}
|
||||
|
@@ -161,6 +161,6 @@ enum uarths_stopbit {
|
||||
|
||||
void uarths_init(u32 baud_rate, enum uarths_stopbit stopbit);
|
||||
void uarths_putc(char c);
|
||||
char uarths_getc(void);
|
||||
int uarths_getc(void);
|
||||
|
||||
#endif /* _K210_UARTHS_H_ */
|
||||
|
Reference in New Issue
Block a user