mtd: ubi: Add logging functions ubi_msg, ubi_warn and ubi_err
[cascardo/linux.git] / drivers / mtd / ubi / misc.c
index 2a45ac2..989036c 100644 (file)
@@ -153,3 +153,52 @@ int ubi_check_pattern(const void *buf, uint8_t patt, int size)
                        return 0;
        return 1;
 }
+
+/* Normal UBI messages */
+void ubi_msg(const struct ubi_device *ubi, const char *fmt, ...)
+{
+       struct va_format vaf;
+       va_list args;
+
+       va_start(args, fmt);
+
+       vaf.fmt = fmt;
+       vaf.va = &args;
+
+       pr_notice(UBI_NAME_STR "%d: %pV\n", ubi->ubi_num, &vaf);
+
+       va_end(args);
+}
+
+/* UBI warning messages */
+void ubi_warn(const struct ubi_device *ubi, const char *fmt, ...)
+{
+       struct va_format vaf;
+       va_list args;
+
+       va_start(args, fmt);
+
+       vaf.fmt = fmt;
+       vaf.va = &args;
+
+       pr_warn(UBI_NAME_STR "%d warning: %ps: %pV\n",
+               ubi->ubi_num, __builtin_return_address(0), &vaf);
+
+       va_end(args);
+}
+
+/* UBI error messages */
+void ubi_err(const struct ubi_device *ubi, const char *fmt, ...)
+{
+       struct va_format vaf;
+       va_list args;
+
+       va_start(args, fmt);
+
+       vaf.fmt = fmt;
+       vaf.va = &args;
+
+       pr_err(UBI_NAME_STR "%d error: %ps: %pV\n",
+              ubi->ubi_num, __builtin_return_address(0), &vaf);
+       va_end(args);
+}