edac: Get rid of the old kobj's from the edac mc code
Now that al users for the old kobj raw access are gone, we can get rid of the legacy kobj-based structures and data. Reviewed-by: Aristeu Rozanski <arozansk@redhat.com> Cc: Doug Thompson <norsk5@yahoo.com> Cc: Michal Marek <mmarek@suse.cz> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
5c4cdb5ae7
commit
d90c008963
|
@ -372,7 +372,6 @@ struct mem_ctl_info *edac_mc_alloc(unsigned mc_num,
|
|||
}
|
||||
|
||||
mci->op_state = OP_ALLOC;
|
||||
INIT_LIST_HEAD(&mci->grp_kobj_list);
|
||||
|
||||
/* at this point, the root kobj is valid, and in order to
|
||||
* 'free' the object, then the function:
|
||||
|
|
|
@ -1406,7 +1406,6 @@ static int i5000_probe1(struct pci_dev *pdev, int dev_idx)
|
|||
if (mci == NULL)
|
||||
return -ENOMEM;
|
||||
|
||||
kobject_get(&mci->edac_mci_kobj);
|
||||
debugf0("MC: %s: %s(): mci = %p\n", __FILE__, __func__, mci);
|
||||
|
||||
mci->pdev = &pdev->dev; /* record ptr to the generic device */
|
||||
|
@ -1479,7 +1478,6 @@ static int i5000_probe1(struct pci_dev *pdev, int dev_idx)
|
|||
i5000_put_devices(mci);
|
||||
|
||||
fail0:
|
||||
kobject_put(&mci->edac_mci_kobj);
|
||||
edac_mc_free(mci);
|
||||
return -ENODEV;
|
||||
}
|
||||
|
@ -1525,7 +1523,6 @@ static void __devexit i5000_remove_one(struct pci_dev *pdev)
|
|||
|
||||
/* retrieve references to resources, and free those resources */
|
||||
i5000_put_devices(mci);
|
||||
kobject_put(&mci->edac_mci_kobj);
|
||||
edac_mc_free(mci);
|
||||
}
|
||||
|
||||
|
|
|
@ -426,9 +426,6 @@ static int i82875p_probe1(struct pci_dev *pdev, int dev_idx)
|
|||
goto fail0;
|
||||
}
|
||||
|
||||
/* Keeps mci available after edac_mc_del_mc() till edac_mc_free() */
|
||||
kobject_get(&mci->edac_mci_kobj);
|
||||
|
||||
debugf3("%s(): init mci\n", __func__);
|
||||
mci->pdev = &pdev->dev;
|
||||
mci->mtype_cap = MEM_FLAG_DDR;
|
||||
|
@ -471,7 +468,6 @@ static int i82875p_probe1(struct pci_dev *pdev, int dev_idx)
|
|||
return 0;
|
||||
|
||||
fail1:
|
||||
kobject_put(&mci->edac_mci_kobj);
|
||||
edac_mc_free(mci);
|
||||
|
||||
fail0:
|
||||
|
|
|
@ -457,7 +457,6 @@ struct dimm_info {
|
|||
/* Memory location data */
|
||||
unsigned location[EDAC_MAX_LAYERS];
|
||||
|
||||
struct kobject kobj; /* sysfs kobject for this csrow */
|
||||
struct mem_ctl_info *mci; /* the parent */
|
||||
|
||||
u32 grain; /* granularity of reported error in bytes */
|
||||
|
@ -511,34 +510,11 @@ struct csrow_info {
|
|||
|
||||
struct mem_ctl_info *mci; /* the parent */
|
||||
|
||||
struct kobject kobj; /* sysfs kobject for this csrow */
|
||||
|
||||
/* channel information for this csrow */
|
||||
u32 nr_channels;
|
||||
struct rank_info *channels;
|
||||
};
|
||||
|
||||
struct mcidev_sysfs_group {
|
||||
const char *name; /* group name */
|
||||
const struct mcidev_sysfs_attribute *mcidev_attr; /* group attributes */
|
||||
};
|
||||
|
||||
/* mcidev_sysfs_attribute structure
|
||||
* used for driver sysfs attributes and in mem_ctl_info
|
||||
* sysfs top level entries
|
||||
*/
|
||||
struct mcidev_sysfs_attribute {
|
||||
/* It should use either attr or grp */
|
||||
struct attribute attr;
|
||||
const struct mcidev_sysfs_group *grp; /* Points to a group of attributes */
|
||||
|
||||
/* Ops for show/store values at the attribute - not used on group */
|
||||
ssize_t (*show)(struct mem_ctl_info *, char *);
|
||||
ssize_t (*store)(struct mem_ctl_info *, const char *, size_t);
|
||||
|
||||
void *priv;
|
||||
};
|
||||
|
||||
/*
|
||||
* struct errcount_attribute - used to store the several error counts
|
||||
*/
|
||||
|
@ -641,12 +617,6 @@ struct mem_ctl_info {
|
|||
|
||||
struct completion complete;
|
||||
|
||||
/* edac sysfs device control */
|
||||
struct kobject edac_mci_kobj;
|
||||
|
||||
/* list for all grp instances within a mc */
|
||||
struct list_head grp_kobj_list;
|
||||
|
||||
/* Additional top controller level attributes, but specified
|
||||
* by the low level driver.
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue
Block a user