android_kernel_samsung_univ.../drivers/pwm
Shawn Guo bd9c1b6005 pwm: mxs: set pwm_chip can_sleep flag
The .config() calls clk_get_rate() which might sleep, so we need to set
pwm_chip can_sleep flag.  Otherwise, we see the following warning when
using PWM driven heartbeat led.

WARNING: CPU: 0 PID: 0 at kernel/locking/mutex.c:856 mutex_trylock+0x184/0x1a4()
DEBUG_LOCKS_WARN_ON(in_interrupt())
Modules linked in:
CPU: 0 PID: 0 Comm: swapper Not tainted 3.14.0-rc5 #18
[<c0015420>] (unwind_backtrace) from [<c0012cb0>] (show_stack+0x10/0x14)
[<c0012cb0>] (show_stack) from [<c001daf8>] (warn_slowpath_common+0x6c/0x8c)
[<c001daf8>] (warn_slowpath_common) from [<c001dbac>] (warn_slowpath_fmt+0x30/0x40)
[<c001dbac>] (warn_slowpath_fmt) from [<c045df74>] (mutex_trylock+0x184/0x1a4)
[<c045df74>] (mutex_trylock) from [<c0360950>] (clk_prepare_lock+0xc/0xec)
[<c0360950>] (clk_prepare_lock) from [<c0362020>] (clk_get_rate+0xc/0x68)
[<c0362020>] (clk_get_rate) from [<c028d07c>] (mxs_pwm_config+0x20/0x198)
[<c028d07c>] (mxs_pwm_config) from [<c028bde8>] (pwm_config+0x60/0x70)
[<c028bde8>] (pwm_config) from [<c034b61c>] (__led_pwm_set+0x1c/0x3c)
[<c034b61c>] (__led_pwm_set) from [<c034bc3c>] (led_heartbeat_function+0x70/0x110)
[<c034bc3c>] (led_heartbeat_function) from [<c00292f0>] (call_timer_fn+0x7c/0x164)
[<c00292f0>] (call_timer_fn) from [<c00295c8>] (run_timer_softirq+0x1f0/0x260)
[<c00295c8>] (run_timer_softirq) from [<c002255c>] (__do_softirq+0xc4/0x2f0)
[<c002255c>] (__do_softirq) from [<c0022890>] (irq_exit+0xa4/0x10c)
[<c0022890>] (irq_exit) from [<c0010240>] (handle_IRQ+0x34/0x84)
[<c0010240>] (handle_IRQ) from [<c0013524>] (__irq_svc+0x44/0x54)
[<c0013524>] (__irq_svc) from [<c00107f8>] (arch_cpu_idle+0x40/0x48)
[<c00107f8>] (arch_cpu_idle) from [<c005deb8>] (cpu_startup_entry+0x70/0x198)
[<c005deb8>] (cpu_startup_entry) from [<c060aac8>] (start_kernel+0x2a8/0x2f8)

Reported-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
2014-05-21 12:08:27 +02:00
..
core.c pwm: add period and polarity to struct pwm_lookup 2014-05-21 09:03:07 +02:00
Kconfig
Makefile
pwm-ab8500.c pwm: ab8500: Remove unnecessary OOM messages 2014-04-28 13:37:47 +02:00
pwm-atmel-tcb.c
pwm-atmel.c
pwm-bcm-kona.c
pwm-bfin.c
pwm-clps711x.c
pwm-ep93xx.c
pwm-fsl-ftm.c
pwm-imx.c pwm: i.MX: Remove unnecessary OOM messages 2014-04-28 13:37:47 +02:00
pwm-jz4740.c
pwm-lp3943.c
pwm-lpc32xx.c
pwm-lpss.c pwm: lpss: Fix const qualifier and sparse warnings 2014-05-07 10:27:57 +02:00
pwm-mxs.c pwm: mxs: set pwm_chip can_sleep flag 2014-05-21 12:08:27 +02:00
pwm-pca9685.c
pwm-puv3.c
pwm-pxa.c pwm: pxa: Remove unnecessary OOM messages 2014-04-28 13:37:48 +02:00
pwm-renesas-tpu.c pwm: renesas-tpu: remove unused struct tpu_pwm_platform_data 2014-05-21 11:19:29 +02:00
pwm-samsung.c
pwm-spear.c pwm: spear: fix check on pwmchip_add() return value 2014-05-07 10:21:05 +02:00
pwm-tegra.c pwm: tegra: Remove unnecessary OOM messages 2014-04-28 13:37:48 +02:00
pwm-tiecap.c pwm: pwm-tiecap: Remove unnecessary OOM messages 2014-04-28 13:37:48 +02:00
pwm-tiehrpwm.c pwm: tiehrpwm: inline accessor functions 2014-05-21 11:51:26 +02:00
pwm-tipwmss.c
pwm-tipwmss.h
pwm-twl-led.c
pwm-twl.c pwm: twl: Really disable twl6030 PWMs 2014-05-08 23:41:47 +02:00
pwm-vt8500.c pwm: vt8500: Remove unnecessary OOM messages 2014-04-28 13:37:48 +02:00
sysfs.c