get_device和put_device ,以及of_node_get of_node_put



get_device和put_device是一对相反的操作,get_device是对设备的引用数量加1,而put_device是对对象引用数减1。这个名字和popular的理解不太一样,一般getxxx应该是返回一个设备对象。




struct device *get_device(struct device *dev)
{
 return dev ? kobj_to_dev(kobject_get(&dev->kobj)) : NULL;
}


/**
 * put_device - decrement reference count.
 * @dev: device in question.
 */
void put_device(struct device *dev)
{
 /* might_sleep(); */
 if (dev)
  kobject_put(&dev->kobj);
}

与此同时of_node_get <->of_node_put实现了同样的上述功能。



你可能感兴趣的:(get_device和put_device ,以及of_node_get of_node_put)