[PATCH V3 07/11] mtd: utils: apply macros for message printouts
Wolfram Sang
w.sang at pengutronix.de
Mon Dec 17 10:48:29 EST 2012
mtd-utils have a few macros for printouts. Provide the wrappers to make
it easier to import them.
Signed-off-by: Wolfram Sang <w.sang at pengutronix.de>
---
include/mtd/utils.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)
create mode 100644 include/mtd/utils.h
diff --git a/include/mtd/utils.h b/include/mtd/utils.h
new file mode 100644
index 0000000..fca64ab
--- /dev/null
+++ b/include/mtd/utils.h
@@ -0,0 +1,47 @@
+/*
+ * mtd/utils.h - helper functions for various MTD utilities
+ *
+ * Copyright (C) 2012 by Wolfram Sang <w.sang at pengutronix.de>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef INCLUDE_MTD_UTILS_H
+# define INCLUDE_MTD_UTILS_H
+
+/* Messages as used in mtd-utils */
+
+#define bareverbose(verbose, fmt, ...) do { \
+ if (verbose) \
+ printf(fmt, ##__VA_ARGS__); \
+} while(0)
+#define verbose(verbose, fmt, ...) \
+ bareverbose(verbose, "%s: " fmt "\n", PROGRAM_NAME, ##__VA_ARGS__)
+
+#define normsg_cont(fmt, ...) do { \
+ printf("%s: " fmt, PROGRAM_NAME, ##__VA_ARGS__); \
+} while(0)
+
+#define normsg(fmt, ...) do { \
+ normsg_cont(fmt "\n", ##__VA_ARGS__); \
+} while(0)
+
+#define errmsg(fmt, ...) ({ \
+ printf("%s: error!: " fmt "\n", PROGRAM_NAME, ##__VA_ARGS__); \
+ -1; \
+})
+#define sys_errmsg errmsg
+
+#define warnmsg(fmt, ...) do { \
+ fprintf(stderr, "%s: warning!: " fmt "\n", PROGRAM_NAME, ##__VA_ARGS__); \
+} while(0)
+
+#endif /* INCLUDE_MTD_UTILS_H */
--
1.7.10.4
More information about the barebox
mailing list