devm_gpiod_get_optional()函数与devm_gpiod_get()区别
时间: 2024-05-21 15:18:31 浏览: 347
MFC.Windows.rar_MFC Devm_foundation
`devm_gpiod_get_optional()`和`devm_gpiod_get()`函数都是用来获取GPIO设备的句柄,它们的区别在于:
1. `devm_gpiod_get_optional()`函数会尝试获取GPIO句柄,如果失败会返回NULL,但不会导致probe函数执行失败,而是继续执行。这个函数适用于GPIO设备可选的情况。
2. `devm_gpiod_get()`函数会尝试获取GPIO句柄,如果失败会返回错误码,这个函数适用于GPIO设备必须存在的情况。
因此,如果GPIO设备是可选的,我们可以使用`devm_gpiod_get_optional()`函数来获取GPIO句柄,如果GPIO设备不存在,则可以忽略它。如果GPIO设备是必须存在的,则应该使用`devm_gpiod_get()`函数来获取GPIO句柄,如果GPIO设备不存在,则应该返回错误码并退出probe函数。
阅读全文