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