[RFC] libgpiod public API reviews needed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I would like to release libgpiod v1.0 soon (preferably before FOSDEM
2018). The first version (v0.x series) was written in a matter of two
weeks and the API was not well designed. Since v0.3 release I've been
working on redesigning the public API to make it simplier and more
useful.

I want to commit to a stable interface for the library starting from
v1.0 but it would be great if I could get some reviews first - it's
basically only about reviewing a single public header: include/gpiod.h
in which all public symbols are documented. Any implementation details
can always be changed later.

The most prominent changes since 0.3 include:
- removal of custom error handling in favor of errnos
- merge of two separate interfaces for event requests and regular line requests
- redesign of the simple API
- addition of a bunch of helpers for line requests
- redesign of the iterator API
- making the use of prefixes more consistent
- renaming of symbols all over the place
- and various minor tweaks

As far as usefulness goes - the user space tools that are included all
use this API and it looks pretty clean.

The project is hosted at kernel.org:

    https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/

and the code that needs review is on the master branch.

Thanks in advance to anyone who'll find the time to take a look.

Best regards,
Bartosz Golaszewski
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux