- 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]))