Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

b43: don't save dentries for debugfs

There is no need to keep around the dentry pointers for the debugfs
files as they will all be automatically removed when the subdir is
removed. So save the space and logic involved in keeping them around by
just getting rid of them entirely.

By doing this change, we remove one of the last in-kernel user that was
storing the result of debugfs_create_bool(), so that api can be cleaned
up.

Cc: Kalle Valo <kvalo@codeaurora.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Kees Cook <keescook@chromium.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Chao Yu <chao@kernel.org>
Cc: Leon Romanovsky <leon@kernel.org>
Cc: linux-wireless@vger.kernel.org
Cc: b43-dev@lists.infradead.org
Cc: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Acked-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210518163304.3702015-1-gregkh@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

+5 -32
+5 -29
drivers/net/wireless/broadcom/b43/debugfs.c
··· 643 643 return enabled; 644 644 } 645 645 646 - static void b43_remove_dynamic_debug(struct b43_wldev *dev) 647 - { 648 - struct b43_dfsentry *e = dev->dfsentry; 649 - int i; 650 - 651 - for (i = 0; i < __B43_NR_DYNDBG; i++) 652 - debugfs_remove(e->dyn_debug_dentries[i]); 653 - } 654 - 655 646 static void b43_add_dynamic_debug(struct b43_wldev *dev) 656 647 { 657 648 struct b43_dfsentry *e = dev->dfsentry; 658 649 659 650 #define add_dyn_dbg(name, id, initstate) do { \ 660 651 e->dyn_debug[id] = (initstate); \ 661 - e->dyn_debug_dentries[id] = \ 662 - debugfs_create_bool(name, 0600, e->subdir, \ 663 - &(e->dyn_debug[id])); \ 652 + debugfs_create_bool(name, 0600, e->subdir, \ 653 + &(e->dyn_debug[id])); \ 664 654 } while (0) 665 655 666 656 add_dyn_dbg("debug_xmitpower", B43_DBG_XMITPOWER, false); ··· 703 713 704 714 #define ADD_FILE(name, mode) \ 705 715 do { \ 706 - e->file_##name.dentry = \ 707 - debugfs_create_file(__stringify(name), \ 708 - mode, e->subdir, dev, \ 709 - &fops_##name.fops); \ 716 + debugfs_create_file(__stringify(name), \ 717 + mode, e->subdir, dev, \ 718 + &fops_##name.fops); \ 710 719 } while (0) 711 720 712 721 ··· 735 746 e = dev->dfsentry; 736 747 if (!e) 737 748 return; 738 - b43_remove_dynamic_debug(dev); 739 - 740 - debugfs_remove(e->file_shm16read.dentry); 741 - debugfs_remove(e->file_shm16write.dentry); 742 - debugfs_remove(e->file_shm32read.dentry); 743 - debugfs_remove(e->file_shm32write.dentry); 744 - debugfs_remove(e->file_mmio16read.dentry); 745 - debugfs_remove(e->file_mmio16write.dentry); 746 - debugfs_remove(e->file_mmio32read.dentry); 747 - debugfs_remove(e->file_mmio32write.dentry); 748 - debugfs_remove(e->file_txstat.dentry); 749 - debugfs_remove(e->file_restart.dentry); 750 - debugfs_remove(e->file_loctls.dentry); 751 749 752 750 debugfs_remove(e->subdir); 753 751 kfree(e->txstatlog.log);
-3
drivers/net/wireless/broadcom/b43/debugfs.h
··· 32 32 }; 33 33 34 34 struct b43_dfs_file { 35 - struct dentry *dentry; 36 35 char *buffer; 37 36 size_t data_len; 38 37 }; ··· 69 70 70 71 /* Enabled/Disabled list for the dynamic debugging features. */ 71 72 bool dyn_debug[__B43_NR_DYNDBG]; 72 - /* Dentries for the dynamic debugging entries. */ 73 - struct dentry *dyn_debug_dentries[__B43_NR_DYNDBG]; 74 73 }; 75 74 76 75 bool b43_debug(struct b43_wldev *dev, enum b43_dyndbg feature);