X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/blobdiff_plain/160378c619789ec4d574c4378c4f39f2ceb3184b..c299d6c83d49038ef0da0501bbe2c2866596fbf9:/src/adafruit_blinka/microcontroller/generic_linux/lgpio_pin.py diff --git a/src/adafruit_blinka/microcontroller/generic_linux/lgpio_pin.py b/src/adafruit_blinka/microcontroller/generic_linux/lgpio_pin.py index 25a8268..3097b02 100644 --- a/src/adafruit_blinka/microcontroller/generic_linux/lgpio_pin.py +++ b/src/adafruit_blinka/microcontroller/generic_linux/lgpio_pin.py @@ -15,14 +15,15 @@ def _get_gpiochip(): used for userspace GPIO access. """ for dev in Path("/sys/bus/gpio/devices").glob("gpiochip*"): - drivers = set((dev / "of_node/compatible").read_text().split("\0")) - # check if driver names are intended for userspace control - if drivers & { - "raspberrypi,rp1-gpio", - "raspberrypi,bcm2835-gpio", - "raspberrypi,bcm2711-gpio", - }: - return lgpio.gpiochip_open(int(dev.name[-1])) + if Path(dev / "of_node/compatible").is_file(): + drivers = set((dev / "of_node/compatible").read_text().split("\0")) + # check if driver names are intended for userspace control + if drivers & { + "raspberrypi,rp1-gpio", + "raspberrypi,bcm2835-gpio", + "raspberrypi,bcm2711-gpio", + }: + return lgpio.gpiochip_open(int(dev.name[-1])) # return chip0 as a fallback return lgpio.gpiochip_open(0)