[#4661] gpio-keys no longer works in trunk
Submitted By: Mike Frysinger
Open Date
2008-11-20 21:01:37 Close Date
2008-11-21 11:06:37
Priority:
Medium Assignee:
Graf Yang
Status:
Closed Fixed In Release:
N/A
Found In Release:
N/A Release:
Category:
N/A Board:
EZKIT Lite
Processor:
BF548 Silicon Revision:
Is this bug repeatable?:
Yes Resolution:
Fixed
Uboot version or rev.:
Toolchain version or rev.:
App binary format:
N/A
Summary: gpio-keys no longer works in trunk
Details:
the gpio irq changes broke gpio-keys as predicted
Hardware Trace:
0 Target : <0x00004958> { _dump_stack + 0x0 }
Source : <0x00005c32> { _bfin_gpio_request + 0x112 } CALL pcrel
1 Target : <0x00005c32> { _bfin_gpio_request + 0x112 }
Source : <0x00005ba6> { _bfin_gpio_request + 0x86 } IF !CC JUMP
2 Target : <0x00005b8a> { _bfin_gpio_request + 0x6a }
Source : <0x00005b72> { _bfin_gpio_request + 0x52 } IF !CC JUMP
3 Target : <0x00005b70> { _bfin_gpio_request + 0x50 }
Source : <0x000058a4> { _cmp_label + 0x30 } RTS
4 Target : <0x0000589c> { _cmp_label + 0x28 }
Source : <0x00005894> { _cmp_label + 0x20 } IF !CC JUMP
5 Target : <0x0000588e> { _cmp_label + 0x1a }
Source : <0x00005898> { _cmp_label + 0x24 } IF CC JUMP
6 Target : <0x0000588e> { _cmp_label + 0x1a }
Source : <0x00005898> { _cmp_label + 0x24 } IF CC JUMP
7 Target : <0x0000588e> { _cmp_label + 0x1a }
Source : <0x00005898> { _cmp_label + 0x24 } IF CC JUMP
8 Target : <0x0000588e> { _cmp_label + 0x1a }
Source : <0x00005898> { _cmp_label + 0x24 } IF CC JUMP
9 Target : <0x0000588e> { _cmp_label + 0x1a }
Source : <0x00005898> { _cmp_label + 0x24 } IF CC JUMP
10 Target : <0x00005874> { _cmp_label + 0x0 }
Source : <0x00005b6c> { _bfin_gpio_request + 0x4c } CALL pcrel
11 Target : <0x00005b64> { _bfin_gpio_request + 0x44 }
Source : <0x00005b58> { _bfin_gpio_request + 0x38 } IF !CC JUMP
12 Target : <0x00005b20> { _bfin_gpio_request + 0x0 }
Source : <0x000089a2> { _bfin_gpio_irq_type + 0x46 } CALL pcrel
13 Target : <0x0000899e> { _bfin_gpio_irq_type + 0x42 }
Source : <0x00086b2c> { _snprintf + 0x14 } RTS
14 Target : <0x00086b28> { _snprintf + 0x10 }
Source : <0x000865d4> { _vsnprintf + 0x7c } RTS
15 Target : <0x000865c6> { _vsnprintf + 0x6e }
Source : <0x000867e8> { _vsnprintf + 0x290 } JUMP.S
Stack info:
SP: [0x003d7cac] <0x003d7cac> /* kernel dynamic memory */
FP: (0x003d7d34)
Memory from 0x003d7ca0 to 003d8000
003d7ca0: 00000001 003d7cac 003d7d04 [00086b28]<00005c36> 0014bcd2 00000018 003d7cf4
003d7cc0: 00000018 00000038 <000089a6> 00000003 00161ffc 003d7cf4 00000018 00000038
003d7ce0: 0000007f 00000002 000240d0 00000010 0000007f 6f697067 7172692d 00373231
003d7d00: 00000000 039e0800 <00029c5a> 0015dde4 00161ffc 03983360 00000003 0000007f
003d7d20: 0000007f 000a21e0 00160234 0000007f 0000007f (00000000)<00029e40> 00161ffc
003d7d40: 00162014 03983360 0000007f 0000ffff <000824b2><039e0ee0> 00166a34 0015e670
003d7d60:<00029f28> 00161ffc 03bd4ec4 0000007f 00000043 00000000 <00005b70><000a0646>
003d7d80: 0015e374 <000fa3d6> 0015e694 03bd4ec4 0015e670 0000007f 00000000 00137090
003d7da0: 00000000 00000000 00000001 <0006cc50> 0012e30c 03bd4ec4 03bd4ec0 00000000
003d7dc0: 00000001 0015e37c 00000000 00166a34 <00099c56> 0015e37c 00166a34 0015a274
003d7de0: 0015e428 000000ac 00166a34 00000000 00000000 <000f9496><000f94be> 0015e290
003d7e00:<00099db0> 0015e37c 00166a34 0018e55c 0015e428 00166588 0018e55c 00000000
003d7e20:<0009944c> 00099d40 00166588 00000000 003d7e40 03996ba0 <00082a3c> 0014b7d4
003d7e40: 03bfb5d8 0015e3c4 <00099b02> 0014b7d4 00000000 03996ba0 00000000 003d7e80
003d7e60: 003d7e80 <0009980c> 00099d40 <0009982a> 00000000 00000000 00000000 0012340c
003d7e80: 0012e2e4 00000000 <00099f0c> 0014b7d4 00166a34 0018e55c 00000000 00000000
003d7ea0: 0014b7d4 00000007 00000000 <0000102c> 0014b7d4 00187424 00000000 00000000
003d7ec0: 00000000 00000000 00000000 00000000 ffffffff 003d7f04 <00081d7a> 00163fa0
003d7ee0: 001574ec 00157fd8 <00081dee> 03bfb6a4 00000000 0000021c 00157fd8 000000d0
003d7f00: 003d7f04 03bebf28 00000000 00000000 03bd0299 <00081f52> 00157fd8 001574ec
003d7f20: 00000000 <00067350> 00163fa0 001574ec 0018e55c 003d7f58 03bc4c20 03bd0120
003d7f40: 00000000 00000000 00157fd8 003d7f58 <0013078c><00067578> 0000021c <00067586>
003d7f60: 00163fa0 03bc4c20 00004000 00000000 00000000 003d7f98 7fffff00 00000001
003d7f80:<0002b3de> 003d7f98 00000106 <0006764a> 0018e378 03bd0120 00323632 00000000
003d7fa0: 00180000 <0002b43a> 00160234 0018e378 00000106 00163fa0 <0016e3b6> 0018e500
003d7fc0: 0018e378 00000000 00000000 00000000 00000000 00000000 00000000 00000000
003d7fe0: 00000001 <0000145e> 00000000 00000000 00000000 00000000 ffffffff 00000006
003d8000: 003d4340
Return addresses in stack:
address : <0x00086b28> { _snprintf + 0x10 }
address : <0x00005c36> { _bfin_gpio_request + 0x116 }
address : <0x000089a6> { _bfin_gpio_irq_type + 0x4a }
address : <0x00029c5a> { ___irq_set_trigger + 0x26 }
frame 1 : <0x00029e40> { ___setup_irq + 0x124 }
address : <0x000824b2> { _kobject_init + 0x26 }
address : <0x039e0ee0> /* kernel dynamic memory */
address : <0x00029f28> { _request_irq + 0x80 }
address : <0x00005b70> { _bfin_gpio_request + 0x50 }
address : <0x000a0646> { _input_allocate_device + 0x1a }
address : <0x000fa3d6> { _gpio_keys_probe + 0xaa }
address : <0x0006cc50> { _sysfs_create_link + 0xc }
address : <0x00099c56> { _driver_probe_device + 0x82 }
address : <0x000f9496> { _klist_next + 0x26 }
address : <0x000f94be> { _klist_next + 0x4e }
address : <0x00099db0> { ___driver_attach + 0x70 }
address : <0x0009944c> { _bus_for_each_dev + 0x3c }
address : <0x00082a3c> { _kobject_init_and_add + 0x24 }
address : <0x00099b02> { _driver_attach + 0x1a }
address : <0x0009980c> { _bus_add_driver + 0x64 }
address : <0x0009982a> { _bus_add_driver + 0x82 }
address : <0x00099f0c> { _driver_register + 0x40 }
address : <0x0000102c> { _do_one_initcall + 0x2c }
address : <0x00081d7a> { _ida_get_new_above + 0x96 }
address : <0x00081dee> { _ida_get_new_above + 0x10a }
address : <0x00081f52> { _ida_pre_get + 0xe }
address : <0x00067350> { _proc_register + 0x30 }
address : <0x0013078c> /* kernel dynamic memory */
address : <0x00067578> { _create_proc_entry + 0x3c }
address : <0x00067586> { _create_proc_entry + 0x4a }
address : <0x0002b3de> { _register_irq_proc + 0x7e }
address : <0x0006764a> { _proc_mkdir_mode + 0x2e }
address : <0x0002b43a> { _init_irq_proc + 0x42 }
address : <0x0016e3b6> { _kernel_init + 0x8a }
address : <0x0000145e> { _kernel_thread_helper + 0x6 }
bfin-gpio: GPIO 24 is already reserved by gpio-keys: BTN0 !
setting trigger mode 3 for irq 127 failed (_bfin_gpio_irq_type+0x0/0x1b8)
gpio-keys: Unable to claim irq 127; error -16
gpio-keys: probe of gpio-keys.0 failed with error -16
Follow-ups
--- Graf Yang 2008-11-20 21:52:16
Kernel commit [#5727],[#5727] should have fixed this bug.
--- Mike Frysinger 2008-11-20 21:59:03
it isnt working for me with current trunk
ints-priority.c r5726
bfin_gpio.c r5727
--- Graf Yang 2008-11-20 22:43:45
Which board did you use? I use BF527-ezkit.
--- Mike Frysinger 2008-11-20 22:46:54
sorry, should have mentioned ... bf548-ezkit
--- Graf Yang 2008-11-20 23:09:21
I forgot to modify BF548 part.
--- Graf Yang 2008-11-21 04:09:24
Now it is fixed.
--- Mike Frysinger 2008-11-21 11:06:37
seems to be OK now ... thanks!
Files
Changes
Commits
Dependencies
Duplicates
Associations
Tags
File Name File Type File Size Posted By
No Files Were Found