Skip to content

Commit

Permalink
Blackfin arch: a few things still use bfin_read_PORT_FER()
Browse files Browse the repository at this point in the history
 - Update gpio_request to allow multiple request with the same signature (label)
 - Use generic GPIO API where applicable
 - Update generic board support form stamp board

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
  • Loading branch information
Michael Hennerich authored and Bryan Wu committed Oct 10, 2007
1 parent 55249e9 commit 2acde90
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions arch/blackfin/kernel/bfin_gpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -930,6 +930,8 @@ void peripheral_free(unsigned short per)

reserved_peri_map[gpio_bank(ident)] &= ~gpio_bit(ident);

set_label(ident, "free");

local_irq_restore(flags);
}
EXPORT_SYMBOL(peripheral_free);
Expand Down Expand Up @@ -969,6 +971,17 @@ int gpio_request(unsigned short gpio, const char *label)

local_irq_save(flags);

/*
* Allow that the identical GPIO can
* be requested from the same driver twice
* Do nothing and return -
*/

if (cmp_label(gpio, label) == 0) {
local_irq_restore(flags);
return 0;
}

if (unlikely(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio))) {
printk(KERN_ERR "bfin-gpio: GPIO %d is already reserved by %s !\n",
gpio, get_label(gpio));
Expand Down Expand Up @@ -1016,6 +1029,8 @@ void gpio_free(unsigned short gpio)

reserved_gpio_map[gpio_bank(gpio)] &= ~gpio_bit(gpio);

set_label(gpio, "free");

local_irq_restore(flags);
}
EXPORT_SYMBOL(gpio_free);
Expand Down

0 comments on commit 2acde90

Please sign in to comment.