mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-17 18:56:24 +00:00
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: Mahesh Salgaonkar <mahesh@linux.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/169235811556.193557.1023625262204809514.stgit@jupiter
This commit is contained in:
parent
0ceef6e99c
commit
e160bf64e2
@ -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);
|
||||
|
@ -1330,33 +1330,34 @@ 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 */
|
||||
rc = -EIO;
|
||||
break;
|
||||
case -3: /* Bad indicator/domain/etc */
|
||||
rc = -EINVAL;
|
||||
break;
|
||||
case -9000: /* Isolation error */
|
||||
rc = -EFAULT;
|
||||
break;
|
||||
case -9001: /* Outstanding TCE/PTE */
|
||||
rc = -EEXIST;
|
||||
break;
|
||||
case -9002: /* No usable slot */
|
||||
rc = -ENODEV;
|
||||
break;
|
||||
default:
|
||||
pr_err("%s: unexpected error %d\n", __func__, rtas_rc);
|
||||
rc = -ERANGE;
|
||||
break;
|
||||
case RTAS_HARDWARE_ERROR: /* Hardware Error */
|
||||
rc = -EIO;
|
||||
break;
|
||||
case RTAS_INVALID_PARAMETER: /* Bad indicator/domain/etc */
|
||||
rc = -EINVAL;
|
||||
break;
|
||||
case -9000: /* Isolation error */
|
||||
rc = -EFAULT;
|
||||
break;
|
||||
case -9001: /* Outstanding TCE/PTE */
|
||||
rc = -EEXIST;
|
||||
break;
|
||||
case -9002: /* No usable slot */
|
||||
rc = -ENODEV;
|
||||
break;
|
||||
default:
|
||||
pr_err("%s: unexpected error %d\n", __func__, rtas_rc);
|
||||
rc = -ERANGE;
|
||||
break;
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(rtas_error_rc);
|
||||
|
||||
int rtas_get_power_level(int powerdomain, int *level)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user