lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-Id: <1354830456-17590-1-git-send-email-stigge@antcom.de> Date: Thu, 6 Dec 2012 22:47:30 +0100 From: Roland Stigge <stigge@...com.de> To: gregkh@...uxfoundation.org, grant.likely@...retlab.ca, linus.walleij@...aro.org, linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org, w.sang@...gutronix.de, jbe@...gutronix.de, plagnioj@...osoft.com, highguy@...il.com, broonie@...nsource.wolfsonmicro.com, daniel-gl@....net, rmallon@...il.com, tru@...k-microwave.de, sr@...x.de, wg@...ndegger.com Cc: Roland Stigge <stigge@...com.de> Subject: [PATCH 0/6 v10] gpio: Add block GPIO This set of patches adds: * Block GPIO API to gpiolib * Sysfs support for GPIO API, to provide userland access * Device interface for userland access (alternative to sysfs) * Devicetree support to instantiate GPIO blocks via DT * Example implementations in several gpio drivers since they need special accessor functions for block wise GPIO access * Fix for race condition in gpiolib on device creation Signed-off-by: Roland Stigge <stigge@...com.de> Tested by: Wolfgang Grandegger <wg@...ndegger.com> -- Changed since v9: * Changed IRQ flags for device interface's poll() from IRQF_TRIGGER_FALLING to IRQF_SHARED * Use block name on gpio_request * Added spinlock for ISR manipulated data (dev interface / poll()) Changed since v8: * Added poll() function to dev interface for IRQ handling * Fixed gpio_block_register() in case of missing CONFIG_GPIO_SYSFS * Fixed mask handling in sysfs interface * Fixed get_user/put_user pointer (cast) Changes since v7: * Fixed error in API documentation (name arg missing in prototype) * Fixed compile error if sysfs is missing: Moved gpio_block_is_output() out of sysfs-ifdef * Added error handling to gpio_block_register() * Added mask attribute to sysfs (although dev interface exists now) Changes since v6: * Changed realloc to list handling * Added mask to kernel API * Added device interface as userspace API * Changed sizeof() to BITS_PER_LONG * Fixed multiline comment style * Documented direction setting by the user * Documented order of handled chips in case of multiple chips in one block Changes since v5: * Documented sysfs: elaborated on "exported" and "values" attributes * Documented sysfs: gpiochip is a separate class now * Aggregated driver support patches for block gpio into one single patch * Added gpio block driver support for twl6040 and pch Changes since v4: * Documented word width * Bugfix: export/unexport on register/unregister * Using default dev_attrs for gpio_block_class * Fix gpiolib: race condition on device creation * Added driver support for ucb14500, vt8500, xilinx Changes since v3: * Added driver support for pca953x, em, pl061, max732x, pcf857x * Coding style improvements * Fixed krealloc memory leak in error case * sysfs: values in hex * Register blocks in a list * Narrowing lock scope * Use S_IWUSR and S_IRUGO instead of direct octal values * Use for_each_set_bit() * Change from unsigned to unsigned long for masks and values Changes since v2: * Added sysfs support * Added devicetree support * Added support for lpc32xx, generic * Added functions for GPIO block registration * Added more error checking * Bit remapping bugfix Changes since v1: * API change to 32/64 bit word, bit masks Thanks to Ryan Mallon, Linus Walleij, Stijn Devriendt, Jean-Christophe Plagniol-Villard, Mark Brown, Greg Kroah-Hartman, Grant Likely, Stefan Roese and Wolfgang Grandegger for reviewing! Roland Stigge (6): gpio: Add a block GPIO API to gpiolib gpio: Add sysfs support to block GPIO API gpio: Add userland device interface to block GPIO gpiolib: Fix default attributes for class gpio: Add device tree support to block GPIO API gpio: Add block gpio to several gpio drivers Documentation/ABI/testing/dev-gpioblock | 34 Documentation/ABI/testing/sysfs-gpio | 31 Documentation/devicetree/bindings/gpio/gpio-block.txt | 36 Documentation/gpio.txt | 58 + drivers/gpio/Makefile | 1 drivers/gpio/gpio-em.c | 23 drivers/gpio/gpio-generic.c | 56 + drivers/gpio/gpio-lpc32xx.c | 82 + drivers/gpio/gpio-max730x.c | 61 + drivers/gpio/gpio-max732x.c | 59 + drivers/gpio/gpio-pca953x.c | 64 + drivers/gpio/gpio-pcf857x.c | 24 drivers/gpio/gpio-pch.c | 27 drivers/gpio/gpio-pl061.c | 17 drivers/gpio/gpio-twl6040.c | 32 drivers/gpio/gpio-ucb1400.c | 23 drivers/gpio/gpio-vt8500.c | 24 drivers/gpio/gpio-xilinx.c | 44 + drivers/gpio/gpioblock-of.c | 84 + drivers/gpio/gpiolib.c | 780 ++++++++++++++++-- include/asm-generic/gpio.h | 28 include/linux/gpio.h | 125 ++ 22 files changed, 1666 insertions(+), 47 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists