This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Changes in OMAP3 PWM timer programming from kernel 3.0 to 3.2



We're moving from a 3.0 to 3.2 linux kernel. Unfortunately, something has drastically changed in the 3.2 kernel with respect to the PWM timers. I'm using three of them, 9,10,11 currently, to generate a complex set of timed outputs with little to no CPU intervention. This ran perfectly on the 3.0 kernel, but on the 3.2 kernel, my driver gets an error when calling omap2_dm_timer_set_src, in the dmesg output, it says:
omap_timer omap_timer.9: omap2_dm_timer_set_src: clk_set_parent() to sys_ck FAILED
omap_timer omap_timer.10: omap2_dm_timer_set_src: clk_set_parent() to sys_ck FAILED
omap_timer omap_timer.11: omap2_dm_timer_set_src: clk_set_parent() to sys_ck FAILED

I tried just ignoring this, but this leads to a complete system hangup when I start using my driver, which is based on Scott Ellis's too, and I got one hit on Google which did not help at all, but explains the problem perfectly:
https://github.com/scottellis/omap3-pwm/issues/3

The board is a Gumstix Overo Fire, with an OMAP3.

Can anyone explain what has changed in the kernel, and what I have to adapt to be able to use the omap timers again with a 13MHz base clock?