diff --git a/drivers/bus/mhi/devices/mhi_uci.c b/drivers/bus/mhi/devices/mhi_uci.c index a52410ac2982..f25c8510b799 100644 --- a/drivers/bus/mhi/devices/mhi_uci.c +++ b/drivers/bus/mhi/devices/mhi_uci.c @@ -50,6 +50,7 @@ struct uci_dev { bool enabled; u32 tiocm; void *ipc_log; + enum MHI_DEBUG_LEVEL *ipc_log_lvl; }; struct mhi_uci_drv { @@ -64,30 +65,26 @@ static enum MHI_DEBUG_LEVEL msg_lvl = MHI_MSG_LVL_ERROR; #ifdef CONFIG_MHI_DEBUG -#define IPC_LOG_LVL (MHI_MSG_LVL_VERBOSE) #define MHI_UCI_IPC_LOG_PAGES (25) - -#else - -#define IPC_LOG_LVL (MHI_MSG_LVL_ERROR) -#define MHI_UCI_IPC_LOG_PAGES (1) - -#endif - -#ifdef CONFIG_MHI_DEBUG - #define MSG_VERB(fmt, ...) do { \ if (msg_lvl <= MHI_MSG_LVL_VERBOSE) \ printk("%s[D][%s] " fmt, KERN_ERR, __func__, \ ##__VA_ARGS__); \ - if (IPC_LOG_LVL <= MHI_MSG_LVL_VERBOSE) \ + if (uci_dev->ipc_log && uci_dev->ipc_log_lvl && \ + (*uci_dev->ipc_log_lvl <= MHI_MSG_LVL_VERBOSE)) \ ipc_log_string(uci_dev->ipc_log, "%s[D][%s] " fmt, \ "", __func__, ##__VA_ARGS__); \ } while (0) #else -#define MSG_VERB(fmt, ...) +#define MHI_UCI_IPC_LOG_PAGES (1) +#define MSG_VERB(fmt, ...) do { \ + if (uci_dev->ipc_log && uci_dev->ipc_log_lvl && \ + (*uci_dev->ipc_log_lvl <= MHI_MSG_LVL_VERBOSE)) \ + ipc_log_string(uci_dev->ipc_log, "%s[D][%s] " fmt, \ + "", __func__, ##__VA_ARGS__); \ + } while (0) #endif @@ -95,7 +92,8 @@ static enum MHI_DEBUG_LEVEL msg_lvl = MHI_MSG_LVL_ERROR; if (msg_lvl <= MHI_MSG_LVL_INFO) \ printk("%s[I][%s] " fmt, KERN_ERR, __func__, \ ##__VA_ARGS__); \ - if (IPC_LOG_LVL <= MHI_MSG_LVL_INFO) \ + if (uci_dev->ipc_log && uci_dev->ipc_log_lvl && \ + (*uci_dev->ipc_log_lvl <= MHI_MSG_LVL_INFO)) \ ipc_log_string(uci_dev->ipc_log, "%s[I][%s] " fmt, \ "", __func__, ##__VA_ARGS__); \ } while (0) @@ -104,7 +102,8 @@ static enum MHI_DEBUG_LEVEL msg_lvl = MHI_MSG_LVL_ERROR; if (msg_lvl <= MHI_MSG_LVL_ERROR) \ printk("%s[E][%s] " fmt, KERN_ERR, __func__, \ ##__VA_ARGS__); \ - if (IPC_LOG_LVL <= MHI_MSG_LVL_ERROR) \ + if (uci_dev->ipc_log && uci_dev->ipc_log_lvl && \ + (*uci_dev->ipc_log_lvl <= MHI_MSG_LVL_ERROR)) \ ipc_log_string(uci_dev->ipc_log, "%s[E][%s] " fmt, \ "", __func__, ##__VA_ARGS__); \ } while (0) @@ -574,6 +573,7 @@ static int mhi_uci_probe(struct mhi_device *mhi_dev, const struct mhi_device_id *id) { struct uci_dev *uci_dev; + struct mhi_controller *mhi_cntrl = mhi_dev->mhi_cntrl; int minor; char node_name[32]; int dir; @@ -609,6 +609,7 @@ static int mhi_uci_probe(struct mhi_device *mhi_dev, mhi_dev->ul_chan_id); uci_dev->ipc_log = ipc_log_context_create(MHI_UCI_IPC_LOG_PAGES, node_name, 0); + uci_dev->ipc_log_lvl = &mhi_cntrl->log_lvl; for (dir = 0; dir < 2; dir++) { struct uci_chan *uci_chan = (dir) ?