Hi, thanks for the link,
After some investigations and debugging, I got everything working again.
So I thought I would post my findings here if that can help someone else.
Basically, the RPi.GPIO python library is accessing the GPIO via two different methods for different actions:
- Direct access and write to registers for setting pull-up and pull down, input and output
- Using the /sys/class/gpio for all edge event detection
Switching between legacy and mainline kernel change the /sys/class/gpio numbering template:
- Legacy: the gpio-sunxi kernel module is managing the creation of /sys/class/gpio/gpioXX (where XX is the board pin number)
- Mainline: the kernel (no more specific module) is managing the creation of /sys/class/gpio/gpioXXX (where XXX is the physical port number see http://linux-sunxi.org/GPIO)
So to have the LeMaker RPi.GPIO library working again, some modifications are needed to the /source/event_gpio.c.
I have made the changes on my github repository:
https://github.com/hcoohb/RPi.GPIO_BP/tree/bananapi
(valid for bananapi branch only, I haven’t pushed the changes for bananapro branch)
Hope that helps anyone.