相关疑难解决方法(0)

dev_set_drvdata和dev_get_drvdata的可能用途是什么

我只想知道当我们必须使用这些set和get驱动程序API时可能的用例.所有我都知道数据已保存,稍后我们可以使用数据做某事.我的问题是我们真的需要这样做吗?

 /*
  * These exports can't be _GPL due to .h files using this within them, and it
  * might break something that was previously working...
 */
 void *dev_get_drvdata(const struct device *dev)
 {
       if (dev && dev->p)
              return dev->p->driver_data;
      return NULL;
 }
 EXPORT_SYMBOL(dev_get_drvdata);

 void dev_set_drvdata(struct device *dev, void *data)
 {
      int error;

    if (!dev)
             return;
     if (!dev->p) {
             error = device_private_init(dev);
             if (error)
                     return;
     }
     dev->p->driver_data = data;
 }
  EXPORT_SYMBOL(dev_set_drvdata);
Run Code Online (Sandbox Code Playgroud)

linux-device-driver

7
推荐指数
1
解决办法
6535
查看次数

标签 统计

linux-device-driver ×1