mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
gpiolib: allow GPIOs to be named
Allow GPIOs in GPIOLIB chips to be named. This name is then used when the GPIO is exported to sysfs, although it could be used elsewhere if deemed useful. Signed-off-by: Daniel Silverstone <[email protected]> Cc: David Brownell <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
f30281f4f7
commit
926b663ce8
2 changed files with 11 additions and 1 deletions
|
|
@ -438,6 +438,7 @@ int gpio_export(unsigned gpio, bool direction_may_change)
|
|||
unsigned long flags;
|
||||
struct gpio_desc *desc;
|
||||
int status = -EINVAL;
|
||||
char *ioname = NULL;
|
||||
|
||||
/* can't export until sysfs is available ... */
|
||||
if (!gpio_class.p) {
|
||||
|
|
@ -461,11 +462,14 @@ int gpio_export(unsigned gpio, bool direction_may_change)
|
|||
}
|
||||
spin_unlock_irqrestore(&gpio_lock, flags);
|
||||
|
||||
if (desc->chip->names && desc->chip->names[gpio - desc->chip->base])
|
||||
ioname = desc->chip->names[gpio - desc->chip->base];
|
||||
|
||||
if (status == 0) {
|
||||
struct device *dev;
|
||||
|
||||
dev = device_create(&gpio_class, desc->chip->dev, MKDEV(0, 0),
|
||||
desc, "gpio%d", gpio);
|
||||
desc, ioname ? ioname : "gpio%d", gpio);
|
||||
if (dev) {
|
||||
if (direction_may_change)
|
||||
status = sysfs_create_group(&dev->kobj,
|
||||
|
|
@ -513,6 +517,7 @@ void gpio_unexport(unsigned gpio)
|
|||
mutex_lock(&sysfs_lock);
|
||||
|
||||
desc = &gpio_desc[gpio];
|
||||
|
||||
if (test_bit(FLAG_EXPORT, &desc->flags)) {
|
||||
struct device *dev = NULL;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue