On Wed, Jun 14, 2023 at 03:54:42PM +0200, Ahmad Fatoum wrote: > The gpiod_ (GPIO descriptor) API used with Linux differs from barebox' > normal GPIO API: > > - gpiod handles are opaque pointers and not an integer, which users > have an expectation of stability for > > - gpiod API uses logic levels by default with separate raw API for > physical level instead of physical level by default and separate > API taking active level into account. > > The barebox gpiod_ API mimics the latter point, but still uses integers > requiring ugly and arguably error prone conversions when porting kernel > code. > > This series fixes that by adding proper struct gpio_desc API like in > Linux and then builds upon that to port the kernel gpio-mux driver. > > Ahmad Fatoum (10): > driver: include dev_print and family from <driver.h> > include: linux/printk: define new dev_errp_probe > gpio: have gpiod_ functions return and accept pointers > gpio: gpiolib: rename struct gpio_info to gpio_desc > gpiolib: export proper gpio descriptor API > bitmap: implement bitmap_{to,from}_arr{32,64} > commands: help: ignore options after first regular argument > gpiolib: factor out finding gpio property > gpiolib: add support for requesting and setting gpiod arrays > drivers: port Linux mux framework and gpio-mux driver Applied 1-6 and 8-9, thanks Sascha -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |