Re: A problem with gpios on my sunxi board.

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

 



On Fri, Jan 28, 2022 at 10:12:13PM +0800, Gasai Maple wrote:
> I posted a question on stackoverflow, it's basically about me having
> problems operating gpio with libgpiod, and a user advised me to drop a
> message, the link is here
> https://stackoverflow.com/questions/70863283/libgpiod-tests-fails-on-pcduino3-nano

It would be helpful to restate your question rather than providing the
link.  But anyway...

My best guess is that your kernel is built with only v2 of the GPIO CDEV ABI.
libgpiod support for v2 is a WIP, and 1.6.3 only supports ABI v1.
The CHIP_INFO ioctl is common to both, so will still work.
But all the line request ioctls changed so they wont.
So libgpiod is probably making ioctl calls that your kernel doesn't
support.

For compatibility with libgpiod v1.6.3, ensure your kernel is built with
these options:

CONFIG_GPIO_CDEV=y
CONFIG_GPIO_CDEV_V1=y

And the libgpiod tests require that gpio-mockup is available as a loadable
module, so

CONFIG_GPIO_MOCKUP=m

If building a new kernel isn't an option for you then you might want to
try the development branch of libgpiod[1].
Or you could try my Go[2] or Rust[3] libraries that both support both
versions of the ABI and provide tools equivalent to libgpiod.

If you still have issues, try using strace to display the ioctl calls and
we can debug that.

Cheers,
Kent.

[1] https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/log/?h=next/libgpiod-2.0
[2] https://github.com/warthog618/gpiod
[3] https://github.com/warthog618/gpiod-rs



[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