Module Name: src Committed By: bouyer Date: Wed May 11 18:33:40 UTC 2016
Modified Files: src/sys/arch/arm/allwinner: awin_gpio.c awin_io.c awin_reg.h src/sys/dev/gpio: gpio.c gpiovar.h Log Message: As proposed in http://mail-index.netbsd.org/tech-kern/2016/04/28/msg020504.html add gpio interrupt support to the gpio framework, and an implementation for the allwinner gpio backend (tested on A20 only). gpio(4) has new public functions: - gpio_intr() called by backends when an interrupt condition for a gpio pin is present - gpio_find_device() and gpio_get_name(), support functions for gpio(4) users, wich respectively returns a void * cookie for a gpio device given its name, and returns the name given the cookie. - gpio_pin_ctl_intr(), which is used to configure interrupts on a gpio pin and registers a callback. - gpio_pin_irqen(), which is used to mask/unmask interrupts on a pin. Nothing in the NetBSD tree uses this yet, but I have a i2c driver (at https://github.com/mbouyer/marine_chartplotter/tree/master/software/NetBSD/driver) which uses it. To generate a diff of this commit: cvs rdiff -u -r1.20 -r1.21 src/sys/arch/arm/allwinner/awin_gpio.c cvs rdiff -u -r1.45 -r1.46 src/sys/arch/arm/allwinner/awin_io.c cvs rdiff -u -r1.88 -r1.89 src/sys/arch/arm/allwinner/awin_reg.h cvs rdiff -u -r1.57 -r1.58 src/sys/dev/gpio/gpio.c cvs rdiff -u -r1.15 -r1.16 src/sys/dev/gpio/gpiovar.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.