Hi Ahmad, On 23-06-14, 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. thanks a lot for improving the code to be more aligned with Linux :) Patches 1-9 lgtm, apart the minor comments in patch-5. So feel free to add my: Reviewed-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx> > > 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 > > commands/help.c | 19 +- > drivers/Kconfig | 1 + > drivers/Makefile | 1 + > drivers/gpio/gpio-pca953x.c | 9 +- > drivers/gpio/gpiolib.c | 528 +++++++++++++++++------ > drivers/mci/mci_spi.c | 13 +- > drivers/mtd/nand/atmel/nand-controller.c | 40 +- > drivers/mtd/nand/nand_base.c | 4 +- > drivers/mux/Kconfig | 29 ++ > drivers/mux/Makefile | 10 + > drivers/mux/core.c | 472 ++++++++++++++++++++ > drivers/mux/gpio.c | 103 +++++ > drivers/net/designware_eqos.c | 26 +- > drivers/net/ksz8873.c | 13 +- > drivers/net/ksz9477.c | 13 +- > drivers/net/realtek-dsa/realtek-mdio.c | 10 +- > drivers/net/realtek-dsa/realtek-smi.c | 18 +- > drivers/net/realtek-dsa/realtek.h | 6 +- > drivers/net/sja1105.c | 25 +- > drivers/nvmem/starfive-otp.c | 12 +- > drivers/pci/pcie-dw-rockchip.c | 14 +- > drivers/power/reset/gpio-poweroff.c | 14 +- > drivers/power/reset/gpio-restart.c | 23 +- > drivers/regulator/fixed.c | 27 +- > drivers/sound/gpio-beeper.c | 14 +- > drivers/usb/misc/onboard_usb_hub.c | 11 +- > drivers/video/mipi_dbi.c | 8 +- > drivers/video/panel-ilitek-ili9341.c | 17 +- > drivers/video/panel-mipi-dbi.c | 17 +- > drivers/watchdog/gpio_wdt.c | 22 +- > include/driver.h | 1 + > include/gpiod.h | 79 +--- > include/linux/bitmap.h | 101 +++++ > include/linux/gpio/consumer.h | 137 ++++++ > include/linux/mtd/rawnand.h | 4 +- > include/linux/printk.h | 3 + > include/video/mipi_dbi.h | 7 +- > lib/bitmap.c | 103 +++++ > 38 files changed, 1559 insertions(+), 395 deletions(-) > create mode 100644 drivers/mux/Kconfig > create mode 100644 drivers/mux/Makefile > create mode 100644 drivers/mux/core.c > create mode 100644 drivers/mux/gpio.c > create mode 100644 include/linux/gpio/consumer.h > > -- > 2.39.2 > > >