From 2ccda1c81ea7661c44354c5186075574c9032451 Mon Sep 17 00:00:00 2001 From: nohee ko Date: Sun, 17 Oct 2010 10:51:24 -0700 Subject: [PATCH] --- yaml --- r: 220403 b: refs/heads/master c: cd389a34a182639e8b6bf0e812fe8ec038bfddc5 h: refs/heads/master i: 220401: a7eb81052b3d3d9948596d52f90e4028e7493030 220399: ce30ef0e7c11edee0b75f6a62e48a6c639651a4b v: v3 --- [refs] | 2 +- .../staging/brcm80211/brcmfmac/wl_cfg80211.c | 43 +++++++++++++++++++ .../staging/brcm80211/brcmfmac/wl_cfg80211.h | 1 + 3 files changed, 45 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 39451a55b059..b9b8a16e63dd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1e0645c3236b8ae44d10abb6a1304784359a3ea8 +refs/heads/master: cd389a34a182639e8b6bf0e812fe8ec038bfddc5 diff --git a/trunk/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c b/trunk/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c index 5bda8569cfc6..621521b9e408 100644 --- a/trunk/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c +++ b/trunk/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c @@ -333,6 +333,12 @@ static __used s32 wl_update_pmklist(struct net_device *dev, static void wl_set_mpc(struct net_device *ndev, int mpc); +/* +* debufs support +*/ +static int wl_debugfs_add_netdev_params(struct wl_priv *wl); +static void wl_debugfs_remove_netdev(struct wl_priv *wl); + #define WL_PRIV_GET() \ ({ \ struct wl_iface *ci; \ @@ -3814,6 +3820,8 @@ static s32 __wl_cfg80211_up(struct wl_priv *wl) { s32 err = 0; + wl_debugfs_add_netdev_params(wl); + err = wl_config_dongle(wl, false); if (unlikely(err)) return err; @@ -3851,6 +3859,8 @@ static s32 __wl_cfg80211_down(struct wl_priv *wl) clear_bit(WL_STATUS_SCAN_ABORTING, &wl->status); clear_bit(WL_STATUS_CONNECTED, &wl->status); + wl_debugfs_remove_netdev(wl); + return err; } @@ -4186,3 +4196,36 @@ static void wl_set_mpc(struct net_device *ndev, int mpc) } WL_DBG(("MPC : %d\n", mpc)); } + +static int wl_debugfs_add_netdev_params(struct wl_priv *wl) +{ + char buf[10+IFNAMSIZ]; + struct dentry *fd; + s32 err = 0; + + sprintf(buf, "netdev:%s", wl_to_ndev(wl)->name); + wl->debugfsdir = debugfs_create_dir(buf, wl_to_wiphy(wl)->debugfsdir); + + fd = debugfs_create_u16("beacon_int", S_IRUGO, wl->debugfsdir, + (u16 *)&wl->profile->beacon_interval); + if (!fd) { + err = -ENOMEM; + goto err_out; + } + + fd = debugfs_create_u8("dtim_period", S_IRUGO, wl->debugfsdir, + (u8 *)&wl->profile->dtim_period); + if (!fd) { + err = -ENOMEM; + goto err_out; + } + +err_out: + return err; +} + +static void wl_debugfs_remove_netdev(struct wl_priv *wl) +{ + debugfs_remove_recursive(wl->debugfsdir); + wl->debugfsdir = NULL; +} diff --git a/trunk/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.h b/trunk/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.h index 72d12400ba72..f90ecaea09ac 100644 --- a/trunk/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.h +++ b/trunk/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.h @@ -341,6 +341,7 @@ struct wl_priv { bool scan_tried; /* indicates if first scan attempted */ u8 *ioctl_buf; /* ioctl buffer */ u8 *extra_buf; /* maily to grab assoc information */ + struct dentry *debugfsdir; u8 ci[0] __attribute__ ((__aligned__(NETDEV_ALIGN))); };