- 21 May, 2014 18 commits
-
-
Axel Lin authored
Current code only works when pdev->id is 1. Fix it by passing correct bit values to abx500_mask_and_set_register_interruptible(). Having DISABLE_PWM/ENABLE_PWM does not make the code more readable because the bit values depend on pdev->id. Thus drop the DISABLE_PWM and ENABLE_PWM defines. This patch also removes an unnecessary return in ab8500_pwm_disable(). Signed-off-by:
Axel Lin <axel.lin@ingics.com> Acked-by:
Linus Walleij <linus.walleij@linaro.org> Acked-by:
Alexandre BOURDIOL <alexandre.bourdiol@st.com> Acked-by:
Philippe Begnic <philippe.begnic@st.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Ajay Kumar authored
pwm_samsung_config() sets the manual update bit via a call to the pwm_samsung_enable() function even when the channel is already running. This causes noticable flicker on display if we try to change the backlight brightness from minimum to maximum, continuously. So, we remove the call to pwm_samsung_enable() from pwm_samsung_config to avoid the flicker and this change doesn't harm normal working since the pwm-backlight driver already calls pwm_samsung_enable() where needed. Signed-off-by:
Ajay Kumar <ajaykumar.rs@samsung.com> Reviewed-by:
Tomasz Figa <t.figa@samsung.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Axel Lin authored
Read/write through I2C can sleep, thus set pwm_chip can_sleep flag. Signed-off-by:
Axel Lin <axel.lin@ingics.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Alexandre Belloni authored
atmel_pwm_config() calls clk_get_rate() which might sleep, so we need to set pwm_chip can_sleep flag. Signed-off-by:
Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by:
Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Shawn Guo authored
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>
-
Wolfram Sang authored
These elementary functions should be inlined for fastest access. Also fixes this warning as a side-effect (when no PM_SLEEP is selected): drivers/pwm/pwm-tiehrpwm.c:141:12: warning: 'ehrpwm_read' defined but not used [-Wunused-function] Signed-off-by:
Wolfram Sang <wsa@sang-engineering.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Wolfram Sang authored
Fixes following warnings on AM335X with no PM_SLEEP drivers/pwm/pwm-tiehrpwm.c:534:13: warning: 'ehrpwm_pwm_save_context' defined but not used [-Wunused-function] drivers/pwm/pwm-tiehrpwm.c:548:13: warning: 'ehrpwm_pwm_restore_context' defined but not used [-Wunused-function] Signed-off-by:
Wolfram Sang <wsa@sang-engineering.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Alexandre Belloni authored
The PWM core is now able to initialize the PWM period from a lookup table defined by board files. Use it if available and fallback to the value supplied in pwm_period_ns. Signed-off-by:
Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Alexandre Belloni authored
The PWM core is now able to initialize the PWM period from a lookup table defined by board files. Use it if available and fallback to the value supplied in pwm_period_ns. Signed-off-by:
Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Alexandre Belloni authored
Use the new variant of the PWM_LOOKUP macro to initialize the PWM lookup table. Signed-off-by:
Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by:
Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Alexandre Belloni authored
Use the new variant of the PWM_LOOKUP macro to initialize the PWM lookup table. Signed-off-by:
Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by:
Simon Horman <horms+renesas@verge.net.au> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Alexandre Belloni authored
Use the new variant of the PWM_LOOKUP macro to initialize the PWM lookup table. Signed-off-by:
Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by:
Tony Lindgren <tony@atomide.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Alexandre Belloni authored
Now that PWM_LOOKUP is not used anymore, modify it to initialize all the members of struct pwm_lookup. Signed-off-by:
Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Alexandre Belloni authored
Instead of relying on the .pwm_period_ns member of the pwm-backlight driver's platform data, the PWM period can be retrieved from the PWM lookup table. Signed-off-by:
Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by:
Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Alexandre Belloni authored
The PWM core can retrieve the period from the PWM lookup table, so the struct led_pwm.pwm_period_ns member can be removed. Signed-off-by:
Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by:
Tony Lindgren <tony@atomide.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Alexandre Belloni authored
The struct is not used anymore and the polarity initialization will be done using the PWM lookup table (or device tree). Signed-off-by:
Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by:
Simon Horman <horms+renesas@verge.net.au> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Alexandre Belloni authored
Initializing all the struct pwm_lookup members allows to get rid of the struct tpu_pwm_platform_data as the polarity initialization will be taken care of by the PWM core. Signed-off-by:
Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by:
Simon Horman <horms+renesas@verge.net.au> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Alexandre Belloni authored
Add period and polarity members to struct pwm_lookup so that platforms using the lookup table can be treated the same way as those using the device tree. Signed-off-by:
Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
- 08 May, 2014 1 commit
-
-
Axel Lin authored
Current twl6030_pwm_disable() implementation writes TWL6030_TOGGLE3_REG twice, the second write sets TWL6030_PWMXEN bits so the PWM clock does not disable. Signed-off-by:
Axel Lin <axel.lin@ingics.com> Acked-by:
Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
- 07 May, 2014 4 commits
-
-
Thierry Reding authored
Fixes the following warnings reported by the 0-DAY kernel build testing backend: drivers/pwm/pwm-lpss.c: In function 'pwm_lpss_probe_pci': >> drivers/pwm/pwm-lpss.c:192:2: warning: passing argument 3 of 'pwm_lpss_probe' discards 'const' qualifier from pointer target type [enabled by default] lpwm = pwm_lpss_probe(&pdev->dev, &pdev->resource[0], info); ^ drivers/pwm/pwm-lpss.c:130:30: note: expected 'struct pwm_lpss_boardinfo *' but argument is of type 'const struct pwm_lpss_boardinfo *' static struct pwm_lpss_chip *pwm_lpss_probe(struct device *dev, ^ >> drivers/pwm/pwm-lpss.c:143:28: sparse: incorrect type in return expression (different address spaces) drivers/pwm/pwm-lpss.c:143:28: expected struct pwm_lpss_chip * drivers/pwm/pwm-lpss.c:143:28: got void [noderef] <asn:2>*regs >> drivers/pwm/pwm-lpss.c:192:63: sparse: incorrect type in argument 3 (different modifiers) drivers/pwm/pwm-lpss.c:192:63: expected struct pwm_lpss_boardinfo *info drivers/pwm/pwm-lpss.c:192:63: got struct pwm_lpss_boardinfo const *[assigned] info drivers/pwm/pwm-lpss.c: In function 'pwm_lpss_probe_pci': drivers/pwm/pwm-lpss.c:192:2: warning: passing argument 3 of 'pwm_lpss_probe' discards 'const' qualifier from pointer target type [enabled by default] lpwm = pwm_lpss_probe(&pdev->dev, &pdev->resource[0], info); ^ drivers/pwm/pwm-lpss.c:130:30: note: expected 'struct pwm_lpss_boardinfo *' but argument is of type 'const struct pwm_lpss_boardinfo *' static struct pwm_lpss_chip *pwm_lpss_probe(struct device *dev, ^ Reported-by:
kbuild test robot <fengguang.wu@intel.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Beniamino Galvani authored
pwmchip_add() returns zero on success and a negative value on error, so the condition of the check must be inverted. Signed-off-by:
Beniamino Galvani <b.galvani@gmail.com> Acked-by:
Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Alexandre Courbot authored
Switch to the new gpiod interface, which allows to handle GPIO properties such as active low transparently and removes a whole bunch of code. There are still a couple of users of this driver that rely on passing the enable GPIO number through platform data, so a fallback mechanism using a GPIO number is still available to avoid breaking them. It will be removed once current users have switched to the GPIO lookup tables provided by the gpiod interface. Signed-off-by:
Alexandre Courbot <acourbot@nvidia.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Alexandre Courbot authored
The pwm-backlight driver is moving to use the gpiod interface, which has its own mapping mechanism for platform data GPIOs. These mappings carry GPIO properties like active low so they don't have to be explicitly handled by GPIO consumers. Because of this change, the enable_gpio_flags member of platform_pwm_backlight_data is going away. dev-backlight was passing this member, but had no user making use of it, so it can safely be removed. Further GPIOs used by pwm-backlight are expected to be defined using the mechanisms provided by the gpiod API. Signed-off-by:
Alexandre Courbot <acourbot@nvidia.com> Reviewed-by:
Jingoo Han <jg1.han@samsung.com> Acked-by:
Kukjin Kim <kgene.kim@samsung.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
- 02 May, 2014 1 commit
-
-
Thierry Reding authored
When a device is shut down, make sure to disable the backlight. If it stays lit, it gives the impression that the device hasn't turned off. Furthermore keeping the backlight on may consume power, which is not what users expect when they shut down a device. Tested-by:
Stephen Warren <swarren@nvidia.com> Signed-off-by:
Thierry Reding <treding@nvidia.com>
-
- 28 Apr, 2014 13 commits
-
-
Alan Cox authored
Not all systems enumerate the PWM devices via ACPI. They can also be exposed via the PCI interface. Signed-off-by:
Alan Cox <alan@linux.intel.com> Signed-off-by:
Chew, Chiau Ee <chiau.ee.chew@intel.com> Reviewed-by:
Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Jingoo Han authored
The site-specific OOM messages are unnecessary, because they duplicate the MM subsystem generic OOM message. Signed-off-by:
Jingoo Han <jg1.han@samsung.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Jingoo Han authored
The site-specific OOM messages are unnecessary, because they duplicate the MM subsystem generic OOM message. Signed-off-by:
Jingoo Han <jg1.han@samsung.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Jingoo Han authored
The site-specific OOM messages are unnecessary, because they duplicate the MM subsystem generic OOM message. Signed-off-by:
Jingoo Han <jg1.han@samsung.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Jingoo Han authored
The site-specific OOM messages are unnecessary, because they duplicate the MM subsystem generic OOM message. Signed-off-by:
Jingoo Han <jg1.han@samsung.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Jingoo Han authored
The site-specific OOM messages are unnecessary, because they duplicate the MM subsystem generic OOM message. Signed-off-by:
Jingoo Han <jg1.han@samsung.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Jingoo Han authored
The site-specific OOM messages are unnecessary, because they duplicate the MM subsystem generic OOM message. Signed-off-by:
Jingoo Han <jg1.han@samsung.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Jingoo Han authored
The site-specific OOM messages are unnecessary, because they duplicate the MM subsystem generic OOM message. Signed-off-by:
Jingoo Han <jg1.han@samsung.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Jingoo Han authored
The site-specific OOM messages are unnecessary, because they duplicate the MM subsystem generic OOM message. Signed-off-by:
Jingoo Han <jg1.han@samsung.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Jingoo Han authored
The site-specific OOM messages are unnecessary, because they duplicate the MM subsystem generic OOM message. Signed-off-by:
Jingoo Han <jg1.han@samsung.com> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Tim Kryger authored
Add support for the six-channel Kona PWM controller found on Broadcom mobile SoCs like bcm281xx. Signed-off-by:
Tim Kryger <tim.kryger@linaro.org> Reviewed-by:
Alex Elder <elder@linaro.org> Reviewed-by:
Markus Mayer <markus.mayer@linaro.org> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Tim Kryger authored
Add the binding description for the Kona PWM controller found on Broadcom's mobile SoCs. Signed-off-by:
Tim Kryger <tim.kryger@linaro.org> Reviewed-by:
Alex Elder <elder@linaro.org> Reviewed-by:
Markus Mayer <markus.mayer@linaro.org> Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
Thierry Reding authored
The PWM subsystem defines normal and inversed PWM signal polarity in an unambiguous way. In addition to the documentation in the linux/pwm.h header file, add a paragraph in Documentation/pwm.txt because people are likely to look there for guidance. Signed-off-by:
Thierry Reding <thierry.reding@gmail.com>
-
- 13 Apr, 2014 3 commits
-
-
Linus Torvalds authored
-
Geert Uytterhoeven authored
Some versions of gcc even warn about it: mm/shmem.c: In function ‘shmem_file_aio_read’: mm/shmem.c:1414: warning: ‘error’ may be used uninitialized in this function If the loop is aborted during the first iteration by one of the two first break statements, error will be uninitialized. Introduced by commit 6e58e79d ("introduce copy_page_to_iter, kill loop over iovec in generic_file_aio_read()"). Signed-off-by:
Geert Uytterhoeven <geert@linux-m68k.org> Acked-by:
Al Viro <viro@zeniv.linux.org.uk> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Geert Uytterhoeven authored
On 32 bit, size_t is "unsigned int", not "unsigned long", causing the following warning when comparing with PAGE_SIZE, which is always "unsigned long": fs/cifs/file.c: In function ‘cifs_readdata_to_iov’: fs/cifs/file.c:2757: warning: comparison of distinct pointer types lacks a cast Introduced by commit 7f25bba8 ("cifs_iovec_read: keep iov_iter between the calls of cifs_readdata_to_iov()"), which changed the signedness of "remaining" and the code from min_t() to min(). Signed-off-by:
Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-