diff options
Diffstat (limited to 'drivers/edac/edac_mc_sysfs.c')
| -rw-r--r-- | drivers/edac/edac_mc_sysfs.c | 19 | 
1 files changed, 6 insertions, 13 deletions
diff --git a/drivers/edac/edac_mc_sysfs.c b/drivers/edac/edac_mc_sysfs.c index de2df92f9c7..0ca1ca71157 100644 --- a/drivers/edac/edac_mc_sysfs.c +++ b/drivers/edac/edac_mc_sysfs.c @@ -472,8 +472,7 @@ static void edac_delete_csrow_objects(struct mem_ctl_info *mci)  			device_remove_file(&csrow->dev,  						dynamic_csrow_ce_count_attr[chan]);  		} -		put_device(&mci->csrows[i]->dev); -		device_del(&mci->csrows[i]->dev); +		device_unregister(&mci->csrows[i]->dev);  	}  }  #endif @@ -1055,11 +1054,9 @@ fail:  		struct dimm_info *dimm = mci->dimms[i];  		if (dimm->nr_pages == 0)  			continue; -		put_device(&dimm->dev); -		device_del(&dimm->dev); +		device_unregister(&dimm->dev);  	} -	put_device(&mci->dev); -	device_del(&mci->dev); +	device_unregister(&mci->dev);  	bus_unregister(&mci->bus);  	kfree(mci->bus.name);  	return err; @@ -1086,16 +1083,14 @@ void edac_remove_sysfs_mci_device(struct mem_ctl_info *mci)  		if (dimm->nr_pages == 0)  			continue;  		edac_dbg(0, "removing device %s\n", dev_name(&dimm->dev)); -		put_device(&dimm->dev); -		device_del(&dimm->dev); +		device_unregister(&dimm->dev);  	}  }  void edac_unregister_sysfs(struct mem_ctl_info *mci)  {  	edac_dbg(1, "Unregistering device %s\n", dev_name(&mci->dev)); -	put_device(&mci->dev); -	device_del(&mci->dev); +	device_unregister(&mci->dev);  	bus_unregister(&mci->bus);  	kfree(mci->bus.name);  } @@ -1159,8 +1154,6 @@ int __init edac_mc_sysfs_init(void)  void __exit edac_mc_sysfs_exit(void)  { -	put_device(mci_pdev); -	device_del(mci_pdev); +	device_unregister(mci_pdev);  	edac_put_sysfs_subsys(); -	kfree(mci_pdev);  }  |