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:
		@@ -16,7 +16,7 @@
 | 
			
		||||
 | 
			
		||||
bool sbi_isprintable(char ch);
 | 
			
		||||
 | 
			
		||||
char sbi_getc(void);
 | 
			
		||||
int sbi_getc(void);
 | 
			
		||||
 | 
			
		||||
void sbi_putc(char ch);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -77,7 +77,7 @@ struct sbi_platform {
 | 
			
		||||
	/** Write a character to the platform console output */
 | 
			
		||||
	void (*console_putc)(char ch);
 | 
			
		||||
	/** Read a character from the platform console input */
 | 
			
		||||
	char (*console_getc)(void);
 | 
			
		||||
	int (*console_getc)(void);
 | 
			
		||||
	/** Initialize the platform console */
 | 
			
		||||
	int (*console_init)(void);
 | 
			
		||||
 | 
			
		||||
@@ -283,11 +283,11 @@ static inline void sbi_platform_console_putc(struct sbi_platform *plat,
 | 
			
		||||
 *
 | 
			
		||||
 * @return character read from console input
 | 
			
		||||
 */
 | 
			
		||||
static inline char sbi_platform_console_getc(struct sbi_platform *plat)
 | 
			
		||||
static inline int sbi_platform_console_getc(struct sbi_platform *plat)
 | 
			
		||||
{
 | 
			
		||||
	if (plat && plat->console_getc)
 | 
			
		||||
		return plat->console_getc();
 | 
			
		||||
	return 0;
 | 
			
		||||
	return -1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user