IB/hfi1: Remove kobj from hfi1_devdata
The field kobj was added to hfi1_devdata structure to manage the life time of the hfi1_devdata structure for PSM accesses: commite11ffbd575
("IB/hfi1: Do not free hfi1 cdev parent structure early") Later another mechanism user_refcount/user_comp was introduced to provide the same functionality: commitacd7c8fe14
("IB/hfi1: Fix an Oops on pci device force remove") This patch will remove this kobj field, as it is no longer needed. Link: https://lore.kernel.org/r/20200316210500.7753.4145.stgit@awfm-01.aw.intel.com Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com> Signed-off-by: Kaike Wan <kaike.wan@intel.com> Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:

committed by
Jason Gunthorpe

parent
d61ba1b9ae
commit
5ab17a24cb
@@ -1198,13 +1198,13 @@ static void finalize_asic_data(struct hfi1_devdata *dd,
|
||||
}
|
||||
|
||||
/**
|
||||
* hfi1_clean_devdata - cleans up per-unit data structure
|
||||
* hfi1_free_devdata - cleans up and frees per-unit data structure
|
||||
* @dd: pointer to a valid devdata structure
|
||||
*
|
||||
* It cleans up all data structures set up by
|
||||
* It cleans up and frees all data structures set up by
|
||||
* by hfi1_alloc_devdata().
|
||||
*/
|
||||
static void hfi1_clean_devdata(struct hfi1_devdata *dd)
|
||||
void hfi1_free_devdata(struct hfi1_devdata *dd)
|
||||
{
|
||||
struct hfi1_asic_data *ad;
|
||||
unsigned long flags;
|
||||
@@ -1231,23 +1231,6 @@ static void hfi1_clean_devdata(struct hfi1_devdata *dd)
|
||||
rvt_dealloc_device(&dd->verbs_dev.rdi);
|
||||
}
|
||||
|
||||
static void __hfi1_free_devdata(struct kobject *kobj)
|
||||
{
|
||||
struct hfi1_devdata *dd =
|
||||
container_of(kobj, struct hfi1_devdata, kobj);
|
||||
|
||||
hfi1_clean_devdata(dd);
|
||||
}
|
||||
|
||||
static struct kobj_type hfi1_devdata_type = {
|
||||
.release = __hfi1_free_devdata,
|
||||
};
|
||||
|
||||
void hfi1_free_devdata(struct hfi1_devdata *dd)
|
||||
{
|
||||
kobject_put(&dd->kobj);
|
||||
}
|
||||
|
||||
/**
|
||||
* hfi1_alloc_devdata - Allocate our primary per-unit data structure.
|
||||
* @pdev: Valid PCI device
|
||||
@@ -1333,11 +1316,10 @@ static struct hfi1_devdata *hfi1_alloc_devdata(struct pci_dev *pdev,
|
||||
goto bail;
|
||||
}
|
||||
|
||||
kobject_init(&dd->kobj, &hfi1_devdata_type);
|
||||
return dd;
|
||||
|
||||
bail:
|
||||
hfi1_clean_devdata(dd);
|
||||
hfi1_free_devdata(dd);
|
||||
return ERR_PTR(ret);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user