Loading drivers/char/diag/Kconfig +1 −1 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ endmenu menu "HSIC/SMUX support for DIAG" config DIAGFWD_BRIDGE_CODE depends on USB_QCOM_DIAG_BRIDGE depends on USB_QCOM_DIAG_BRIDGE || MSM_MHI default y bool "Enable QSC/9K DIAG traffic over SMUX/HSIC" help Loading drivers/char/diag/Makefile +3 −3 Original line number Diff line number Diff line obj-$(CONFIG_DIAG_CHAR) := diagchar.o obj-$(CONFIG_DIAGFWD_BRIDGE_CODE) += diagfwd_bridge.o obj-$(CONFIG_DIAGFWD_BRIDGE_CODE) += diagfwd_hsic.o obj-$(CONFIG_DIAGFWD_BRIDGE_CODE) += diagfwd_smux.o obj-$(CONFIG_DIAGFWD_BRIDGE_CODE) += diagfwd_mhi.o obj-$(CONFIG_USB_QCOM_DIAG_BRIDGE) += diagfwd_hsic.o obj-$(CONFIG_USB_QCOM_DIAG_BRIDGE) += diagfwd_smux.o obj-$(CONFIG_MSM_MHI) += diagfwd_mhi.o diagchar-objs := diagchar_core.o diagchar_hdlc.o diagfwd.o diagfwd_peripheral.o diagfwd_smd.o diagfwd_socket.o diag_mux.o diag_memorydevice.o diag_usb.o diagmem.o diagfwd_cntl.o diag_dci.o diag_masks.o diag_debugfs.o drivers/char/diag/diag_debugfs.c +20 −11 Original line number Diff line number Diff line Loading @@ -20,8 +20,12 @@ #include "diagfwd.h" #ifdef CONFIG_DIAGFWD_BRIDGE_CODE #include "diagfwd_bridge.h" #endif #ifdef CONFIG_USB_QCOM_DIAG_BRIDGE #include "diagfwd_hsic.h" #include "diagfwd_smux.h" #endif #ifdef CONFIG_MSM_MHI #include "diagfwd_mhi.h" #endif #include "diagmem.h" Loading Loading @@ -712,6 +716,7 @@ static ssize_t diag_dbgfs_write_debug(struct file *fp, const char __user *buf, } #ifdef CONFIG_DIAGFWD_BRIDGE_CODE #ifdef CONFIG_USB_QCOM_DIAG_BRIDGE static ssize_t diag_dbgfs_read_hsicinfo(struct file *file, char __user *ubuf, size_t count, loff_t *ppos) { Loading Loading @@ -779,6 +784,11 @@ static ssize_t diag_dbgfs_read_hsicinfo(struct file *file, char __user *ubuf, return ret; } const struct file_operations diag_dbgfs_hsicinfo_ops = { .read = diag_dbgfs_read_hsicinfo, }; #endif #ifdef CONFIG_MSM_MHI static ssize_t diag_dbgfs_read_mhiinfo(struct file *file, char __user *ubuf, size_t count, loff_t *ppos) { Loading Loading @@ -848,6 +858,12 @@ static ssize_t diag_dbgfs_read_mhiinfo(struct file *file, char __user *ubuf, return ret; } const struct file_operations diag_dbgfs_mhiinfo_ops = { .read = diag_dbgfs_read_mhiinfo, }; #endif static ssize_t diag_dbgfs_read_bridge(struct file *file, char __user *ubuf, size_t count, loff_t *ppos) { Loading Loading @@ -913,14 +929,6 @@ static ssize_t diag_dbgfs_read_bridge(struct file *file, char __user *ubuf, return ret; } const struct file_operations diag_dbgfs_mhiinfo_ops = { .read = diag_dbgfs_read_mhiinfo, }; const struct file_operations diag_dbgfs_hsicinfo_ops = { .read = diag_dbgfs_read_hsicinfo, }; const struct file_operations diag_dbgfs_bridge_ops = { .read = diag_dbgfs_read_bridge, }; Loading Loading @@ -1021,18 +1029,19 @@ int diag_debugfs_init(void) &diag_dbgfs_bridge_ops); if (!entry) goto err; #ifdef CONFIG_USB_QCOM_DIAG_BRIDGE entry = debugfs_create_file("hsicinfo", 0444, diag_dbgfs_dent, 0, &diag_dbgfs_hsicinfo_ops); if (!entry) goto err; #endif #ifdef CONFIG_MSM_MHI entry = debugfs_create_file("mhiinfo", 0444, diag_dbgfs_dent, 0, &diag_dbgfs_mhiinfo_ops); if (!entry) goto err; #endif #endif diag_dbgfs_table_index = 0; diag_dbgfs_mempool_index = 0; diag_dbgfs_usbinfo_index = 0; Loading drivers/char/diag/diagchar_core.c +2 −1 Original line number Diff line number Diff line Loading @@ -3142,7 +3142,8 @@ static void diag_debug_init(void) * Set the bit mask here as per diag_ipc_logging.h to enable debug logs * to be logged to IPC */ diag_debug_mask = DIAG_DEBUG_PERIPHERALS | DIAG_DEBUG_DCI; diag_debug_mask = DIAG_DEBUG_PERIPHERALS | DIAG_DEBUG_DCI | DIAG_DEBUG_BRIDGE; } #else static void diag_debug_init(void) Loading drivers/char/diag/diagfwd_bridge.c +8 −0 Original line number Diff line number Diff line Loading @@ -18,11 +18,15 @@ #include <linux/workqueue.h> #include <linux/ratelimit.h> #include <linux/platform_device.h> #ifdef USB_QCOM_DIAG_BRIDGE #include <linux/smux.h> #endif #include "diag_mux.h" #include "diagfwd_bridge.h" #ifdef USB_QCOM_DIAG_BRIDGE #include "diagfwd_hsic.h" #include "diagfwd_smux.h" #endif #include "diagfwd_mhi.h" #include "diag_dci.h" Loading Loading @@ -256,9 +260,11 @@ int diagfwd_bridge_init() err = diag_mdm_init(); if (err) goto fail; #ifdef USB_QCOM_DIAG_BRIDGE err = diag_smux_init(); if (err) goto fail; #endif return 0; fail: Loading @@ -268,8 +274,10 @@ fail: void diagfwd_bridge_exit() { #ifdef USB_QCOM_DIAG_BRIDGE diag_hsic_exit(); diag_smux_exit(); #endif } int diagfwd_bridge_close(int id) Loading Loading
drivers/char/diag/Kconfig +1 −1 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ endmenu menu "HSIC/SMUX support for DIAG" config DIAGFWD_BRIDGE_CODE depends on USB_QCOM_DIAG_BRIDGE depends on USB_QCOM_DIAG_BRIDGE || MSM_MHI default y bool "Enable QSC/9K DIAG traffic over SMUX/HSIC" help Loading
drivers/char/diag/Makefile +3 −3 Original line number Diff line number Diff line obj-$(CONFIG_DIAG_CHAR) := diagchar.o obj-$(CONFIG_DIAGFWD_BRIDGE_CODE) += diagfwd_bridge.o obj-$(CONFIG_DIAGFWD_BRIDGE_CODE) += diagfwd_hsic.o obj-$(CONFIG_DIAGFWD_BRIDGE_CODE) += diagfwd_smux.o obj-$(CONFIG_DIAGFWD_BRIDGE_CODE) += diagfwd_mhi.o obj-$(CONFIG_USB_QCOM_DIAG_BRIDGE) += diagfwd_hsic.o obj-$(CONFIG_USB_QCOM_DIAG_BRIDGE) += diagfwd_smux.o obj-$(CONFIG_MSM_MHI) += diagfwd_mhi.o diagchar-objs := diagchar_core.o diagchar_hdlc.o diagfwd.o diagfwd_peripheral.o diagfwd_smd.o diagfwd_socket.o diag_mux.o diag_memorydevice.o diag_usb.o diagmem.o diagfwd_cntl.o diag_dci.o diag_masks.o diag_debugfs.o
drivers/char/diag/diag_debugfs.c +20 −11 Original line number Diff line number Diff line Loading @@ -20,8 +20,12 @@ #include "diagfwd.h" #ifdef CONFIG_DIAGFWD_BRIDGE_CODE #include "diagfwd_bridge.h" #endif #ifdef CONFIG_USB_QCOM_DIAG_BRIDGE #include "diagfwd_hsic.h" #include "diagfwd_smux.h" #endif #ifdef CONFIG_MSM_MHI #include "diagfwd_mhi.h" #endif #include "diagmem.h" Loading Loading @@ -712,6 +716,7 @@ static ssize_t diag_dbgfs_write_debug(struct file *fp, const char __user *buf, } #ifdef CONFIG_DIAGFWD_BRIDGE_CODE #ifdef CONFIG_USB_QCOM_DIAG_BRIDGE static ssize_t diag_dbgfs_read_hsicinfo(struct file *file, char __user *ubuf, size_t count, loff_t *ppos) { Loading Loading @@ -779,6 +784,11 @@ static ssize_t diag_dbgfs_read_hsicinfo(struct file *file, char __user *ubuf, return ret; } const struct file_operations diag_dbgfs_hsicinfo_ops = { .read = diag_dbgfs_read_hsicinfo, }; #endif #ifdef CONFIG_MSM_MHI static ssize_t diag_dbgfs_read_mhiinfo(struct file *file, char __user *ubuf, size_t count, loff_t *ppos) { Loading Loading @@ -848,6 +858,12 @@ static ssize_t diag_dbgfs_read_mhiinfo(struct file *file, char __user *ubuf, return ret; } const struct file_operations diag_dbgfs_mhiinfo_ops = { .read = diag_dbgfs_read_mhiinfo, }; #endif static ssize_t diag_dbgfs_read_bridge(struct file *file, char __user *ubuf, size_t count, loff_t *ppos) { Loading Loading @@ -913,14 +929,6 @@ static ssize_t diag_dbgfs_read_bridge(struct file *file, char __user *ubuf, return ret; } const struct file_operations diag_dbgfs_mhiinfo_ops = { .read = diag_dbgfs_read_mhiinfo, }; const struct file_operations diag_dbgfs_hsicinfo_ops = { .read = diag_dbgfs_read_hsicinfo, }; const struct file_operations diag_dbgfs_bridge_ops = { .read = diag_dbgfs_read_bridge, }; Loading Loading @@ -1021,18 +1029,19 @@ int diag_debugfs_init(void) &diag_dbgfs_bridge_ops); if (!entry) goto err; #ifdef CONFIG_USB_QCOM_DIAG_BRIDGE entry = debugfs_create_file("hsicinfo", 0444, diag_dbgfs_dent, 0, &diag_dbgfs_hsicinfo_ops); if (!entry) goto err; #endif #ifdef CONFIG_MSM_MHI entry = debugfs_create_file("mhiinfo", 0444, diag_dbgfs_dent, 0, &diag_dbgfs_mhiinfo_ops); if (!entry) goto err; #endif #endif diag_dbgfs_table_index = 0; diag_dbgfs_mempool_index = 0; diag_dbgfs_usbinfo_index = 0; Loading
drivers/char/diag/diagchar_core.c +2 −1 Original line number Diff line number Diff line Loading @@ -3142,7 +3142,8 @@ static void diag_debug_init(void) * Set the bit mask here as per diag_ipc_logging.h to enable debug logs * to be logged to IPC */ diag_debug_mask = DIAG_DEBUG_PERIPHERALS | DIAG_DEBUG_DCI; diag_debug_mask = DIAG_DEBUG_PERIPHERALS | DIAG_DEBUG_DCI | DIAG_DEBUG_BRIDGE; } #else static void diag_debug_init(void) Loading
drivers/char/diag/diagfwd_bridge.c +8 −0 Original line number Diff line number Diff line Loading @@ -18,11 +18,15 @@ #include <linux/workqueue.h> #include <linux/ratelimit.h> #include <linux/platform_device.h> #ifdef USB_QCOM_DIAG_BRIDGE #include <linux/smux.h> #endif #include "diag_mux.h" #include "diagfwd_bridge.h" #ifdef USB_QCOM_DIAG_BRIDGE #include "diagfwd_hsic.h" #include "diagfwd_smux.h" #endif #include "diagfwd_mhi.h" #include "diag_dci.h" Loading Loading @@ -256,9 +260,11 @@ int diagfwd_bridge_init() err = diag_mdm_init(); if (err) goto fail; #ifdef USB_QCOM_DIAG_BRIDGE err = diag_smux_init(); if (err) goto fail; #endif return 0; fail: Loading @@ -268,8 +274,10 @@ fail: void diagfwd_bridge_exit() { #ifdef USB_QCOM_DIAG_BRIDGE diag_hsic_exit(); diag_smux_exit(); #endif } int diagfwd_bridge_close(int id) Loading