diff options
| -rw-r--r-- | arch/blackfin/kernel/bfin_gpio.c | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/arch/blackfin/kernel/bfin_gpio.c b/arch/blackfin/kernel/bfin_gpio.c index 031ea3e21400..a0678da40532 100644 --- a/arch/blackfin/kernel/bfin_gpio.c +++ b/arch/blackfin/kernel/bfin_gpio.c | |||
| @@ -802,7 +802,8 @@ int peripheral_request(unsigned short per, const char *label) | |||
| 802 | */ | 802 | */ |
| 803 | if (unlikely(!check_gpio(ident) && | 803 | if (unlikely(!check_gpio(ident) && |
| 804 | reserved_gpio_map[gpio_bank(ident)] & gpio_bit(ident))) { | 804 | reserved_gpio_map[gpio_bank(ident)] & gpio_bit(ident))) { |
| 805 | dump_stack(); | 805 | if (system_state == SYSTEM_BOOTING) |
| 806 | dump_stack(); | ||
| 806 | printk(KERN_ERR | 807 | printk(KERN_ERR |
| 807 | "%s: Peripheral %d is already reserved as GPIO by %s !\n", | 808 | "%s: Peripheral %d is already reserved as GPIO by %s !\n", |
| 808 | __func__, ident, get_label(ident)); | 809 | __func__, ident, get_label(ident)); |
| @@ -830,7 +831,8 @@ int peripheral_request(unsigned short per, const char *label) | |||
| 830 | if (cmp_label(ident, label) == 0) | 831 | if (cmp_label(ident, label) == 0) |
| 831 | goto anyway; | 832 | goto anyway; |
| 832 | 833 | ||
| 833 | dump_stack(); | 834 | if (system_state == SYSTEM_BOOTING) |
| 835 | dump_stack(); | ||
| 834 | printk(KERN_ERR | 836 | printk(KERN_ERR |
| 835 | "%s: Peripheral %d function %d is already reserved by %s !\n", | 837 | "%s: Peripheral %d function %d is already reserved by %s !\n", |
| 836 | __func__, ident, P_FUNCT2MUX(per), get_label(ident)); | 838 | __func__, ident, P_FUNCT2MUX(per), get_label(ident)); |
| @@ -946,14 +948,16 @@ int bfin_gpio_request(unsigned gpio, const char *label) | |||
| 946 | } | 948 | } |
| 947 | 949 | ||
| 948 | if (unlikely(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio))) { | 950 | if (unlikely(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio))) { |
| 949 | dump_stack(); | 951 | if (system_state == SYSTEM_BOOTING) |
| 952 | dump_stack(); | ||
| 950 | printk(KERN_ERR "bfin-gpio: GPIO %d is already reserved by %s !\n", | 953 | printk(KERN_ERR "bfin-gpio: GPIO %d is already reserved by %s !\n", |
| 951 | gpio, get_label(gpio)); | 954 | gpio, get_label(gpio)); |
| 952 | local_irq_restore_hw(flags); | 955 | local_irq_restore_hw(flags); |
| 953 | return -EBUSY; | 956 | return -EBUSY; |
| 954 | } | 957 | } |
| 955 | if (unlikely(reserved_peri_map[gpio_bank(gpio)] & gpio_bit(gpio))) { | 958 | if (unlikely(reserved_peri_map[gpio_bank(gpio)] & gpio_bit(gpio))) { |
| 956 | dump_stack(); | 959 | if (system_state == SYSTEM_BOOTING) |
| 960 | dump_stack(); | ||
| 957 | printk(KERN_ERR | 961 | printk(KERN_ERR |
| 958 | "bfin-gpio: GPIO %d is already reserved as Peripheral by %s !\n", | 962 | "bfin-gpio: GPIO %d is already reserved as Peripheral by %s !\n", |
| 959 | gpio, get_label(gpio)); | 963 | gpio, get_label(gpio)); |
| @@ -993,7 +997,8 @@ void bfin_gpio_free(unsigned gpio) | |||
| 993 | local_irq_save_hw(flags); | 997 | local_irq_save_hw(flags); |
| 994 | 998 | ||
| 995 | if (unlikely(!(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio)))) { | 999 | if (unlikely(!(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio)))) { |
| 996 | dump_stack(); | 1000 | if (system_state == SYSTEM_BOOTING) |
| 1001 | dump_stack(); | ||
| 997 | gpio_error(gpio); | 1002 | gpio_error(gpio); |
| 998 | local_irq_restore_hw(flags); | 1003 | local_irq_restore_hw(flags); |
| 999 | return; | 1004 | return; |
| @@ -1017,7 +1022,8 @@ int bfin_gpio_irq_request(unsigned gpio, const char *label) | |||
| 1017 | local_irq_save_hw(flags); | 1022 | local_irq_save_hw(flags); |
| 1018 | 1023 | ||
| 1019 | if (unlikely(reserved_gpio_irq_map[gpio_bank(gpio)] & gpio_bit(gpio))) { | 1024 | if (unlikely(reserved_gpio_irq_map[gpio_bank(gpio)] & gpio_bit(gpio))) { |
| 1020 | dump_stack(); | 1025 | if (system_state == SYSTEM_BOOTING) |
| 1026 | dump_stack(); | ||
| 1021 | printk(KERN_ERR | 1027 | printk(KERN_ERR |
| 1022 | "bfin-gpio: GPIO %d is already reserved as gpio-irq !\n", | 1028 | "bfin-gpio: GPIO %d is already reserved as gpio-irq !\n", |
| 1023 | gpio); | 1029 | gpio); |
| @@ -1025,7 +1031,8 @@ int bfin_gpio_irq_request(unsigned gpio, const char *label) | |||
| 1025 | return -EBUSY; | 1031 | return -EBUSY; |
| 1026 | } | 1032 | } |
| 1027 | if (unlikely(reserved_peri_map[gpio_bank(gpio)] & gpio_bit(gpio))) { | 1033 | if (unlikely(reserved_peri_map[gpio_bank(gpio)] & gpio_bit(gpio))) { |
| 1028 | dump_stack(); | 1034 | if (system_state == SYSTEM_BOOTING) |
| 1035 | dump_stack(); | ||
| 1029 | printk(KERN_ERR | 1036 | printk(KERN_ERR |
| 1030 | "bfin-gpio: GPIO %d is already reserved as Peripheral by %s !\n", | 1037 | "bfin-gpio: GPIO %d is already reserved as Peripheral by %s !\n", |
| 1031 | gpio, get_label(gpio)); | 1038 | gpio, get_label(gpio)); |
| @@ -1057,7 +1064,8 @@ void bfin_gpio_irq_free(unsigned gpio) | |||
| 1057 | local_irq_save_hw(flags); | 1064 | local_irq_save_hw(flags); |
| 1058 | 1065 | ||
| 1059 | if (unlikely(!(reserved_gpio_irq_map[gpio_bank(gpio)] & gpio_bit(gpio)))) { | 1066 | if (unlikely(!(reserved_gpio_irq_map[gpio_bank(gpio)] & gpio_bit(gpio)))) { |
| 1060 | dump_stack(); | 1067 | if (system_state == SYSTEM_BOOTING) |
| 1068 | dump_stack(); | ||
| 1061 | gpio_error(gpio); | 1069 | gpio_error(gpio); |
| 1062 | local_irq_restore_hw(flags); | 1070 | local_irq_restore_hw(flags); |
| 1063 | return; | 1071 | return; |
