Skip to content

Commit

Permalink
iwmc3200wifi: cleanup unneeded debugfs error handling
Browse files Browse the repository at this point in the history
"iwl: cleanup: remove unneeded error handling" missed the one in
if_sdio_debugfs_init().

I don't think we even need to check -ENODEV ourselves because if
DEBUG_FS is not compiled in, all the debugfs utility functions will
become no-op.

Reported-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Acked-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
John W. Linville committed May 3, 2010
1 parent f5c044e commit 1f55c12
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 55 deletions.
2 changes: 1 addition & 1 deletion drivers/net/wireless/iwmc3200wifi/bus.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ struct iwm_if_ops {
int (*disable)(struct iwm_priv *iwm);
int (*send_chunk)(struct iwm_priv *iwm, u8* buf, int count);

int (*debugfs_init)(struct iwm_priv *iwm, struct dentry *parent_dir);
void (*debugfs_init)(struct iwm_priv *iwm, struct dentry *parent_dir);
void (*debugfs_exit)(struct iwm_priv *iwm);

const char *umac_name;
Expand Down
4 changes: 2 additions & 2 deletions drivers/net/wireless/iwmc3200wifi/debug.h
Original file line number Diff line number Diff line change
Expand Up @@ -113,10 +113,10 @@ struct iwm_debugfs {
};

#ifdef CONFIG_IWM_DEBUG
int iwm_debugfs_init(struct iwm_priv *iwm);
void iwm_debugfs_init(struct iwm_priv *iwm);
void iwm_debugfs_exit(struct iwm_priv *iwm);
#else
static inline int iwm_debugfs_init(struct iwm_priv *iwm)
static inline void iwm_debugfs_init(struct iwm_priv *iwm)
{
return 0;
}
Expand Down
47 changes: 10 additions & 37 deletions drivers/net/wireless/iwmc3200wifi/debugfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,11 @@ static struct {

#define add_dbg_module(dbg, name, id, initlevel) \
do { \
struct dentry *d; \
dbg.dbg_module[id] = (initlevel); \
d = debugfs_create_x8(name, 0600, dbg.dbgdir, \
&(dbg.dbg_module[id])); \
if (!IS_ERR(d)) \
dbg.dbg_module_dentries[id] = d; \
dbg.dbg_module_dentries[id] = \
debugfs_create_x8(name, 0600, \
dbg.dbgdir, \
&(dbg.dbg_module[id])); \
} while (0)

static int iwm_debugfs_u32_read(void *data, u64 *val)
Expand Down Expand Up @@ -422,37 +421,19 @@ static const struct file_operations iwm_debugfs_fw_err_fops = {
.read = iwm_debugfs_fw_err_read,
};

int iwm_debugfs_init(struct iwm_priv *iwm)
void iwm_debugfs_init(struct iwm_priv *iwm)
{
int i, result;
char devdir[16];
int i;

iwm->dbg.rootdir = debugfs_create_dir(KBUILD_MODNAME, NULL);
result = PTR_ERR(iwm->dbg.rootdir);
if (!result || IS_ERR(iwm->dbg.rootdir)) {
if (result == -ENODEV) {
IWM_ERR(iwm, "DebugFS (CONFIG_DEBUG_FS) not "
"enabled in kernel config\n");
result = 0; /* No debugfs support */
}
IWM_ERR(iwm, "Couldn't create rootdir: %d\n", result);
goto error;
}

snprintf(devdir, sizeof(devdir), "%s", wiphy_name(iwm_to_wiphy(iwm)));

iwm->dbg.devdir = debugfs_create_dir(devdir, iwm->dbg.rootdir);
iwm->dbg.devdir = debugfs_create_dir(wiphy_name(iwm_to_wiphy(iwm)),
iwm->dbg.rootdir);
iwm->dbg.dbgdir = debugfs_create_dir("debug", iwm->dbg.devdir);
iwm->dbg.rxdir = debugfs_create_dir("rx", iwm->dbg.devdir);
iwm->dbg.txdir = debugfs_create_dir("tx", iwm->dbg.devdir);
iwm->dbg.busdir = debugfs_create_dir("bus", iwm->dbg.devdir);
if (iwm->bus_ops->debugfs_init) {
result = iwm->bus_ops->debugfs_init(iwm, iwm->dbg.busdir);
if (result < 0) {
IWM_ERR(iwm, "Couldn't create bus entry: %d\n", result);
goto error;
}
}
if (iwm->bus_ops->debugfs_init)
iwm->bus_ops->debugfs_init(iwm, iwm->dbg.busdir);

iwm->dbg.dbg_level = IWM_DL_NONE;
iwm->dbg.dbg_level_dentry =
Expand All @@ -471,23 +452,15 @@ int iwm_debugfs_init(struct iwm_priv *iwm)
iwm->dbg.txq_dentry = debugfs_create_file("queues", 0200,
iwm->dbg.txdir, iwm,
&iwm_debugfs_txq_fops);

iwm->dbg.tx_credit_dentry = debugfs_create_file("credits", 0200,
iwm->dbg.txdir, iwm,
&iwm_debugfs_tx_credit_fops);

iwm->dbg.rx_ticket_dentry = debugfs_create_file("tickets", 0200,
iwm->dbg.rxdir, iwm,
&iwm_debugfs_rx_ticket_fops);

iwm->dbg.fw_err_dentry = debugfs_create_file("last_fw_err", 0200,
iwm->dbg.dbgdir, iwm,
&iwm_debugfs_fw_err_fops);

return 0;

error:
return result;
}

void iwm_debugfs_exit(struct iwm_priv *iwm)
Expand Down
17 changes: 2 additions & 15 deletions drivers/net/wireless/iwmc3200wifi/sdio.c
Original file line number Diff line number Diff line change
Expand Up @@ -365,21 +365,13 @@ static const struct file_operations iwm_debugfs_sdio_fops = {
.read = iwm_debugfs_sdio_read,
};

static int if_sdio_debugfs_init(struct iwm_priv *iwm, struct dentry *parent_dir)
static void if_sdio_debugfs_init(struct iwm_priv *iwm, struct dentry *parent_dir)
{
int result;
struct iwm_sdio_priv *hw = iwm_to_if_sdio(iwm);

hw->cccr_dentry = debugfs_create_file("cccr", 0200,
parent_dir, iwm,
&iwm_debugfs_sdio_fops);
result = PTR_ERR(hw->cccr_dentry);
if (IS_ERR(hw->cccr_dentry) && (result != -ENODEV)) {
IWM_ERR(iwm, "Couldn't create CCCR entry: %d\n", result);
return result;
}

return 0;
}

static void if_sdio_debugfs_exit(struct iwm_priv *iwm)
Expand Down Expand Up @@ -439,11 +431,7 @@ static int iwm_sdio_probe(struct sdio_func *func,
hw = iwm_private(iwm);
hw->iwm = iwm;

ret = iwm_debugfs_init(iwm);
if (ret < 0) {
IWM_ERR(iwm, "Debugfs registration failed\n");
goto if_free;
}
iwm_debugfs_init(iwm);

sdio_set_drvdata(func, hw);

Expand Down Expand Up @@ -472,7 +460,6 @@ static int iwm_sdio_probe(struct sdio_func *func,
destroy_workqueue(hw->isr_wq);
debugfs_exit:
iwm_debugfs_exit(iwm);
if_free:
iwm_if_free(iwm);
return ret;
}
Expand Down

0 comments on commit 1f55c12

Please sign in to comment.