123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349 |
- From 34789d0cf682c643862792750a06c31ccf016cbc Mon Sep 17 00:00:00 2001
- From: Arend Van Spriel <[email protected]>
- Date: Thu, 22 Mar 2018 21:28:24 +0100
- Subject: [PATCH] brcmfmac: use wiphy debugfs dir entry
- The driver used to create a brcmfmac dir entry at the top level
- debugfs mount point. This moves the debugfs entries into the
- wiphy debugfs dir entry.
- Reviewed-by: Hante Meuleman <[email protected]>
- Reviewed-by: Pieter-Paul Giesberts <[email protected]>
- Reviewed-by: Franky Lin <[email protected]>
- Signed-off-by: Arend van Spriel <[email protected]>
- Signed-off-by: Kalle Valo <[email protected]>
- ---
- .../wireless/broadcom/brcm80211/brcmfmac/bcdc.c | 6 ++++
- .../wireless/broadcom/brcm80211/brcmfmac/common.c | 5 ---
- .../wireless/broadcom/brcm80211/brcmfmac/core.c | 11 +++---
- .../wireless/broadcom/brcm80211/brcmfmac/debug.c | 42 ++--------------------
- .../wireless/broadcom/brcm80211/brcmfmac/debug.h | 17 ---------
- .../wireless/broadcom/brcm80211/brcmfmac/feature.c | 3 ++
- .../wireless/broadcom/brcm80211/brcmfmac/feature.h | 7 ++++
- .../broadcom/brcm80211/brcmfmac/fwsignal.c | 11 +++---
- .../broadcom/brcm80211/brcmfmac/fwsignal.h | 1 +
- .../wireless/broadcom/brcm80211/brcmfmac/msgbuf.c | 8 +++--
- .../wireless/broadcom/brcm80211/brcmfmac/proto.c | 3 +-
- .../wireless/broadcom/brcm80211/brcmfmac/proto.h | 7 ++++
- 12 files changed, 47 insertions(+), 74 deletions(-)
- --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c
- +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c
- @@ -445,6 +445,11 @@ brcmf_proto_bcdc_init_done(struct brcmf_
- return 0;
- }
-
- +static void brcmf_proto_bcdc_debugfs_create(struct brcmf_pub *drvr)
- +{
- + brcmf_fws_debugfs_create(drvr);
- +}
- +
- int brcmf_proto_bcdc_attach(struct brcmf_pub *drvr)
- {
- struct brcmf_bcdc *bcdc;
- @@ -472,6 +477,7 @@ int brcmf_proto_bcdc_attach(struct brcmf
- drvr->proto->del_if = brcmf_proto_bcdc_del_if;
- drvr->proto->reset_if = brcmf_proto_bcdc_reset_if;
- drvr->proto->init_done = brcmf_proto_bcdc_init_done;
- + drvr->proto->debugfs_create = brcmf_proto_bcdc_debugfs_create;
- drvr->proto->pd = bcdc;
-
- drvr->hdrlen += BCDC_HEADER_LEN + BRCMF_PROT_FW_SIGNAL_MAX_TXBYTES;
- --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
- +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
- @@ -529,9 +529,6 @@ static int __init brcmfmac_module_init(v
- {
- int err;
-
- - /* Initialize debug system first */
- - brcmf_debugfs_init();
- -
- /* Get the platform data (if available) for our devices */
- err = platform_driver_probe(&brcmf_pd, brcmf_common_pd_probe);
- if (err == -ENODEV)
- @@ -543,7 +540,6 @@ static int __init brcmfmac_module_init(v
- /* Continue the initialization by registering the different busses */
- err = brcmf_core_init();
- if (err) {
- - brcmf_debugfs_exit();
- if (brcmfmac_pdata)
- platform_driver_unregister(&brcmf_pd);
- }
- @@ -556,7 +552,6 @@ static void __exit brcmfmac_module_exit(
- brcmf_core_exit();
- if (brcmfmac_pdata)
- platform_driver_unregister(&brcmf_pd);
- - brcmf_debugfs_exit();
- }
-
- module_init(brcmfmac_module_init);
- --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
- +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
- @@ -1050,8 +1050,6 @@ static int brcmf_bus_started(struct brcm
- if (ret < 0)
- goto fail;
-
- - brcmf_debugfs_add_entry(drvr, "revinfo", brcmf_revinfo_read);
- -
- brcmf_feat_attach(drvr);
-
- ret = brcmf_proto_init_done(drvr);
- @@ -1094,6 +1092,11 @@ static int brcmf_bus_started(struct brcm
- #endif
- #endif /* CONFIG_INET */
-
- + /* populate debugfs */
- + brcmf_debugfs_add_entry(drvr, "revinfo", brcmf_revinfo_read);
- + brcmf_feat_debugfs_create(drvr);
- + brcmf_proto_debugfs_create(drvr);
- +
- return 0;
-
- fail:
- @@ -1146,9 +1149,6 @@ int brcmf_attach(struct device *dev, str
- drvr->bus_if->drvr = drvr;
- drvr->settings = settings;
-
- - /* attach debug facilities */
- - brcmf_debug_attach(drvr);
- -
- /* Attach and link in the protocol */
- ret = brcmf_proto_attach(drvr);
- if (ret != 0) {
- @@ -1238,7 +1238,6 @@ void brcmf_detach(struct device *dev)
-
- brcmf_proto_detach(drvr);
-
- - brcmf_debug_detach(drvr);
- bus_if->drvr = NULL;
- wiphy_free(drvr->wiphy);
- }
- --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.c
- +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.c
- @@ -25,8 +25,6 @@
- #include "fweh.h"
- #include "debug.h"
-
- -static struct dentry *root_folder;
- -
- int brcmf_debug_create_memdump(struct brcmf_bus *bus, const void *data,
- size_t len)
- {
- @@ -54,44 +52,9 @@ int brcmf_debug_create_memdump(struct br
- return 0;
- }
-
- -void brcmf_debugfs_init(void)
- -{
- - root_folder = debugfs_create_dir(KBUILD_MODNAME, NULL);
- - if (IS_ERR(root_folder))
- - root_folder = NULL;
- -}
- -
- -void brcmf_debugfs_exit(void)
- -{
- - if (!root_folder)
- - return;
- -
- - debugfs_remove_recursive(root_folder);
- - root_folder = NULL;
- -}
- -
- -int brcmf_debug_attach(struct brcmf_pub *drvr)
- -{
- - struct device *dev = drvr->bus_if->dev;
- -
- - if (!root_folder)
- - return -ENODEV;
- -
- - drvr->dbgfs_dir = debugfs_create_dir(dev_name(dev), root_folder);
- - return PTR_ERR_OR_ZERO(drvr->dbgfs_dir);
- -}
- -
- -void brcmf_debug_detach(struct brcmf_pub *drvr)
- -{
- - brcmf_fweh_unregister(drvr, BRCMF_E_PSM_WATCHDOG);
- -
- - if (!IS_ERR_OR_NULL(drvr->dbgfs_dir))
- - debugfs_remove_recursive(drvr->dbgfs_dir);
- -}
- -
- struct dentry *brcmf_debugfs_get_devdir(struct brcmf_pub *drvr)
- {
- - return drvr->dbgfs_dir;
- + return drvr->wiphy->debugfsdir;
- }
-
- int brcmf_debugfs_add_entry(struct brcmf_pub *drvr, const char *fn,
- @@ -99,7 +62,8 @@ int brcmf_debugfs_add_entry(struct brcmf
- {
- struct dentry *e;
-
- + WARN(!drvr->wiphy->debugfsdir, "wiphy not (yet) registered\n");
- e = debugfs_create_devm_seqfile(drvr->bus_if->dev, fn,
- - drvr->dbgfs_dir, read_fn);
- + drvr->wiphy->debugfsdir, read_fn);
- return PTR_ERR_OR_ZERO(e);
- }
- --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.h
- +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.h
- @@ -113,29 +113,12 @@ extern int brcmf_msg_level;
- struct brcmf_bus;
- struct brcmf_pub;
- #ifdef DEBUG
- -void brcmf_debugfs_init(void);
- -void brcmf_debugfs_exit(void);
- -int brcmf_debug_attach(struct brcmf_pub *drvr);
- -void brcmf_debug_detach(struct brcmf_pub *drvr);
- struct dentry *brcmf_debugfs_get_devdir(struct brcmf_pub *drvr);
- int brcmf_debugfs_add_entry(struct brcmf_pub *drvr, const char *fn,
- int (*read_fn)(struct seq_file *seq, void *data));
- int brcmf_debug_create_memdump(struct brcmf_bus *bus, const void *data,
- size_t len);
- #else
- -static inline void brcmf_debugfs_init(void)
- -{
- -}
- -static inline void brcmf_debugfs_exit(void)
- -{
- -}
- -static inline int brcmf_debug_attach(struct brcmf_pub *drvr)
- -{
- - return 0;
- -}
- -static inline void brcmf_debug_detach(struct brcmf_pub *drvr)
- -{
- -}
- static inline
- int brcmf_debugfs_add_entry(struct brcmf_pub *drvr, const char *fn,
- int (*read_fn)(struct seq_file *seq, void *data))
- --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c
- +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c
- @@ -228,7 +228,10 @@ void brcmf_feat_attach(struct brcmf_pub
- /* no quirks */
- break;
- }
- +}
-
- +void brcmf_feat_debugfs_create(struct brcmf_pub *drvr)
- +{
- brcmf_debugfs_add_entry(drvr, "features", brcmf_feat_debugfs_read);
- }
-
- --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.h
- +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.h
- @@ -90,6 +90,13 @@ enum brcmf_feat_quirk {
- void brcmf_feat_attach(struct brcmf_pub *drvr);
-
- /**
- + * brcmf_feat_debugfs_create() - create debugfs entries.
- + *
- + * @drvr: driver instance.
- + */
- +void brcmf_feat_debugfs_create(struct brcmf_pub *drvr);
- +
- +/**
- * brcmf_feat_is_enabled() - query feature.
- *
- * @ifp: interface instance.
- --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c
- +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c
- @@ -2399,10 +2399,6 @@ struct brcmf_fws_info *brcmf_fws_attach(
- brcmu_pktq_init(&fws->desc.other.psq, BRCMF_FWS_PSQ_PREC_COUNT,
- BRCMF_FWS_PSQ_LEN);
-
- - /* create debugfs file for statistics */
- - brcmf_debugfs_add_entry(drvr, "fws_stats",
- - brcmf_debugfs_fws_stats_read);
- -
- brcmf_dbg(INFO, "%s bdcv2 tlv signaling [%x]\n",
- fws->fw_signals ? "enabled" : "disabled", tlv);
- return fws;
- @@ -2429,6 +2425,13 @@ void brcmf_fws_detach(struct brcmf_fws_i
- kfree(fws);
- }
-
- +void brcmf_fws_debugfs_create(struct brcmf_pub *drvr)
- +{
- + /* create debugfs file for statistics */
- + brcmf_debugfs_add_entry(drvr, "fws_stats",
- + brcmf_debugfs_fws_stats_read);
- +}
- +
- bool brcmf_fws_queue_skbs(struct brcmf_fws_info *fws)
- {
- return !fws->avoid_queueing;
- --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.h
- +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.h
- @@ -20,6 +20,7 @@
-
- struct brcmf_fws_info *brcmf_fws_attach(struct brcmf_pub *drvr);
- void brcmf_fws_detach(struct brcmf_fws_info *fws);
- +void brcmf_fws_debugfs_create(struct brcmf_pub *drvr);
- bool brcmf_fws_queue_skbs(struct brcmf_fws_info *fws);
- bool brcmf_fws_fc_active(struct brcmf_fws_info *fws);
- void brcmf_fws_hdrpull(struct brcmf_if *ifp, s16 siglen, struct sk_buff *skb);
- --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
- +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c
- @@ -1418,6 +1418,11 @@ static int brcmf_msgbuf_stats_read(struc
- }
- #endif
-
- +static void brcmf_msgbuf_debugfs_create(struct brcmf_pub *drvr)
- +{
- + brcmf_debugfs_add_entry(drvr, "msgbuf_stats", brcmf_msgbuf_stats_read);
- +}
- +
- int brcmf_proto_msgbuf_attach(struct brcmf_pub *drvr)
- {
- struct brcmf_bus_msgbuf *if_msgbuf;
- @@ -1472,6 +1477,7 @@ int brcmf_proto_msgbuf_attach(struct brc
- drvr->proto->delete_peer = brcmf_msgbuf_delete_peer;
- drvr->proto->add_tdls_peer = brcmf_msgbuf_add_tdls_peer;
- drvr->proto->rxreorder = brcmf_msgbuf_rxreorder;
- + drvr->proto->debugfs_create = brcmf_msgbuf_debugfs_create;
- drvr->proto->pd = msgbuf;
-
- init_waitqueue_head(&msgbuf->ioctl_resp_wait);
- @@ -1525,8 +1531,6 @@ int brcmf_proto_msgbuf_attach(struct brc
- spin_lock_init(&msgbuf->flowring_work_lock);
- INIT_LIST_HEAD(&msgbuf->work_queue);
-
- - brcmf_debugfs_add_entry(drvr, "msgbuf_stats", brcmf_msgbuf_stats_read);
- -
- return 0;
-
- fail:
- --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/proto.c
- +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/proto.c
- @@ -54,7 +54,8 @@ int brcmf_proto_attach(struct brcmf_pub
- if (!proto->tx_queue_data || (proto->hdrpull == NULL) ||
- (proto->query_dcmd == NULL) || (proto->set_dcmd == NULL) ||
- (proto->configure_addr_mode == NULL) ||
- - (proto->delete_peer == NULL) || (proto->add_tdls_peer == NULL)) {
- + (proto->delete_peer == NULL) || (proto->add_tdls_peer == NULL) ||
- + (proto->debugfs_create == NULL)) {
- brcmf_err("Not all proto handlers have been installed\n");
- goto fail;
- }
- --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/proto.h
- +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/proto.h
- @@ -48,6 +48,7 @@ struct brcmf_proto {
- void (*del_if)(struct brcmf_if *ifp);
- void (*reset_if)(struct brcmf_if *ifp);
- int (*init_done)(struct brcmf_pub *drvr);
- + void (*debugfs_create)(struct brcmf_pub *drvr);
- void *pd;
- };
-
- @@ -156,4 +157,10 @@ brcmf_proto_init_done(struct brcmf_pub *
- return drvr->proto->init_done(drvr);
- }
-
- +static inline void
- +brcmf_proto_debugfs_create(struct brcmf_pub *drvr)
- +{
- + drvr->proto->debugfs_create(drvr);
- +}
- +
- #endif /* BRCMFMAC_PROTO_H */
|