Re: [libgpiod][PATCH v3] core: implement v2.0 API
From: Kent Gibson <warthog618@gmail.com>
Date: 2021-06-07 05:00:56
On Fri, Jun 04, 2021 at 11:41:00AM +0200, Bartosz Golaszewski wrote:
This is the bulk of changes for the core C library. The documentation has been extended to document the lifetime management of objects explictly. The concept of attributes has been removed - instead the translation from configuration options to kernel request happens at the time of the line request call and can only fail at this stage - the config mutators no longer return any value. If the caller has passed a config that is too complicated, the request function will set errno to E2BIG which stands for: "Argument list too long". If the caller has passed an invalid value to any of the line config mutators, the error will be returned at the time of making the request. The direction and edge options have been split from the former request_type. The objects are no longer reference counted and no longer can be the responsibility for their lifetime shared. There are many other minor tweaks everywhere. Signed-off-by: Bartosz Golaszewski <redacted> --- Hi Kent, this is another iteration of the new API. This time there are no big changes, mostly just documentation and naming-convention tweaks. I will push it out to a semi-official next/libgpiod-v2.0 branch and any follow-up changes will be squashed into the v2.0 API there.
I haven't looked through all the code, but gpiod.h looks good to me, and I'm sure any issues in the implementation will come out in the wash, so go for it. Cheers, Kent.