It appears that libgpiod is the best way to access GPIO from C/C++/Python these days. I have a simple C++ program working, but I can't figure out how to free up more GPIOs for use. I disabled video, audio, wireless and ADC in uEnv.txt, but gpioinfo shows about the same number of lines "used" as before. (In fact, a couple of GPIOs that I had been using, went from unused to used when I disabled those things!)
A lot of the lines are marked used by "P[89]_[0-9]+", but I don't see a corresponding process that looks like it would be using them.
Is there a way to figure out which process (if any) is using a particular line?
Is there a FAQ or compendium of current best practices? What about PRU -- I found some stuff about libpruio that looked promising, but it seems to be out of date? Is libgpiod preferable, if I don't need the extra speed PRU appears to provide?
Thanks!