Commit dc898f7e authored by Michal Swiatkowski's avatar Michal Swiatkowski Committed by Tony Nguyen
Browse files

ice: move out debugfs init from fwlog



The root debugfs directory should be available from driver side, not
from library. Move it out from fwlog code.

Make similar to __fwlog_init() __fwlog_deinit() and deinit debugfs
there. In case of ice only fwlog is using debugfs.

Reviewed-by: default avatarPrzemek Kitszel <przemyslaw.kitszel@intel.com>
Signed-off-by: default avatarMichal Swiatkowski <michal.swiatkowski@linux.intel.com>
Tested-by: Rinitha S <sx.rinitha@intel.com> (A Contingent worker at Intel)
Reviewed-by: default avatarSimon Horman <horms@kernel.org>
Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
parent bf59b532
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -909,6 +909,7 @@ static inline bool ice_is_adq_active(struct ice_pf *pf)
}

void ice_debugfs_fwlog_init(struct ice_pf *pf);
int ice_debugfs_pf_init(struct ice_pf *pf);
void ice_debugfs_pf_deinit(struct ice_pf *pf);
void ice_debugfs_init(void);
void ice_debugfs_exit(void);
+12 −2
Original line number Diff line number Diff line
@@ -1000,6 +1000,11 @@ static int __fwlog_init(struct ice_hw *hw)
		.send_cmd = __fwlog_send_cmd,
		.priv = hw,
	};
	int err;

	err = ice_debugfs_pf_init(pf);
	if (err)
		return err;

	return ice_fwlog_init(hw, &hw->fwlog, &api);
}
@@ -1179,6 +1184,12 @@ int ice_init_hw(struct ice_hw *hw)
	return status;
}

static void __fwlog_deinit(struct ice_hw *hw)
{
	ice_debugfs_pf_deinit(hw->back);
	ice_fwlog_deinit(hw, &hw->fwlog);
}

/**
 * ice_deinit_hw - unroll initialization operations done by ice_init_hw
 * @hw: pointer to the hardware structure
@@ -1197,8 +1208,7 @@ void ice_deinit_hw(struct ice_hw *hw)
	ice_free_seg(hw);
	ice_free_hw_tbls(hw);
	mutex_destroy(&hw->tnl_lock);

	ice_fwlog_deinit(hw, &hw->fwlog);
	__fwlog_deinit(hw);
	ice_destroy_all_ctrlq(hw);

	/* Clear VSI contexts if not already cleared */
+11 −5
Original line number Diff line number Diff line
@@ -584,7 +584,6 @@ static const struct file_operations ice_debugfs_data_fops = {
 */
void ice_debugfs_fwlog_init(struct ice_pf *pf)
{
	const char *name = pci_name(pf->pdev);
	struct dentry *fw_modules_dir;
	struct dentry **fw_modules;
	int i;
@@ -601,10 +600,6 @@ void ice_debugfs_fwlog_init(struct ice_pf *pf)
	if (!fw_modules)
		return;

	pf->ice_debugfs_pf = debugfs_create_dir(name, ice_debugfs_root);
	if (IS_ERR(pf->ice_debugfs_pf))
		goto err_create_module_files;

	pf->ice_debugfs_pf_fwlog = debugfs_create_dir("fwlog",
						      pf->ice_debugfs_pf);
	if (IS_ERR(pf->ice_debugfs_pf_fwlog))
@@ -645,6 +640,17 @@ void ice_debugfs_fwlog_init(struct ice_pf *pf)
	kfree(fw_modules);
}

int ice_debugfs_pf_init(struct ice_pf *pf)
{
	const char *name = pci_name(pf->pdev);

	pf->ice_debugfs_pf = debugfs_create_dir(name, ice_debugfs_root);
	if (IS_ERR(pf->ice_debugfs_pf))
		return PTR_ERR(pf->ice_debugfs_pf);

	return 0;
}

/**
 * ice_debugfs_pf_deinit - cleanup PF's debugfs
 * @pf: pointer to the PF struct
+0 −2
Original line number Diff line number Diff line
@@ -300,8 +300,6 @@ void ice_fwlog_deinit(struct ice_hw *hw, struct ice_fwlog *fwlog)
	if (hw->bus.func)
		return;

	ice_debugfs_pf_deinit(hw->back);

	/* make sure FW logging is disabled to not put the FW in a weird state
	 * for the next driver load
	 */