0

我有一个驱动程序支持多个不相同但相似的设备。我这样做是为了在为设备编写应用程序时可以使用相同的库 API。

有没有办法指定在应用程序中使用哪个特定设备?

是否可以在 open 调用之前进行 ioctl 调用,以便设置下次调用 open 时使用哪个特定设备?

4

1 回答 1

1

处理此问题的常用方法是/dev/为每个设备设置一个单独的设备节点,并让您的驱动程序提供一个ioctl()返回相应设备的标识信息(例如供应商、型号和序列号)的设备节点。这将允许用户空间应用程序区分不同的设备。根据您的确切需求,sysfs( /sys) 中的一些随附条目也可能有意义。

您可能想查看一些常见的现有 API 以获得想法。例如,V4L2 API 包含VIDIOC_QUERYCAP ioctl(),它为应用程序提供了足够的信息来区分离散设备。

于 2012-08-25T22:19:56.810 回答