diff options
Diffstat (limited to 'target/linux/brcm2708/patches-4.14/950-0382-staging-vc04_services-remove-odd-vchiq_debugfs_top-w.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.14/950-0382-staging-vc04_services-remove-odd-vchiq_debugfs_top-w.patch | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.14/950-0382-staging-vc04_services-remove-odd-vchiq_debugfs_top-w.patch b/target/linux/brcm2708/patches-4.14/950-0382-staging-vc04_services-remove-odd-vchiq_debugfs_top-w.patch new file mode 100644 index 0000000000..f9b7c3badd --- /dev/null +++ b/target/linux/brcm2708/patches-4.14/950-0382-staging-vc04_services-remove-odd-vchiq_debugfs_top-w.patch @@ -0,0 +1,104 @@ +From a283da4533745e3552b889dce7e31ada9d99c5d2 Mon Sep 17 00:00:00 2001 +From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +Date: Fri, 1 Jun 2018 13:10:00 +0200 +Subject: [PATCH 382/454] staging: vc04_services: remove odd + vchiq_debugfs_top() wrapper + +commit 2739deaece4bc25fba5df0566423f4a11c3f4e84 upstream + +vchiq_debugfs_top() is only a wrapper around a pointer to a dentry, so +just use the dentry directly instead, making it a static variable +instead of part of a static structure. + +This also removes the pointless BUG_ON() when checking that dentry as no +one should ever care if debugfs is working or not, and the kernel should +really not panic over something as trivial as that. + +Suggested-by: Eric Anholt <eric@anholt.net> +Cc: Stefan Wahren <stefan.wahren@i2se.com> +Cc: Kees Cook <keescook@chromium.org> +Cc: Dan Carpenter <dan.carpenter@oracle.com> +Cc: Arnd Bergmann <arnd@arndb.de> +Cc: Keerthi Reddy <keerthigd4990@gmail.com> +Cc: linux-rpi-kernel@lists.infradead.org +Cc: linux-arm-kernel@lists.infradead.org +Reviewed-by: Eric Anholt <eric@anholt.net> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +--- + .../interface/vchiq_arm/vchiq_debugfs.c | 24 +++++++------------ + 1 file changed, 8 insertions(+), 16 deletions(-) + +--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_debugfs.c ++++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_debugfs.c +@@ -55,9 +55,6 @@ + + /* Top-level debug info */ + struct vchiq_debugfs_info { +- /* Global 'vchiq' debugfs entry used by all instances */ +- struct dentry *vchiq_cfg_dir; +- + /* one entry per client process */ + struct dentry *clients; + +@@ -67,6 +64,9 @@ struct vchiq_debugfs_info { + + static struct vchiq_debugfs_info debugfs_info; + ++/* Global 'vchiq' debugfs entry used by all instances */ ++struct dentry *vchiq_dbg_dir; ++ + /* Log category debugfs entries */ + struct vchiq_debugfs_log_entry { + const char *name; +@@ -84,7 +84,6 @@ static struct vchiq_debugfs_log_entry vc + static int n_log_entries = ARRAY_SIZE(vchiq_debugfs_log_entries); + + static struct dentry *vchiq_clients_top(void); +-static struct dentry *vchiq_debugfs_top(void); + + static int debugfs_log_show(struct seq_file *f, void *offset) + { +@@ -165,7 +164,7 @@ static void vchiq_debugfs_create_log_ent + struct dentry *dir; + size_t i; + +- dir = debugfs_create_dir("log", vchiq_debugfs_top()); ++ dir = debugfs_create_dir("log", vchiq_dbg_dir); + debugfs_info.log_categories = dir; + + for (i = 0; i < n_log_entries; i++) { +@@ -288,17 +287,16 @@ void vchiq_debugfs_remove_instance(VCHIQ + + void vchiq_debugfs_init(void) + { +- debugfs_info.vchiq_cfg_dir = debugfs_create_dir("vchiq", NULL); +- debugfs_info.clients = debugfs_create_dir("clients", +- vchiq_debugfs_top()); ++ vchiq_dbg_dir = debugfs_create_dir("vchiq", NULL); ++ debugfs_info.clients = debugfs_create_dir("clients", vchiq_dbg_dir); + +- vchiq_debugfs_create_log_entries(vchiq_debugfs_top()); ++ vchiq_debugfs_create_log_entries(vchiq_dbg_dir); + } + + /* remove all the debugfs entries */ + void vchiq_debugfs_deinit(void) + { +- debugfs_remove_recursive(vchiq_debugfs_top()); ++ debugfs_remove_recursive(vchiq_dbg_dir); + } + + static struct dentry *vchiq_clients_top(void) +@@ -306,12 +304,6 @@ static struct dentry *vchiq_clients_top( + return debugfs_info.clients; + } + +-static struct dentry *vchiq_debugfs_top(void) +-{ +- BUG_ON(debugfs_info.vchiq_cfg_dir == NULL); +- return debugfs_info.vchiq_cfg_dir; +-} +- + #else /* CONFIG_DEBUG_FS */ + + void vchiq_debugfs_init(void) |