diff options
Diffstat (limited to 'drivers/base/node.c')
| -rw-r--r-- | drivers/base/node.c | 26 | 
1 files changed, 12 insertions, 14 deletions
| diff --git a/drivers/base/node.c b/drivers/base/node.c index f449dbb2c746..2c36f61d30bc 100644 --- a/drivers/base/node.c +++ b/drivers/base/node.c @@ -268,21 +268,20 @@ static void node_init_cache_dev(struct node *node)  	if (!dev)  		return; +	device_initialize(dev);  	dev->parent = &node->dev;  	dev->release = node_cache_release;  	if (dev_set_name(dev, "memory_side_cache")) -		goto free_dev; +		goto put_device; -	if (device_register(dev)) -		goto free_name; +	if (device_add(dev)) +		goto put_device;  	pm_runtime_no_callbacks(dev);  	node->cache_dev = dev;  	return; -free_name: -	kfree_const(dev->kobj.name); -free_dev: -	kfree(dev); +put_device: +	put_device(dev);  }  /** @@ -319,25 +318,24 @@ void node_add_cache(unsigned int nid, struct node_cache_attrs *cache_attrs)  		return;  	dev = &info->dev; +	device_initialize(dev);  	dev->parent = node->cache_dev;  	dev->release = node_cacheinfo_release;  	dev->groups = cache_groups;  	if (dev_set_name(dev, "index%d", cache_attrs->level)) -		goto free_cache; +		goto put_device;  	info->cache_attrs = *cache_attrs; -	if (device_register(dev)) { +	if (device_add(dev)) {  		dev_warn(&node->dev, "failed to add cache level:%d\n",  			 cache_attrs->level); -		goto free_name; +		goto put_device;  	}  	pm_runtime_no_callbacks(dev);  	list_add_tail(&info->node, &node->cache_attrs);  	return; -free_name: -	kfree_const(dev->kobj.name); -free_cache: -	kfree(info); +put_device: +	put_device(dev);  }  static void node_remove_caches(struct node *node) | 
