I know of an advanced team working a lot on kernel improvements for ARM-based devices. That's Free Electrons, and they are in France. Looking at their blog http://free-electrons.com/blog/ I suppose they may be interested in tinkering with Pyra prototype and submitting some patches, or at last following Pyra kernel development and reviewing patches and discussions.
I have once had email conversation with Michael Opdenacker (CTO), he appeared very kind and open-minded. But I wonder if they can afford such charity now.
What I am proposing is to contact them and figure out how interested they are.
Am 22.06.2016 um 11:20 schrieb Andrey Utkin andrey_utkin@fastmail.com:
I know of an advanced team working a lot on kernel improvements for ARM-based devices. That's Free Electrons, and they are in France. Looking at their blog http://free-electrons.com/blog/
they run http://lxr.free-electrons.com which is a really useful resource. I almost daily use it...
I suppose they may be interested in tinkering with Pyra prototype and submitting some patches, or at last following Pyra kernel development and reviewing patches and discussions.
I have once had email conversation with Michael Opdenacker (CTO), he appeared very kind and open-minded. But I wonder if they can afford such charity now.
That can indeed be a problem We face the situation that people with really good knowledge (e.g. notaz or the freelancers in my team) are dedicated to other tasks and jobs and therefore have no spare time for helping another project.
What I am proposing is to contact them and figure out how interested they are.
Other potential contacts:
www.pengutronix.de www.linutronix.de
BR, Nikolaus
PS: I have merged and configured your as5013 patches and it compiles. But I haven't tested anything (other tasks, see comment above :).
On Wed, Jun 22, 2016 at 11:37:26AM +0200, H. Nikolaus Schaller wrote:
PS: I have merged and configured your as5013 patches and it compiles. But I haven't tested anything (other tasks, see comment above :).
Thanks. Expect resubmissions from me some time later: I'm going to add - configuration of power mgmt mode (via sysfs); - push button if you want it to be in this driver, the code will be copied from as5011 driver.
Am 22.06.2016 um 12:01 schrieb Andrey Utkin andrey_utkin@fastmail.com:
On Wed, Jun 22, 2016 at 11:37:26AM +0200, H. Nikolaus Schaller wrote:
PS: I have merged and configured your as5013 patches and it compiles. But I haven't tested anything (other tasks, see comment above :).
Thanks. Expect resubmissions from me some time later: I'm going to add
I forgot to link the branch:
http://git.goldelico.com/?p=gta04-kernel.git;a=shortlog;h=refs/heads/work/an...
if you need write access, please let me know.
- configuration of power mgmt mode (via sysfs);
- push button if you want it to be in this driver, the code will be copied from as5011 driver.
Well, I think the Pyra could live w/o (we have the gpio-button working). But for a generic upstream driver it is better to have it included.
We might have to vary the DT a little to move the button gpio references (and pinmux) around. But no rocket science.
BR, Nikolaus
Sorry, should have edited the subject.
Am 22.06.2016 um 12:30 schrieb H. Nikolaus Schaller hns@goldelico.com:
Am 22.06.2016 um 12:01 schrieb Andrey Utkin andrey_utkin@fastmail.com:
On Wed, Jun 22, 2016 at 11:37:26AM +0200, H. Nikolaus Schaller wrote:
PS: I have merged and configured your as5013 patches and it compiles. But I haven't tested anything (other tasks, see comment above :).
Thanks. Expect resubmissions from me some time later: I'm going to add
I forgot to link the branch:
http://git.goldelico.com/?p=gta04-kernel.git;a=shortlog;h=refs/heads/work/an...
if you need write access, please let me know.
- configuration of power mgmt mode (via sysfs);
- push button if you want it to be in this driver, the code will be
copied from as5011 driver.
Well, I think the Pyra could live w/o (we have the gpio-button working). But for a generic upstream driver it is better to have it included.
We might have to vary the DT a little to move the button gpio references (and pinmux) around. But no rocket science.
BR, Nikolaus
Kernel mailing list Kernel@pyra-handheld.com http://pyra-handheld.com/cgi-bin/mailman/listinfo/kernel
Hi Andrey,
Am 22.06.2016 um 12:58 schrieb H. Nikolaus Schaller hns@goldelico.com:
Sorry, should have edited the subject.
Am 22.06.2016 um 12:30 schrieb H. Nikolaus Schaller hns@goldelico.com:
Am 22.06.2016 um 12:01 schrieb Andrey Utkin andrey_utkin@fastmail.com:
On Wed, Jun 22, 2016 at 11:37:26AM +0200, H. Nikolaus Schaller wrote:
PS: I have merged and configured your as5013 patches and it compiles. But I haven't tested anything (other tasks, see comment above :).
Thanks. Expect resubmissions from me some time later: I'm going to add
I forgot to link the branch:
http://git.goldelico.com/?p=gta04-kernel.git;a=shortlog;h=refs/heads/work/an...
if you need write access, please let me know.
I have now tested that code a little:
1. /dev/input/event* are created
[ 7.176079] driver_register 'as5013' [ 7.204124] as5013 1-0040: ID code: 0c [ 7.213939] as5013 1-0040: ID version: 0d [ 7.215296] as5013 1-0040: silicon revision: 00 [ 7.215856] as5013 1-0040: control: f1 [ 7.216526] input: nub0 as /devices/platform/44000000.ocp/48072000.i2c/i2c-1/1-0040/input/input7 [ 7.220749] ts3a225e 4-003b: Successfully initialized ts3a225e! [ 7.250416] as5013 1-0041: ID code: 0c [ 7.250745] as5013 1-0041: ID version: 0d [ 7.251026] as5013 1-0041: silicon revision: 00 [ 7.251309] as5013 1-0041: control: f1 [ 7.252005] input: nub1 as /devices/platform/44000000.ocp/48072000.i2c/i2c-1/1-0041/input/input8
2. X11 does not complain
3. evtest triggers kernel oops
root@letux:~# evtest /dev/input/event7 [ 214.299753] Unable to handle kernel NULL pointer dereference at virtual address 00000009 [ 214.308496] pgd = e7cf4000 [ 214.311371] [00000009] *pgd=a7e77835, *pte=00000000, *ppte=00000000 [ 214.318406] Internal error: Oops: 17 [#1] PREEMPT SMP ARM [ 214.324099] Modules linked in: bluetooth autofs4 usb_f_ecm g_ether usb_f_rndis u_ether libcomposite configfs ipv6 arc4 wl18xx wlcore mac80211 omapdrm cfg80211 drm_kms_helper cfbfillrect syscopyarea cfbimgblt sysfillrect sysimgblt fb_sys_fops cfbcopyarea snd_soc_omap_hdmi_audio dwc3 panel_mipi_debug drm connector_hdmi encoder_tpd12s015 snd_soc_omap_abe_twl6040 snd_soc_twl6040 w2cbw003_bluetooth omapdss wwan_on_off leds_gpio pwm_omap_dmtimer pwm_bl ehci_omap wlcore_sdio dwc3_omap snd_soc_ts3a225e as5013 bq27xxx_battery_i2c twl6040_vibra bq2429x_charger gpio_twl6040 ina2xx leds_is31fl319x tca8418_keypad bq27xxx_battery tsc2007 leds_tca6507 palmas_pwrbutton palmas_gpadc bma150 usb3503 bmg160_i2c input_polldev bmg160_core snd_soc_omap_mcpdm snd_soc_omap_mcbsp snd_soc_omap snd_pcm_dmaengine [ 214.398193] CPU: 0 PID: 2406 Comm: evtest Tainted: G W 4.7.0-rc4-letux+ #424 [ 214.406799] Hardware name: Generic OMAP5 (Flattened Device Tree) [ 214.413144] task: ecf95040 ti: e7e16000 task.ti: e7e16000 [ 214.418854] PC is at i2c_transfer+0x8/0xa8 [ 214.423196] LR is at as5013_i2c_write.constprop.0+0x48/0x78 [as5013] [ 214.429915] pc : [<c056c56c>] lr : [<bf0795c4>] psr: a00e0013 [ 214.429915] sp : e7e17d50 ip : 00000000 fp : 00000000 [ 214.442000] r10: ec8ff07c r9 : ec8ff05c r8 : 00000000 [ 214.447507] r7 : 0000000f r6 : ec8ff004 r5 : ec9c11e8 r4 : 00000001 [ 214.454387] r3 : e7e17d62 r2 : 00000001 r1 : e7e17d64 r0 : 00000001 [ 214.461272] Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none [ 214.468789] Control: 10c5387d Table: a7cf406a DAC: 00000051 [ 214.474837] Process evtest (pid: 2406, stack limit = 0xe7e16218) [ 214.481170] Stack: (0xe7e17d50 to 0xe7e18000) [ 214.485771] 7d40: 00000000 ec9c11e8 ec8ff004 bf0795c4 [ 214.494414] 7d60: 800f1190 0000ecf9 c0560002 e7e17d62 e7e6e000 ec9c1208 e7e6e000 ec8ff004 [ 214.503046] 7d80: ec9c11bc bf079668 ec9c1000 c05575c0 00000000 ec8ff318 e7e6e000 e7d23a00 [ 214.511687] 7da0: edda7ce8 c05611c4 c074e2d8 00000000 ec8ff318 edda7ce8 e7d23a00 edfd7a80 [ 214.520324] 7dc0: 00000000 c0253148 edda7ce8 00000000 e7d23a00 edda7ce8 e7d23a00 c0253010 [ 214.528963] 7de0: e7d23a08 c024cbe0 e7e17ed0 00000000 e7d23a00 ffffff9c c01071e4 e7e16000 [ 214.537615] 7e00: 00000000 c025cd3c e7d17e18 edfac034 00000000 00000000 e7e17f74 00000000 [ 214.546249] 7e20: 0008ffa7 edfac034 00000041 ed2a8398 00000004 e7e16000 00000000 00000000 [ 214.554892] 7e40: ecf955e0 00000000 00000002 edda7ce8 edb92d10 ed497730 00000000 00000001 [ 214.563531] 7e60: 000000c1 00000000 c0cd678c 0000030c e7cf6db8 c11a0af0 00000000 ef2184e0 [ 214.572176] 7e80: ecf95040 00000000 ecf955e0 00000001 600e0113 ecf955e0 00000054 edfac054 [ 214.580804] 7ea0: b6ec3a90 00000200 00000054 00000003 e7e17f74 00000001 ffffff9c c01071e4 [ 214.589446] 7ec0: e7e16000 00000000 00000000 c025dad8 edb92d10 ed497730 8f2e76a1 00000006 [ 214.598087] 7ee0: edab901b e7c73900 00000000 ed3da398 edda7ce8 00000101 00000002 000000e2 [ 214.606722] 7f00: 00000000 00000000 00000000 e7e17f10 e7c73900 e7d7bc80 00000000 e7d7bd00 [ 214.615353] 7f20: 00000003 c0b9b76b 00000400 c06d6e58 00000003 c026cd2c e7d7bc80 00000000 [ 214.623992] 7f40: edab9000 00000000 00000000 00000002 ffffff9c c01071e4 00000003 00000000 [ 214.632631] 7f60: edab9000 c024deb4 edfac054 00000000 00038000 00000000 00020000 00000004 [ 214.641272] 7f80: 00000100 00000001 00017008 00017008 beb06e24 00000000 00000005 c01071e4 [ 214.649916] 7fa0: e7e16000 c0107040 00017008 beb06e24 00017008 00000000 00000000 00000037 [ 214.658559] 7fc0: 00017008 beb06e24 00000000 00000005 beb06f13 00000000 b6f51000 00000000 [ 214.667204] 7fe0: 00000000 beb06c94 00008bbf b6ec3aa6 400e0030 00017008 00000000 00000000 [ 214.675870] [<c056c56c>] (i2c_transfer) from [<bf0795c4>] (as5013_i2c_write.constprop.0+0x48/0x78 [as5013]) [ 214.686197] [<bf0795c4>] (as5013_i2c_write.constprop.0 [as5013]) from [<bf079668>] (as5013_resume+0x24/0x5c [as5013]) [ 214.697423] [<bf079668>] (as5013_resume [as5013]) from [<c05575c0>] (input_open_device+0x70/0xac) [ 214.706807] [<c05575c0>] (input_open_device) from [<c05611c4>] (evdev_open+0xf8/0x17c) [ 214.715189] [<c05611c4>] (evdev_open) from [<c0253148>] (chrdev_open+0x138/0x164) [ 214.723104] [<c0253148>] (chrdev_open) from [<c024cbe0>] (do_dentry_open+0x1d8/0x30c) [ 214.731373] [<c024cbe0>] (do_dentry_open) from [<c025cd3c>] (path_openat+0xbcc/0xde8) [ 214.739653] [<c025cd3c>] (path_openat) from [<c025dad8>] (do_filp_open+0x38/0x84) [ 214.747554] [<c025dad8>] (do_filp_open) from [<c024deb4>] (do_sys_open+0x110/0x1b0) [ 214.755654] [<c024deb4>] (do_sys_open) from [<c0107040>] (ret_fast_syscall+0x0/0x1c) [ 214.763836] Code: c08df512 c08821dc e92d4070 e1a04000 (e5903008)
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.318406] Internal error: [ 214.777206] ---[ end trace 4b7e7c3f86abc7bc ]--- Oops: 17 [#1] PREEMPT SMP ARM
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.474837] Process evtest (pid: 2406, stack limit = 0xe7e16218)
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.481170] Stack: (0xe7e17d50 to 0xe7e18000)
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.485771] 7d40: 00000000 ec9c11e8 ec8ff004 bf0795c4
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.494414] 7d60: 800f1190 0000ecf9 c0560002 e7e17d62 e7e6e000 ec9c1208 e7e6e000 ec8ff004
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.503046] 7d80: ec9c11bc bf079668 ec9c1000 c05575c0 00000000 ec8ff318 e7e6e000 e7d23a00
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.511687] 7da0: edda7ce8 c05611c4 c074e2d8 00000000 ec8ff318 edda7ce8 e7d23a00 edfd7a80
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.520324] 7dc0: 00000000 c0253148 edda7ce8 00000000 e7d23a00 edda7ce8 e7d23a00 c0253010
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.528963] 7de0: e7d23a08 c024cbe0 e7e17ed0 00000000 e7d23a00 ffffff9c c01071e4 e7e16000
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.537615] 7e00: 00000000 c025cd3c e7d17e18 edfac034 00000000 00000000 e7e17f74 00000000
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.546249] 7e20: 0008ffa7 edfac034 00000041 ed2a8398 00000004 e7e16000 00000000 00000000
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.554892] 7e40: ecf955e0 00000000 00000002 edda7ce8 edb92d10 ed497730 00000000 00000001
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.563531] 7e60: 000000c1 00000000 c0cd678c 0000030c e7cf6db8 c11a0af0 00000000 ef2184e0
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.572176] 7e80: ecf95040 00000000 ecf955e0 00000001 600e0113 ecf955e0 00000054 edfac054
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.580804] 7ea0: b6ec3a90 00000200 00000054 00000003 e7e17f74 00000001 ffffff9c c01071e4
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.589446] 7ec0: e7e16000 00000000 00000000 c025dad8 edb92d10 ed497730 8f2e76a1 00000006
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.598087] 7ee0: edab901b e7c73900 00000000 ed3da398 edda7ce8 00000101 00000002 000000e2
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.606722] 7f00: 00000000 00000000 00000000 e7e17f10 e7c73900 e7d7bc80 00000000 e7d7bd00
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.615353] 7f20: 00000003 c0b9b76b 00000400 c06d6e58 00000003 c026cd2c e7d7bc80 00000000
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.623992] 7f40: edab9000 00000000 00000000 00000002 ffffff9c c01071e4 00000003 00000000
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.632631] 7f60: edab9000 c024deb4 edfac054 00000000 00038000 00000000 00020000 00000004
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.641272] 7f80: 00000100 00000001 00017008 00017008 beb06e24 00000000 00000005 c01071e4
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.649916] 7fa0: e7e16000 c0107040 00017008 beb06e24 00017008 00000000 00000000 00000037
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.658559] 7fc0: 00017008 beb06e24 00000000 00000005 beb06f13 00000000 b6f51000 00000000
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.667204] 7fe0: 00000000 beb06c94 00008bbf b6ec3aa6 400e0030 00017008 00000000 00000000
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.763836] Code: c08df512 c08821dc e92d4070 e1a04000 (e5903008) Segmentation fault root@letux:~#
- configuration of power mgmt mode (via sysfs);
- push button if you want it to be in this driver, the code will be
copied from as5011 driver.
Well, I think the Pyra could live w/o (we have the gpio-button working). But for a generic upstream driver it is better to have it included.
We might have to vary the DT a little to move the button gpio references (and pinmux) around. But no rocket science.
BR, Nikolaus
BR, Nikolaus
Hi Andrey,
Am 25.06.2016 um 08:34 schrieb H. Nikolaus Schaller hns@goldelico.com:
Hi Andrey,
Am 22.06.2016 um 12:58 schrieb H. Nikolaus Schaller hns@goldelico.com:
Sorry, should have edited the subject.
Am 22.06.2016 um 12:30 schrieb H. Nikolaus Schaller hns@goldelico.com:
Am 22.06.2016 um 12:01 schrieb Andrey Utkin andrey_utkin@fastmail.com:
On Wed, Jun 22, 2016 at 11:37:26AM +0200, H. Nikolaus Schaller wrote:
PS: I have merged and configured your as5013 patches and it compiles. But I haven't tested anything (other tasks, see comment above :).
Thanks. Expect resubmissions from me some time later: I'm going to add
I forgot to link the branch:
http://git.goldelico.com/?p=gta04-kernel.git;a=shortlog;h=refs/heads/work/an...
if you need write access, please let me know.
I have now tested that code a little:
- /dev/input/event* are created
[ 7.176079] driver_register 'as5013' [ 7.204124] as5013 1-0040: ID code: 0c [ 7.213939] as5013 1-0040: ID version: 0d [ 7.215296] as5013 1-0040: silicon revision: 00 [ 7.215856] as5013 1-0040: control: f1 [ 7.216526] input: nub0 as /devices/platform/44000000.ocp/48072000.i2c/i2c-1/1-0040/input/input7 [ 7.220749] ts3a225e 4-003b: Successfully initialized ts3a225e! [ 7.250416] as5013 1-0041: ID code: 0c [ 7.250745] as5013 1-0041: ID version: 0d [ 7.251026] as5013 1-0041: silicon revision: 00 [ 7.251309] as5013 1-0041: control: f1 [ 7.252005] input: nub1 as /devices/platform/44000000.ocp/48072000.i2c/i2c-1/1-0041/input/input8
X11 does not complain
evtest triggers kernel oops
did you find a little time to analyse what is wrong in as5013_resume and as5013_i2c_write?
root@letux:~# evtest /dev/input/event7 [ 214.299753] Unable to handle kernel NULL pointer dereference at virtual address 00000009 [ 214.308496] pgd = e7cf4000 [ 214.311371] [00000009] *pgd=a7e77835, *pte=00000000, *ppte=00000000 [ 214.318406] Internal error: Oops: 17 [#1] PREEMPT SMP ARM [ 214.324099] Modules linked in: bluetooth autofs4 usb_f_ecm g_ether usb_f_rndis u_ether libcomposite configfs ipv6 arc4 wl18xx wlcore mac80211 omapdrm cfg80211 drm_kms_helper cfbfillrect syscopyarea cfbimgblt sysfillrect sysimgblt fb_sys_fops cfbcopyarea snd_soc_omap_hdmi_audio dwc3 panel_mipi_debug drm connector_hdmi encoder_tpd12s015 snd_soc_omap_abe_twl6040 snd_soc_twl6040 w2cbw003_bluetooth omapdss wwan_on_off leds_gpio pwm_omap_dmtimer pwm_bl ehci_omap wlcore_sdio dwc3_omap snd_soc_ts3a225e as5013 bq27xxx_battery_i2c twl6040_vibra bq2429x_charger gpio_twl6040 ina2xx leds_is31fl319x tca8418_keypad bq27xxx_battery tsc2007 leds_tca6507 palmas_pwrbutton palmas_gpadc bma150 usb3503 bmg160_i2c input_polldev bmg160_core snd_soc_omap_mcpdm snd_soc_omap_mcbsp snd_soc_omap snd_pcm_dmaengine [ 214.398193] CPU: 0 PID: 2406 Comm: evtest Tainted: G W 4.7.0-rc4-letux+ #424 [ 214.406799] Hardware name: Generic OMAP5 (Flattened Device Tree) [ 214.413144] task: ecf95040 ti: e7e16000 task.ti: e7e16000 [ 214.418854] PC is at i2c_transfer+0x8/0xa8 [ 214.423196] LR is at as5013_i2c_write.constprop.0+0x48/0x78 [as5013] [ 214.429915] pc : [<c056c56c>] lr : [<bf0795c4>] psr: a00e0013 [ 214.429915] sp : e7e17d50 ip : 00000000 fp : 00000000 [ 214.442000] r10: ec8ff07c r9 : ec8ff05c r8 : 00000000 [ 214.447507] r7 : 0000000f r6 : ec8ff004 r5 : ec9c11e8 r4 : 00000001 [ 214.454387] r3 : e7e17d62 r2 : 00000001 r1 : e7e17d64 r0 : 00000001 [ 214.461272] Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none [ 214.468789] Control: 10c5387d Table: a7cf406a DAC: 00000051 [ 214.474837] Process evtest (pid: 2406, stack limit = 0xe7e16218) [ 214.481170] Stack: (0xe7e17d50 to 0xe7e18000) [ 214.485771] 7d40: 00000000 ec9c11e8 ec8ff004 bf0795c4 [ 214.494414] 7d60: 800f1190 0000ecf9 c0560002 e7e17d62 e7e6e000 ec9c1208 e7e6e000 ec8ff004 [ 214.503046] 7d80: ec9c11bc bf079668 ec9c1000 c05575c0 00000000 ec8ff318 e7e6e000 e7d23a00 [ 214.511687] 7da0: edda7ce8 c05611c4 c074e2d8 00000000 ec8ff318 edda7ce8 e7d23a00 edfd7a80 [ 214.520324] 7dc0: 00000000 c0253148 edda7ce8 00000000 e7d23a00 edda7ce8 e7d23a00 c0253010 [ 214.528963] 7de0: e7d23a08 c024cbe0 e7e17ed0 00000000 e7d23a00 ffffff9c c01071e4 e7e16000 [ 214.537615] 7e00: 00000000 c025cd3c e7d17e18 edfac034 00000000 00000000 e7e17f74 00000000 [ 214.546249] 7e20: 0008ffa7 edfac034 00000041 ed2a8398 00000004 e7e16000 00000000 00000000 [ 214.554892] 7e40: ecf955e0 00000000 00000002 edda7ce8 edb92d10 ed497730 00000000 00000001 [ 214.563531] 7e60: 000000c1 00000000 c0cd678c 0000030c e7cf6db8 c11a0af0 00000000 ef2184e0 [ 214.572176] 7e80: ecf95040 00000000 ecf955e0 00000001 600e0113 ecf955e0 00000054 edfac054 [ 214.580804] 7ea0: b6ec3a90 00000200 00000054 00000003 e7e17f74 00000001 ffffff9c c01071e4 [ 214.589446] 7ec0: e7e16000 00000000 00000000 c025dad8 edb92d10 ed497730 8f2e76a1 00000006 [ 214.598087] 7ee0: edab901b e7c73900 00000000 ed3da398 edda7ce8 00000101 00000002 000000e2 [ 214.606722] 7f00: 00000000 00000000 00000000 e7e17f10 e7c73900 e7d7bc80 00000000 e7d7bd00 [ 214.615353] 7f20: 00000003 c0b9b76b 00000400 c06d6e58 00000003 c026cd2c e7d7bc80 00000000 [ 214.623992] 7f40: edab9000 00000000 00000000 00000002 ffffff9c c01071e4 00000003 00000000 [ 214.632631] 7f60: edab9000 c024deb4 edfac054 00000000 00038000 00000000 00020000 00000004 [ 214.641272] 7f80: 00000100 00000001 00017008 00017008 beb06e24 00000000 00000005 c01071e4 [ 214.649916] 7fa0: e7e16000 c0107040 00017008 beb06e24 00017008 00000000 00000000 00000037 [ 214.658559] 7fc0: 00017008 beb06e24 00000000 00000005 beb06f13 00000000 b6f51000 00000000 [ 214.667204] 7fe0: 00000000 beb06c94 00008bbf b6ec3aa6 400e0030 00017008 00000000 00000000 [ 214.675870] [<c056c56c>] (i2c_transfer) from [<bf0795c4>] (as5013_i2c_write.constprop.0+0x48/0x78 [as5013]) [ 214.686197] [<bf0795c4>] (as5013_i2c_write.constprop.0 [as5013]) from [<bf079668>] (as5013_resume+0x24/0x5c [as5013]) [ 214.697423] [<bf079668>] (as5013_resume [as5013]) from [<c05575c0>] (input_open_device+0x70/0xac) [ 214.706807] [<c05575c0>] (input_open_device) from [<c05611c4>] (evdev_open+0xf8/0x17c) [ 214.715189] [<c05611c4>] (evdev_open) from [<c0253148>] (chrdev_open+0x138/0x164) [ 214.723104] [<c0253148>] (chrdev_open) from [<c024cbe0>] (do_dentry_open+0x1d8/0x30c) [ 214.731373] [<c024cbe0>] (do_dentry_open) from [<c025cd3c>] (path_openat+0xbcc/0xde8) [ 214.739653] [<c025cd3c>] (path_openat) from [<c025dad8>] (do_filp_open+0x38/0x84) [ 214.747554] [<c025dad8>] (do_filp_open) from [<c024deb4>] (do_sys_open+0x110/0x1b0) [ 214.755654] [<c024deb4>] (do_sys_open) from [<c0107040>] (ret_fast_syscall+0x0/0x1c) [ 214.763836] Code: c08df512 c08821dc e92d4070 e1a04000 (e5903008)
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.318406] Internal error: [ 214.777206] ---[ end trace 4b7e7c3f86abc7bc ]--- Oops: 17 [#1] PREEMPT SMP ARM
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.474837] Process evtest (pid: 2406, stack limit = 0xe7e16218)
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.481170] Stack: (0xe7e17d50 to 0xe7e18000)
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.485771] 7d40: 00000000 ec9c11e8 ec8ff004 bf0795c4
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.494414] 7d60: 800f1190 0000ecf9 c0560002 e7e17d62 e7e6e000 ec9c1208 e7e6e000 ec8ff004
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.503046] 7d80: ec9c11bc bf079668 ec9c1000 c05575c0 00000000 ec8ff318 e7e6e000 e7d23a00
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.511687] 7da0: edda7ce8 c05611c4 c074e2d8 00000000 ec8ff318 edda7ce8 e7d23a00 edfd7a80
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.520324] 7dc0: 00000000 c0253148 edda7ce8 00000000 e7d23a00 edda7ce8 e7d23a00 c0253010
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.528963] 7de0: e7d23a08 c024cbe0 e7e17ed0 00000000 e7d23a00 ffffff9c c01071e4 e7e16000
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.537615] 7e00: 00000000 c025cd3c e7d17e18 edfac034 00000000 00000000 e7e17f74 00000000
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.546249] 7e20: 0008ffa7 edfac034 00000041 ed2a8398 00000004 e7e16000 00000000 00000000
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.554892] 7e40: ecf955e0 00000000 00000002 edda7ce8 edb92d10 ed497730 00000000 00000001
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.563531] 7e60: 000000c1 00000000 c0cd678c 0000030c e7cf6db8 c11a0af0 00000000 ef2184e0
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.572176] 7e80: ecf95040 00000000 ecf955e0 00000001 600e0113 ecf955e0 00000054 edfac054
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.580804] 7ea0: b6ec3a90 00000200 00000054 00000003 e7e17f74 00000001 ffffff9c c01071e4
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.589446] 7ec0: e7e16000 00000000 00000000 c025dad8 edb92d10 ed497730 8f2e76a1 00000006
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.598087] 7ee0: edab901b e7c73900 00000000 ed3da398 edda7ce8 00000101 00000002 000000e2
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.606722] 7f00: 00000000 00000000 00000000 e7e17f10 e7c73900 e7d7bc80 00000000 e7d7bd00
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.615353] 7f20: 00000003 c0b9b76b 00000400 c06d6e58 00000003 c026cd2c e7d7bc80 00000000
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.623992] 7f40: edab9000 00000000 00000000 00000002 ffffff9c c01071e4 00000003 00000000
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.632631] 7f60: edab9000 c024deb4 edfac054 00000000 00038000 00000000 00020000 00000004
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.641272] 7f80: 00000100 00000001 00017008 00017008 beb06e24 00000000 00000005 c01071e4
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.649916] 7fa0: e7e16000 c0107040 00017008 beb06e24 00017008 00000000 00000000 00000037
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.658559] 7fc0: 00017008 beb06e24 00000000 00000005 beb06f13 00000000 b6f51000 00000000
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.667204] 7fe0: 00000000 beb06c94 00008bbf b6ec3aa6 400e0030 00017008 00000000 00000000
Message from syslogd@localhost at Jan 1 00:03:30 ... kernel:[ 214.763836] Code: c08df512 c08821dc e92d4070 e1a04000 (e5903008) Segmentation fault root@letux:~#
BR, Nikolaus
On Tue, Jun 28, 2016 at 08:58:17AM +0200, H. Nikolaus Schaller wrote:
- evtest triggers kernel oops
did you find a little time to analyse what is wrong in as5013_resume and as5013_i2c_write?
I guess I could screw it up by merging input dev opening/closing functions with resume/suspend functions. Maybe dev->dev is not initialized at the moment when as5013_open() is called. Will prepare another version of patchset ASAP. SSH access to the host for debugging would be awesome. Could I ask for that?
Hi Andrey,
Am 28.06.2016 um 23:11 schrieb Andrey Utkin andrey_utkin@fastmail.com:
On Tue, Jun 28, 2016 at 08:58:17AM +0200, H. Nikolaus Schaller wrote:
- evtest triggers kernel oops
did you find a little time to analyse what is wrong in as5013_resume and as5013_i2c_write?
I guess I could screw it up by merging input dev opening/closing functions with resume/suspend functions. Maybe dev->dev is not initialized
I would also suspect something like that (haven't studied the code yet).
at the moment when as5013_open() is called. Will prepare another version of patchset ASAP.
Fine!
SSH access to the host for debugging would be awesome. Could I ask for that?
1. register yourself with http://projects.goldelico.com/projects/ 2. upload your public ssh key to the user profile 3. let me know your login name 4. I can add you as member to the project 5. I have to sync the ssh keys so that the git/ssh server accepts it - this seems to have a problem recently, so it might not immediately work
BR, Nikolaus
On Wed, Jun 29, 2016 at 08:41:58AM +0200, H. Nikolaus Schaller wrote:
Hi Andrey,
Am 28.06.2016 um 23:11 schrieb Andrey Utkin andrey_utkin@fastmail.com:
On Tue, Jun 28, 2016 at 08:58:17AM +0200, H. Nikolaus Schaller wrote:
- evtest triggers kernel oops
did you find a little time to analyse what is wrong in as5013_resume and as5013_i2c_write?
I guess I could screw it up by merging input dev opening/closing functions with resume/suspend functions. Maybe dev->dev is not initialized
I would also suspect something like that (haven't studied the code yet).
Hi Nikolaus,
I have pushed a reworked version of my code to work/andrey/input/as5013 branch of git://git.goldelico.com/gta04-kernel.git , preserving your commit on top of it. Please retest when you have time.
The changes since previous submission is that now both input open/close and suspend/resume functions call another set of functions to enter/leave low power mode. Previously, input open/close functions just called suspend/resume functions, trying to extract appropriate context pointer from &dev->dev, which has apparently failed.
Hi Andrey,
Am 01.07.2016 um 11:52 schrieb Andrey Utkin andrey_utkin@fastmail.com:
On Wed, Jun 29, 2016 at 08:41:58AM +0200, H. Nikolaus Schaller wrote:
Hi Andrey,
Am 28.06.2016 um 23:11 schrieb Andrey Utkin andrey_utkin@fastmail.com:
On Tue, Jun 28, 2016 at 08:58:17AM +0200, H. Nikolaus Schaller wrote:
- evtest triggers kernel oops
did you find a little time to analyse what is wrong in as5013_resume and as5013_i2c_write?
I guess I could screw it up by merging input dev opening/closing functions with resume/suspend functions. Maybe dev->dev is not initialized
I would also suspect something like that (haven't studied the code yet).
Hi Nikolaus,
I have pushed a reworked version of my code to work/andrey/input/as5013 branch of git://git.goldelico.com/gta04-kernel.git , preserving your commit on top of it. Please retest when you have time.
Thanks! I have updated my local branch and remerged (result not yet pushed) and at least it compiles fine. But haven't booted and tested yet.
The changes since previous submission is that now both input open/close and suspend/resume functions call another set of functions to enter/leave low power mode. Previously, input open/close functions just called suspend/resume functions, trying to extract appropriate context pointer from &dev->dev, which has apparently failed.
Yes, that is usually a tricky part...
BR, Nikolaus
Hi,
Am 01.07.2016 um 19:10 schrieb H. Nikolaus Schaller hns@goldelico.com:
Hi Andrey,
Am 01.07.2016 um 11:52 schrieb Andrey Utkin andrey_utkin@fastmail.com:
On Wed, Jun 29, 2016 at 08:41:58AM +0200, H. Nikolaus Schaller wrote:
Hi Andrey,
Am 28.06.2016 um 23:11 schrieb Andrey Utkin andrey_utkin@fastmail.com:
On Tue, Jun 28, 2016 at 08:58:17AM +0200, H. Nikolaus Schaller wrote:
- evtest triggers kernel oops
did you find a little time to analyse what is wrong in as5013_resume and as5013_i2c_write?
I guess I could screw it up by merging input dev opening/closing functions with resume/suspend functions. Maybe dev->dev is not initialized
I would also suspect something like that (haven't studied the code yet).
Hi Nikolaus,
I have pushed a reworked version of my code to work/andrey/input/as5013 branch of git://git.goldelico.com/gta04-kernel.git , preserving your commit on top of it. Please retest when you have time.
Thanks! I have updated my local branch and remerged (result not yet pushed) and at least it compiles fine. But haven't booted and tested yet.
Have now bootet and this time evtest reports reasonable ABS_X and ABS_Y values.
At least reasonable for a joystick and for a quick check (I don't know what the standard value range is - looks to be like -127 ... +127).
My X11 setup ignores them so they can't be used as mouse pointers yet. But that is something which we can find out later.
So I think we can keep this version until we have fixes.
BR and thanks, Nikolaus
As a competitor of them, I am very familiar with them and I can say they are pretty good at what they do and have great contributions to the Embedded Linux world. If they are interested in helping, it would be wise to send them a board.
Atilla
On Wed, Jun 22, 2016 at 11:37 AM, H. Nikolaus Schaller hns@goldelico.com wrote:
Am 22.06.2016 um 11:20 schrieb Andrey Utkin andrey_utkin@fastmail.com:
I know of an advanced team working a lot on kernel improvements for ARM-based devices. That's Free Electrons, and they are in France. Looking at their blog http://free-electrons.com/blog/
they run http://lxr.free-electrons.com which is a really useful resource. I almost daily use it...
I suppose they may be interested in tinkering with Pyra prototype and submitting some patches, or at last following Pyra kernel development and reviewing patches and discussions.
I have once had email conversation with Michael Opdenacker (CTO), he appeared very kind and open-minded. But I wonder if they can afford such charity now.
That can indeed be a problem We face the situation that people with really good knowledge (e.g. notaz or the freelancers in my team) are dedicated to other tasks and jobs and therefore have no spare time for helping another project.
What I am proposing is to contact them and figure out how interested they are.
Other potential contacts:
www.pengutronix.de www.linutronix.de
BR, Nikolaus
PS: I have merged and configured your as5013 patches and it compiles. But I haven't tested anything (other tasks, see comment above :).
Kernel mailing list Kernel@pyra-handheld.com http://pyra-handheld.com/cgi-bin/mailman/listinfo/kernel