linux-crypto.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Marek Vasut <marex@denx.de>
To: linux-crypto@vger.kernel.org
Cc: Marek Vasut <marex@denx.de>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	Horia Geanta <horia.geanta@freescale.com>
Subject: [PATCH 05/11] crypto: caam: Kill the easy targets
Date: Thu, 24 Apr 2014 20:05:16 +0200	[thread overview]
Message-ID: <1398362722-16430-6-git-send-email-marex@denx.de> (raw)
In-Reply-To: <1398362722-16430-1-git-send-email-marex@denx.de>

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@denx.de>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Horia Geanta <horia.geanta@freescale.com>
---
 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

  parent reply	other threads:[~2014-04-24 18:05 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-24 18:05 [PATCH 00/11] crypto: caam: Error reporting fixes Marek Vasut
2014-04-24 18:05 ` [PATCH 01/11] crypto: caam: Contain caam_jr_strstatus() ugliness Marek Vasut
2014-04-24 18:05 ` [PATCH 02/11] crypto: caam: Pull all the error codes out Marek Vasut
2014-04-24 18:05 ` [PATCH 03/11] crypto: caam: Implement fast-path for error codes with no handler Marek Vasut
2014-04-24 18:05 ` [PATCH 04/11] crypto: caam: Pass error type into the functions Marek Vasut
2014-04-24 18:05 ` Marek Vasut [this message]
2014-04-24 18:05 ` [PATCH 06/11] crypto: caam: Dissolve report_jump_idx() Marek Vasut
2014-04-24 18:05 ` [PATCH 07/11] crypto: caam: Clean up report_ccb_status() Marek Vasut
2014-04-24 18:05 ` [PATCH 08/11] crypto: caam: Clean up report_deco_status() Marek Vasut
2014-04-24 18:05 ` [PATCH 09/11] crypto: caam: Kill SPRINTFCAT() with fire Marek Vasut
2014-04-24 18:05 ` [PATCH 10/11] crypto: caam: Sweep the remnants Marek Vasut
2014-04-24 18:05 ` [PATCH 11/11] crypto: caam: Fix the 'quoted string split across lines' Marek Vasut
2014-04-25 18:20 ` [PATCH 00/11] crypto: caam: Error reporting fixes Kees Cook
2014-05-08 14:01 ` Herbert Xu
2014-05-08 14:50   ` Marek Vasut

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1398362722-16430-6-git-send-email-marex@denx.de \
    --to=marex@denx.de \
    --cc=herbert@gondor.apana.org.au \
    --cc=horia.geanta@freescale.com \
    --cc=linux-crypto@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).