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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 03 Dec 2012 10:17:05 +0100
From:	Wolfgang Grandegger <wg@...ndegger.com>
To:	Roland Stigge <stigge@...com.de>
CC:	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
Subject: Re: [PATCH 0/6 v8] gpio: Add block GPIO

Hi Roland,

On 11/30/2012 07:03 PM, Roland Stigge wrote:
> 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>
> --
> 
> 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!

I re-tried v8 on my AT91-SAM9G45 board and it works fine if
CONFIG_GPIO_SYSFS is enable. Unfortunately, the access via misc device
fails if CONFIG_GPIO_SYSFS is not set. That's due to gpio_block_export()
returning -ENOSYS in gpio_block_register().

Anyway, I really like that new GPIO block interface making life for
applications fiddling with GPIOs much easier and faster. Just the poll
support is missing.

Thanks,

Wolfgang.
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ