Commit e160bf64 authored by Mahesh Salgaonkar's avatar Mahesh Salgaonkar Committed by Michael Ellerman
Browse files

powerpc/rtas: export rtas_error_rc() for reuse.



Also, #define descriptive names for common rtas return codes and use it
instead of numeric values.

Signed-off-by: default avatarMahesh Salgaonkar <mahesh@linux.ibm.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/169235811556.193557.1023625262204809514.stgit@jupiter
parent 0ceef6e9
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -202,7 +202,9 @@ typedef struct {
#define RTAS_USER_REGION_SIZE (64 * 1024)

/* RTAS return status codes */
#define RTAS_HARDWARE_ERROR	-1    /* Hardware Error */
#define RTAS_BUSY		-2    /* RTAS Busy */
#define RTAS_INVALID_PARAMETER	-3    /* Invalid indicator/domain/sensor etc. */
#define RTAS_EXTENDED_DELAY_MIN	9900
#define RTAS_EXTENDED_DELAY_MAX	9905

@@ -425,6 +427,7 @@ extern int rtas_set_indicator(int indicator, int index, int new_value);
extern int rtas_set_indicator_fast(int indicator, int index, int new_value);
extern void rtas_progress(char *s, unsigned short hex);
int rtas_ibm_suspend_me(int *fw_status);
int rtas_error_rc(int rtas_rc);

struct rtc_time;
extern time64_t rtas_get_boot_time(void);
+21 −20
Original line number Diff line number Diff line
@@ -1330,15 +1330,15 @@ bool __ref rtas_busy_delay(int status)
}
EXPORT_SYMBOL_GPL(rtas_busy_delay);

static int rtas_error_rc(int rtas_rc)
int rtas_error_rc(int rtas_rc)
{
	int rc;

	switch (rtas_rc) {
		case -1: 		/* Hardware Error */
	case RTAS_HARDWARE_ERROR:	/* Hardware Error */
		rc = -EIO;
		break;
		case -3:		/* Bad indicator/domain/etc */
	case RTAS_INVALID_PARAMETER:	/* Bad indicator/domain/etc */
		rc = -EINVAL;
		break;
	case -9000:			/* Isolation error */
@@ -1357,6 +1357,7 @@ static int rtas_error_rc(int rtas_rc)
	}
	return rc;
}
EXPORT_SYMBOL_GPL(rtas_error_rc);

int rtas_get_power_level(int powerdomain, int *level)
{