From: Thierry Reding <thierry.reding@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3 09/13] fdtdec: test: Use compound statement macros
Date: Thu, 21 Mar 2019 19:10:06 +0100 [thread overview]
Message-ID: <20190321181010.27005-10-thierry.reding@gmail.com> (raw)
In-Reply-To: <20190321181010.27005-1-thierry.reding@gmail.com>
From: Thierry Reding <treding@nvidia.com>
This eliminates the need for intermediate helper functions and allow the
macros to return a value so that it can be used subsequently.
Signed-off-by: Thierry Reding <treding@nvidia.com>
---
Changes in v2:
- new patch
lib/fdtdec_test.c | 64 ++++++++++++++++-------------------------------
1 file changed, 22 insertions(+), 42 deletions(-)
diff --git a/lib/fdtdec_test.c b/lib/fdtdec_test.c
index 065fed278cf3..928950918413 100644
--- a/lib/fdtdec_test.c
+++ b/lib/fdtdec_test.c
@@ -15,48 +15,28 @@
/* The size of our test fdt blob */
#define FDT_SIZE (16 * 1024)
-/**
- * Check if an operation failed, and if so, print an error
- *
- * @param oper_name Name of operation
- * @param err Error code to check
- *
- * @return 0 if ok, -1 if there was an error
- */
-static int fdt_checkerr(const char *oper_name, int err)
-{
- if (err) {
- printf("%s: %s: %s\n", __func__, oper_name, fdt_strerror(err));
- return -1;
- }
-
- return 0;
-}
-
-/**
- * Check the result of an operation and if incorrect, print an error
- *
- * @param oper_name Name of operation
- * @param expected Expected value
- * @param value Actual value
- *
- * @return 0 if ok, -1 if there was an error
- */
-static int checkval(const char *oper_name, int expected, int value)
-{
- if (expected != value) {
- printf("%s: %s: expected %d, but returned %d\n", __func__,
- oper_name, expected, value);
- return -1;
- }
-
- return 0;
-}
+#define CHECK(op) ({ \
+ int err = op; \
+ if (err < 0) { \
+ printf("%s: %s: %s\n", __func__, #op, \
+ fdt_strerror(err)); \
+ return err; \
+ } \
+ \
+ err; \
+ })
+
+#define CHECKVAL(op, expected) ({ \
+ int err = op; \
+ if (err != expected) { \
+ printf("%s: %s: expected %d, but returned %d\n",\
+ __func__, #op, expected, err); \
+ return err; \
+ } \
+ \
+ err; \
+ })
-#define CHECK(op) if (fdt_checkerr(#op, op)) return -1
-#define CHECKVAL(op, expected) \
- if (checkval(#op, expected, op)) \
- return -1
#define CHECKOK(op) CHECKVAL(op, 0)
/* maximum number of nodes / aliases to generate */
@@ -138,7 +118,7 @@ static int run_test(const char *aliases, const char *nodes, const char *expect)
CHECKVAL(make_fdt(blob, FDT_SIZE, aliases, nodes), 0);
CHECKVAL(fdtdec_find_aliases_for_id(blob, "i2c",
COMPAT_UNKNOWN,
- list, ARRAY_SIZE(list)), strlen(expect));
+ list, ARRAY_SIZE(list)), (int)strlen(expect));
/* Check we got the right ones */
for (i = 0, s = expect; *s; s++, i++) {
--
2.21.0
next prev parent reply other threads:[~2019-03-21 18:10 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-21 18:09 [U-Boot] [PATCH v3 00/13] ARM: tegra: Add support for framebuffer carveouts Thierry Reding
2019-03-21 18:09 ` [U-Boot] [PATCH v3 01/13] libfdt: Add phandle generation helper Thierry Reding
2019-03-22 7:52 ` Simon Glass
2019-03-25 7:27 ` Thierry Reding
2019-03-30 21:18 ` Simon Glass
2019-04-12 21:50 ` sjg at google.com
2019-03-21 18:09 ` [U-Boot] [PATCH v3 02/13] fdtdec: Add cpu_to_fdt_{addr, size}() macros Thierry Reding
2019-04-12 21:48 ` Simon Glass
2019-03-21 18:10 ` [U-Boot] [PATCH v3 03/13] fdtdec: Add fdt_{addr, size}_unpack() helpers Thierry Reding
2019-03-22 7:53 ` Simon Glass
2019-03-22 8:31 ` Thierry Reding
2019-04-12 21:45 ` Simon Glass
2019-04-15 8:18 ` Thierry Reding
2019-03-21 18:10 ` [U-Boot] [PATCH v3 04/13] fdtdec: Implement fdtdec_set_phandle() Thierry Reding
2019-03-22 7:53 ` Simon Glass
2019-03-22 8:34 ` Thierry Reding
2019-03-23 0:52 ` Simon Glass
2019-04-12 21:50 ` sjg at google.com
2019-03-21 18:10 ` [U-Boot] [PATCH v3 05/13] fdtdec: Implement fdtdec_add_reserved_memory() Thierry Reding
2019-03-21 18:10 ` [U-Boot] [PATCH v3 06/13] fdtdec: Implement carveout support functions Thierry Reding
2019-03-21 18:10 ` [U-Boot] [PATCH v3 07/13] fdtdec: Add Kconfig symbol for tests Thierry Reding
2019-03-22 7:53 ` Simon Glass
2019-04-12 21:50 ` sjg at google.com
2019-03-21 18:10 ` [U-Boot] [PATCH v3 08/13] fdtdec: test: Fix build warning Thierry Reding
2019-03-22 7:53 ` Simon Glass
2019-04-12 21:49 ` sjg at google.com
2019-03-21 18:10 ` Thierry Reding [this message]
2019-03-22 7:53 ` [U-Boot] [PATCH v3 09/13] fdtdec: test: Use compound statement macros Simon Glass
2019-04-12 21:49 ` sjg at google.com
2019-03-21 18:10 ` [U-Boot] [PATCH v3 10/13] fdtdec: test: Add carveout tests Thierry Reding
2019-03-22 7:53 ` Simon Glass
2019-03-22 8:45 ` Thierry Reding
2019-04-12 21:49 ` sjg at google.com
2019-03-21 18:10 ` [U-Boot] [PATCH v3 11/13] sandbox: Enable fdtdec tests Thierry Reding
2019-03-22 7:53 ` Simon Glass
2019-04-12 21:49 ` sjg at google.com
2019-03-21 18:10 ` [U-Boot] [PATCH v3 12/13] p2371-2180: Add support for framebuffer carveouts Thierry Reding
2019-03-22 7:53 ` Simon Glass
2019-04-12 2:12 ` Simon Glass
2019-04-15 8:20 ` Thierry Reding
2019-03-21 18:10 ` [U-Boot] [PATCH v3 13/13] p2771-0000: " Thierry Reding
2019-03-22 7:53 ` Simon Glass
2019-04-12 2:12 ` Simon Glass
2019-04-12 21:50 ` [U-Boot] [PATCH v3 06/13] fdtdec: Implement carveout support functions sjg at google.com
2019-04-12 21:50 ` [U-Boot] [PATCH v3 05/13] fdtdec: Implement fdtdec_add_reserved_memory() sjg at google.com
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=20190321181010.27005-10-thierry.reding@gmail.com \
--to=thierry.reding@gmail.com \
--cc=u-boot@lists.denx.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.