aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/kernel/bfin_gpio.c
diff options
context:
space:
mode:
authorMike Frysinger <vapier.adi@gmail.com>2008-03-25 20:34:23 -0400
committerBryan Wu <cooloney@kernel.org>2008-03-25 20:34:23 -0400
commitf85c4abdbc24ede9978073375bee12980cf852b2 (patch)
tree6b2c23d30cbddaa12db2368aad7596525695c8ef /arch/blackfin/kernel/bfin_gpio.c
parent793dc27b51b2ffff95b72408e2ef44e0995c185b (diff)
[Blackfin] arch: dump the stack before printing out an error otherwise the stack dump is useless as it shows us tracing through printk
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
Diffstat (limited to 'arch/blackfin/kernel/bfin_gpio.c')
-rw-r--r--arch/blackfin/kernel/bfin_gpio.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/arch/blackfin/kernel/bfin_gpio.c b/arch/blackfin/kernel/bfin_gpio.c
index 08788f7bbfba..a09dc48050b4 100644
--- a/arch/blackfin/kernel/bfin_gpio.c
+++ b/arch/blackfin/kernel/bfin_gpio.c
@@ -821,10 +821,10 @@ int peripheral_request(unsigned short per, const char *label)
821 local_irq_save(flags); 821 local_irq_save(flags);
822 822
823 if (unlikely(reserved_gpio_map[gpio_bank(ident)] & gpio_bit(ident))) { 823 if (unlikely(reserved_gpio_map[gpio_bank(ident)] & gpio_bit(ident))) {
824 dump_stack();
824 printk(KERN_ERR 825 printk(KERN_ERR
825 "%s: Peripheral %d is already reserved as GPIO by %s !\n", 826 "%s: Peripheral %d is already reserved as GPIO by %s !\n",
826 __FUNCTION__, ident, get_label(ident)); 827 __FUNCTION__, ident, get_label(ident));
827 dump_stack();
828 local_irq_restore(flags); 828 local_irq_restore(flags);
829 return -EBUSY; 829 return -EBUSY;
830 } 830 }
@@ -848,10 +848,10 @@ int peripheral_request(unsigned short per, const char *label)
848 if (cmp_label(ident, label) == 0) 848 if (cmp_label(ident, label) == 0)
849 goto anyway; 849 goto anyway;
850 850
851 dump_stack();
851 printk(KERN_ERR 852 printk(KERN_ERR
852 "%s: Peripheral %d function %d is already reserved by %s !\n", 853 "%s: Peripheral %d function %d is already reserved by %s !\n",
853 __FUNCTION__, ident, P_FUNCT2MUX(per), get_label(ident)); 854 __FUNCTION__, ident, P_FUNCT2MUX(per), get_label(ident));
854 dump_stack();
855 local_irq_restore(flags); 855 local_irq_restore(flags);
856 return -EBUSY; 856 return -EBUSY;
857 } 857 }
@@ -891,10 +891,10 @@ int peripheral_request(unsigned short per, const char *label)
891 if (!check_gpio(ident)) { 891 if (!check_gpio(ident)) {
892 892
893 if (unlikely(reserved_gpio_map[gpio_bank(ident)] & gpio_bit(ident))) { 893 if (unlikely(reserved_gpio_map[gpio_bank(ident)] & gpio_bit(ident))) {
894 dump_stack();
894 printk(KERN_ERR 895 printk(KERN_ERR
895 "%s: Peripheral %d is already reserved as GPIO by %s !\n", 896 "%s: Peripheral %d is already reserved as GPIO by %s !\n",
896 __FUNCTION__, ident, get_label(ident)); 897 __FUNCTION__, ident, get_label(ident));
897 dump_stack();
898 local_irq_restore(flags); 898 local_irq_restore(flags);
899 return -EBUSY; 899 return -EBUSY;
900 } 900 }
@@ -918,12 +918,12 @@ int peripheral_request(unsigned short per, const char *label)
918 if (cmp_label(ident, label) == 0) 918 if (cmp_label(ident, label) == 0)
919 goto anyway; 919 goto anyway;
920 920
921 dump_stack();
921 printk(KERN_ERR 922 printk(KERN_ERR
922 "%s: Peripheral %d function %d is already" 923 "%s: Peripheral %d function %d is already"
923 " reserved by %s !\n", 924 " reserved by %s !\n",
924 __FUNCTION__, ident, P_FUNCT2MUX(per), 925 __FUNCTION__, ident, P_FUNCT2MUX(per),
925 get_label(ident)); 926 get_label(ident));
926 dump_stack();
927 local_irq_restore(flags); 927 local_irq_restore(flags);
928 return -EBUSY; 928 return -EBUSY;
929 } 929 }
@@ -1046,17 +1046,17 @@ int gpio_request(unsigned gpio, const char *label)
1046 } 1046 }
1047 1047
1048 if (unlikely(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio))) { 1048 if (unlikely(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio))) {
1049 dump_stack();
1049 printk(KERN_ERR "bfin-gpio: GPIO %d is already reserved by %s !\n", 1050 printk(KERN_ERR "bfin-gpio: GPIO %d is already reserved by %s !\n",
1050 gpio, get_label(gpio)); 1051 gpio, get_label(gpio));
1051 dump_stack();
1052 local_irq_restore(flags); 1052 local_irq_restore(flags);
1053 return -EBUSY; 1053 return -EBUSY;
1054 } 1054 }
1055 if (unlikely(reserved_peri_map[gpio_bank(gpio)] & gpio_bit(gpio))) { 1055 if (unlikely(reserved_peri_map[gpio_bank(gpio)] & gpio_bit(gpio))) {
1056 dump_stack();
1056 printk(KERN_ERR 1057 printk(KERN_ERR
1057 "bfin-gpio: GPIO %d is already reserved as Peripheral by %s !\n", 1058 "bfin-gpio: GPIO %d is already reserved as Peripheral by %s !\n",
1058 gpio, get_label(gpio)); 1059 gpio, get_label(gpio));
1059 dump_stack();
1060 local_irq_restore(flags); 1060 local_irq_restore(flags);
1061 return -EBUSY; 1061 return -EBUSY;
1062 } 1062 }
@@ -1082,8 +1082,8 @@ void gpio_free(unsigned gpio)
1082 local_irq_save(flags); 1082 local_irq_save(flags);
1083 1083
1084 if (unlikely(!(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio)))) { 1084 if (unlikely(!(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio)))) {
1085 gpio_error(gpio);
1086 dump_stack(); 1085 dump_stack();
1086 gpio_error(gpio);
1087 local_irq_restore(flags); 1087 local_irq_restore(flags);
1088 return; 1088 return;
1089 } 1089 }