Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6a87d29b authored by Mike Frysinger's avatar Mike Frysinger Committed by Bryan Wu
Browse files

Blackfin arch: refine the gpio check



refine the gpio check in peripheral_request() so that it only
checks pins that can be used as both GPIO and a peripheral

Signed-off-by: default avatarMike Frysinger <vapier.adi@gmail.com>
Signed-off-by: default avatarBryan Wu <cooloney@kernel.org>
parent a2d03a1d
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -881,13 +881,13 @@ int peripheral_request(unsigned short per, const char *label)
	if (!(per & P_DEFINED))
		return -ENODEV;

	if (check_gpio(ident))
		return -EINVAL;

	local_irq_save(flags);

	/* Can't do GPIO and peripheral at the same time */
	if (unlikely(reserved_gpio_map[gpio_bank(ident)] & gpio_bit(ident))) {
	/* If a pin can be muxed as either GPIO or peripheral, make
	 * sure it is not already a GPIO pin when we request it.
	 */
	if (unlikely(!check_gpio(ident) &&
	    reserved_gpio_map[gpio_bank(ident)] & gpio_bit(ident))) {
		dump_stack();
		printk(KERN_ERR
		       "%s: Peripheral %d is already reserved as GPIO by %s !\n",