Fix the functions which can be obviously done right with a simple dev_err() now. While at it, further press the on-stack allocation of buffer for sprintf() voodoo down into the abominated functions. This patch cleans up most of the functions and leaves just two remaining functions, report_ccb_status() and report_deco_status() ugly and unhappy. Signed-off-by: Marek Vasut <marex@xxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: Horia Geanta <horia.geanta@xxxxxxxxxxxxx> --- drivers/crypto/caam/error.c | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/drivers/crypto/caam/error.c b/drivers/crypto/caam/error.c index 7ce1d03..a8736abd7 100644 --- a/drivers/crypto/caam/error.c +++ b/drivers/crypto/caam/error.c @@ -182,8 +182,10 @@ static void report_jump_idx(u32 status, char *outstr) } static void report_ccb_status(struct device *jrdev, u32 status, - const char *error, char *outstr) + const char *error, char *__outstr) { + char outstr[CAAM_ERROR_STR_MAX]; + u8 cha_id = (status & JRSTA_CCBERR_CHAID_MASK) >> JRSTA_CCBERR_CHAID_SHIFT; u8 err_id = status & JRSTA_CCBERR_ERRID_MASK; @@ -213,18 +215,22 @@ static void report_ccb_status(struct device *jrdev, u32 status, SPRINTFCAT(outstr, "unidentified err_id value 0x%02x", err_id, sizeof("ff")); } + + dev_err(jrdev, "%08x: %s\n", status, outstr); } static void report_jump_status(struct device *jrdev, u32 status, const char *error, char *outstr) { - sprintf(outstr, "%s: ", error); - SPRINTFCAT(outstr, "%s() not implemented", __func__, sizeof(__func__)); + dev_err(jrdev, "%08x: %s: %s() not implemented\n", + status, error, __func__); } static void report_deco_status(struct device *jrdev, u32 status, - const char *error, char *outstr) + const char *error, char *__outstr) { + char outstr[CAAM_ERROR_STR_MAX]; + u8 desc_error = status & JRSTA_DECOERR_ERROR_MASK; int i; sprintf(outstr, "%s: ", error); @@ -242,25 +248,26 @@ static void report_deco_status(struct device *jrdev, u32 status, SPRINTFCAT(outstr, "unidentified error value 0x%02x", desc_error, sizeof("ff")); } + + dev_err(jrdev, "%08x: %s\n", status, outstr); } static void report_jr_status(struct device *jrdev, u32 status, const char *error, char *outstr) { - sprintf(outstr, "%s: ", error); - SPRINTFCAT(outstr, "%s() not implemented", __func__, sizeof(__func__)); + dev_err(jrdev, "%08x: %s: %s() not implemented\n", + status, error, __func__); } static void report_cond_code_status(struct device *jrdev, u32 status, const char *error, char *outstr) { - sprintf(outstr, "%s: ", error); - SPRINTFCAT(outstr, "%s() not implemented", __func__, sizeof(__func__)); + dev_err(jrdev, "%08x: %s: %s() not implemented\n", + status, error, __func__); } void caam_jr_strstatus(struct device *jrdev, u32 status) { - char outstr[CAAM_ERROR_STR_MAX]; static const struct stat_src { void (*report_ssed)(struct device *jrdev, u32 status, const char *error, char *outstr); @@ -287,8 +294,6 @@ void caam_jr_strstatus(struct device *jrdev, u32 status) } status_src[ssrc].report_ssed(jrdev, status, - status_src[ssrc].error, outstr); - - dev_err(jrdev, "%08x: %s\n", status, outstr); + status_src[ssrc].error, NULL); } EXPORT_SYMBOL(caam_jr_strstatus); -- 1.9.2 -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html