// SPDX-License-Identifier: GPL-2.0 /* * Copyright (C) 2020 MediaTek Inc. All Rights Reserved. * * Author: Weijie Gao */ #include "mtk-snand-def.h" int mtk_snand_log(struct mtk_snand_plat_dev *pdev, enum mtk_snand_log_category cat, const char *fmt, ...) { const char *catname = ""; va_list ap; char *msg; switch (cat) { case SNAND_LOG_NFI: catname = "NFI"; break; case SNAND_LOG_SNFI: catname = "SNFI"; break; case SNAND_LOG_ECC: catname = "ECC"; break; default: break; } va_start(ap, fmt); msg = kvasprintf(GFP_KERNEL, fmt, ap); va_end(ap); if (!msg) { dev_warn(pdev->dev, "unable to print log\n"); return -1; } if (*catname) dev_warn(pdev->dev, "%s: %s", catname, msg); else dev_warn(pdev->dev, "%s", msg); kfree(msg); return 0; }