mediatek: add patches for 5.15 and kernel config for mt7622
[openwrt/openwrt.git] / target / linux / mediatek / files / drivers / mtd / mtk-snand / mtk-snand-os.c
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3 * Copyright (C) 2020 MediaTek Inc. All Rights Reserved.
4 *
5 * Author: Weijie Gao <weijie.gao@mediatek.com>
6 */
7
8 #include "mtk-snand-def.h"
9
10 int mtk_snand_log(struct mtk_snand_plat_dev *pdev,
11 enum mtk_snand_log_category cat, const char *fmt, ...)
12 {
13 const char *catname = "";
14 va_list ap;
15 char *msg;
16
17 switch (cat) {
18 case SNAND_LOG_NFI:
19 catname = "NFI";
20 break;
21 case SNAND_LOG_SNFI:
22 catname = "SNFI";
23 break;
24 case SNAND_LOG_ECC:
25 catname = "ECC";
26 break;
27 default:
28 break;
29 }
30
31 va_start(ap, fmt);
32 msg = kvasprintf(GFP_KERNEL, fmt, ap);
33 va_end(ap);
34
35 if (!msg) {
36 dev_warn(pdev->dev, "unable to print log\n");
37 return -1;
38 }
39
40 if (*catname)
41 dev_warn(pdev->dev, "%s: %s", catname, msg);
42 else
43 dev_warn(pdev->dev, "%s", msg);
44
45 kfree(msg);
46
47 return 0;
48 }