1. 11 Jul, 2016 1 commit
  2. 08 Jul, 2016 1 commit
  3. 20 Jul, 2015 1 commit
  4. 20 Oct, 2014 1 commit
  5. 21 May, 2014 2 commits
  6. 28 Apr, 2014 1 commit
  7. 20 Dec, 2013 1 commit
  8. 15 Oct, 2013 1 commit
  9. 03 Sep, 2013 1 commit
    • Jingoo Han's avatar
      pwm: tiehrpwm: add missing __iomem annotation · ac872bc9
      Jingoo Han authored
      Fix the following sparse warnings:
      
      drivers/pwm/pwm-tiehrpwm.c:144:16: warning: incorrect type in argument 1 (different address spaces)
      drivers/pwm/pwm-tiehrpwm.c:144:16:    expected void const volatile [noderef] <asn:2>*addr
      drivers/pwm/pwm-tiehrpwm.c:144:16:    got void *
      drivers/pwm/pwm-tiehrpwm.c:149:9: warning: incorrect type in argument 2 (different address spaces)
      drivers/pwm/pwm-tiehrpwm.c:149:9:    expected void volatile [noderef] <asn:2>*addr
      drivers/pwm/pwm-tiehrpwm.c:149:9:    got void *
      drivers/pwm/pwm-tiehrpwm.c:157:18: warning: incorrect type in argument 1 (different address spaces)
      drivers/pwm/pwm-tiehrpwm.c:157:18:    expected void const volatile [noderef] <asn:2>*addr
      drivers/pwm/pwm-tiehrpwm.c:157:18:    got void *
      drivers/pwm/pwm-tiehrpwm.c:160:9: warning: incorrect type in argument 2 (different address spaces)
      drivers/pwm/pwm-tiehrpwm.c:160:9:    expected void volatile [noderef] <asn:2>*addr
      drivers/pwm/pwm-tiehrpwm.c:160:9:    got void *
      Signed-off-by: 's avatarJingoo Han <jg1.han@samsung.com>
      Signed-off-by: 's avatarThierry Reding <thierry.reding@gmail.com>
      ac872bc9
  10. 26 Jun, 2013 1 commit
    • Marek Belisko's avatar
      pwm: pwm-tiehrpwm: Use clk_enable/disable instead clk_prepare/unprepare. · b388f15f
      Marek Belisko authored
      This was found when using pwm-led on am33xx and enable
      heartbeat trigger.
      
      [  808.624876] =================================
      [  808.629443] [ INFO: inconsistent lock state ]
      [  808.634021] 3.9.0 #2 Not tainted
      [  808.637415] ---------------------------------
      [  808.641981] inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage.
      [  808.648288] swapper/0 [HC0[0]:SC1[1]:HE1:SE0] takes:
      [  808.653494]  (prepare_lock){+.?.+.}, at: [<c027c211>] clk_unprepare+0x15/0x24
      [  808.661040] {SOFTIRQ-ON-W} state was registered at:
      [  808.666155]   [<c004ec4d>] __lock_acquire+0x411/0x824
      [  808.671465]   [<c004f359>] lock_acquire+0x41/0x50
      [  808.676412]   [<c039ee9d>] mutex_lock_nested+0x31/0x1d8
      [  808.681912]   [<c027c275>] clk_prepare+0x15/0x28
      [  808.686764]   [<c0590c6b>] _init+0x117/0x1e0
      [  808.691256]   [<c0019ef9>] omap_hwmod_for_each+0x29/0x3c
      [  808.696842]   [<c0591107>] __omap_hwmod_setup_all+0x17/0x2c
      [  808.702696]   [<c0008653>] do_one_initcall+0xc3/0x10c
      [  808.708017]   [<c058a627>] kernel_init_freeable+0xa7/0x134
      [  808.713778]   [<c039a543>] kernel_init+0x7/0x98
      [  808.718544]   [<c000cd95>] ret_from_fork+0x11/0x3c
      [  808.723583] irq event stamp: 1379172
      [  808.727328] hardirqs last  enabled at (1379172): [<c03a0759>] _raw_spin_unlock_irqrestore+0x21/0x30
      [  808.736828] hardirqs last disabled at (1379171): [<c03a03c3>] _raw_spin_lock_irqsave+0x13/0x38
      [  808.745876] softirqs last  enabled at (1379164): [<c002ae5d>] irq_enter+0x49/0x4c
      [  808.753747] softirqs last disabled at (1379165): [<c002aec3>] irq_exit+0x63/0x88
      [  808.761518]
      [  808.761518] other info that might help us debug this:
      [  808.768373]  Possible unsafe locking scenario:
      [  808.768373]
      [  808.774578]        CPU0
      [  808.777141]        ----
      [  808.779705]   lock(prepare_lock);
      [  808.783186]   <Interrupt>
      [  808.785929]     lock(prepare_lock);
      [  808.789595]
      [  808.789595]  *** DEADLOCK ***
      [  808.789595]
      [  808.795805] 1 lock held by swapper/0:
      [  808.799643]  #0:  (((&heartbeat_data->timer))){+.-...}, at: [<c002e204>] call_timer_fn+0x0/0x90
      [  808.808814]
      [  808.808814] stack backtrace:
      [  808.813402] [<c000ff19>] (unwind_backtrace+0x1/0x98) from [<c039bd75>] (print_usage_bug.part.25+0x16d/0x1cc)
      [  808.823721] [<c039bd75>] (print_usage_bug.part.25+0x16d/0x1cc) from [<c004e595>] (mark_lock+0x18d/0x434)
      [  808.833669] [<c004e595>] (mark_lock+0x18d/0x434) from [<c004ec1d>] (__lock_acquire+0x3e1/0x824)
      [  808.842803] [<c004ec1d>] (__lock_acquire+0x3e1/0x824) from [<c004f359>] (lock_acquire+0x41/0x50)
      [  808.852031] [<c004f359>] (lock_acquire+0x41/0x50) from [<c039ee9d>] (mutex_lock_nested+0x31/0x1d8)
      [  808.861433] [<c039ee9d>] (mutex_lock_nested+0x31/0x1d8) from [<c027c211>] (clk_unprepare+0x15/0x24)
      [  808.870930] [<c027c211>] (clk_unprepare+0x15/0x24) from [<c019f7bf>] (ehrpwm_pwm_disable+0x5f/0x80)
      [  808.880431] [<c019f7bf>] (ehrpwm_pwm_disable+0x5f/0x80) from [<c019f29f>] (pwm_disable+0x27/0x28)
      [  808.889751] [<c019f29f>] (pwm_disable+0x27/0x28) from [<c026f8f3>] (led_heartbeat_function+0x3f/0xb0)
      [  808.899431] [<c026f8f3>] (led_heartbeat_function+0x3f/0xb0) from [<c002e249>] (call_timer_fn+0x45/0x90)
      [  808.909288] [<c002e249>] (call_timer_fn+0x45/0x90) from [<c002e399>] (run_timer_softirq+0x105/0x17c)
      [  808.918884] [<c002e399>] (run_timer_softirq+0x105/0x17c) from [<c002abc5>] (__do_softirq+0xa5/0x150)
      [  808.928486] [<c002abc5>] (__do_softirq+0xa5/0x150) from [<c002aec3>] (irq_exit+0x63/0x88)
      [  808.937098] [<c002aec3>] (irq_exit+0x63/0x88) from [<c000d599>] (handle_IRQ+0x21/0x54)
      [  808.945415] [<c000d599>] (handle_IRQ+0x21/0x54) from [<c0008495>] (omap3_intc_handle_irq+0x5d/0x68)
      [  808.954900] [<c0008495>] (omap3_intc_handle_irq+0x5d/0x68) from [<c000c7ff>] (__irq_svc+0x3f/0x64)
      [  808.964287] Exception stack(0xc05b1f68 to 0xc05b1fb0)
      [  808.969587] 1f60:                   00000001 00000001 00000000 00000000 c05b0000 c0619748
      [  808.978158] 1f80: c05b0000 c05b0000 c0619748 413fc082 00000000 00000000 01000000 c05b1fb0
      [  808.986719] 1fa0: c004f989 c000d6f0 400f0033 ffffffff
      [  808.992024] [<c000c7ff>] (__irq_svc+0x3f/0x64) from [<c000d6f0>] (cpu_idle+0x60/0x98)
      [  809.000250] [<c000d6f0>] (cpu_idle+0x60/0x98) from [<c058a535>] (start_kernel+0x1e9/0x234)
      
      Remove non atomic clk api calls and use only atomic for enable/disable because
      can be called from atomic context (led_heartbeat_function is timer callback).
      Signed-off-by: 's avatarMarek Belisko <marek.belisko@streamunlimited.com>
      Signed-off-by: 's avatarThierry Reding <thierry.reding@gmail.com>
      b388f15f
  11. 18 May, 2013 1 commit
  12. 26 Mar, 2013 1 commit
  13. 11 Mar, 2013 1 commit
  14. 22 Jan, 2013 1 commit
  15. 17 Jan, 2013 1 commit
  16. 14 Jan, 2013 1 commit
  17. 28 Nov, 2012 6 commits
  18. 05 Oct, 2012 1 commit
    • Thierry Reding's avatar
      pwm: Check for negative duty-cycle and period · c2d476a9
      Thierry Reding authored
      Make sure the duty-cycle and period passed in are not negative. This
      should eventually be made implicit by making them unsigned. While at
      it, the drivers' .config() implementations can have the equivalent
      checks removed.
      Signed-off-by: 's avatarThierry Reding <thierry.reding@avionic-design.de>
      Cc: Shawn Guo <shawn.guo@linaro.org>
      Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Sachin Kamat <sachin.kamat@linaro.org>
      Cc: Axel Lin <axel.lin@gmail.com>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: Jingoo Han <jg1.han@samsung.com>
      Cc: Jonghwan Choi <jhbird.choi@samsung.com>
      Cc: Sascha Hauer <s.hauer@pengutronix.de>
      Cc: "Philip, Avinash" <avinashphilip@ti.com>
      Cc: Vaibhav Bedia <vaibhav.bedia@ti.com>
      Acked-by: 's avatarJingoo Han <jg1.han@samsung.com>
      c2d476a9
  19. 10 Sep, 2012 2 commits
  20. 17 Aug, 2012 1 commit
  21. 25 Jul, 2012 1 commit