19 Apr, 2014

1 commit

  • shiraz.hashim@st.com email-id doesn't exist anymore as he has left the
    company. Replace ST's id with shiraz.linux.kernel@gmail.com.

    It also updates .mailmap file to fix address for 'git shortlog'.

    Signed-off-by: Viresh Kumar
    Cc: Shiraz Hashim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Viresh Kumar
     

06 Apr, 2014

1 commit

  • …ierry.reding/linux-pwm

    Pull pwm changes from Thierry Reding:
    "The legacy HAVE_PWM Kconfig symbol is finally being retired. Thanks a
    lot to Sascha Hauer for doing that.

    Three new drivers are added: Freescale FTM, Cirrus Logic CLPS711X and
    Intel Low Power Subsystem.

    An assortment of fixes and cleanups rounds things off for this release
    cycle"

    * tag 'pwm/for-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm:
    pwm: pxa: Constify OF match table
    pwm: pxa: Fix typo "pwm" -> "PWM"
    Revert "pwm: pxa: Use of_match_ptr()"
    pwm: add support for Intel Low Power Subsystem PWM
    pwm: Add CLPS711X PWM support
    pwm: atmel: correct CDTY calculation
    pwm: atmel: Fix polarity handling
    Documentation: Add device tree bindings for Freescale FTM PWM.
    pwm: Add Freescale FTM PWM driver support
    pwm: pxa: Use of_match_ptr()
    pwm: samsung: Use SIMPLE_DEV_PM_OPS macro
    pwm: renesas-tpu: Add dependency on HAS_IOMEM
    pwm: Remove obsolete HAVE_PWM Kconfig symbol

    Linus Torvalds
     

01 Apr, 2014

4 commits


19 Mar, 2014

4 commits

  • Add a new driver for the ARM CLPS711X Pulse Width Modulator (PWM) interface.
    This CPU contain two 4-bit PWM outputs with constant period, based on CPU
    PLL frequency. PWM polarity is determined by hardware by power on reset.

    Signed-off-by: Alexander Shiyan
    Signed-off-by: Thierry Reding

    Alexander Shiyan
     
  • From the datasheet, the actual duty cycle is:

    (period - (1 / clk) * CDTY) / period

    This actually correct the polarity of the PWM and solves the issue that
    pwm-leds exhibits: when setting a duty cycle of 0 and then disabling a
    channel, the level was wrong (1 when the polarity was normal and 0 when
    the polarity was inversed).

    Signed-off-by: Alexandre Belloni
    Acked-by: Nicolas Ferre
    Signed-off-by: Thierry Reding

    Alexandre Belloni
     
  • When atmel_pwm_config() calculates and then sets the prescaler, it is
    overwriting the channel's CMR register so we are losing the CPOL
    configuration.

    As atmel_pwm_config() is always called before enabling a channel,
    inverting the polarity doesn't work.

    Fix that by reading CMR first and only overwriting the prescaler bits.

    Signed-off-by: Alexandre Belloni
    Acked-by: Nicolas Ferre
    Signed-off-by: Thierry Reding

    Alexandre Belloni
     
  • The FTM PWM device can be found on Vybrid VF610 Tower and
    Layerscape LS-1 SoCs.

    Signed-off-by: Xiubo Li
    Signed-off-by: Alison Wang
    Signed-off-by: Jingchang Lu
    Reviewed-by: Sascha Hauer
    Reviewed-by: Yuan Yao
    Signed-off-by: Thierry Reding

    Xiubo Li
     

26 Feb, 2014

4 commits


28 Jan, 2014

1 commit

  • …ierry.reding/linux-pwm

    Pull pwm changes from Thierry Reding:
    "The patches for this release cycle include various enhancements
    (device tree support, better compile coverage, ...) for existing
    drivers. There is a new driver for Atmel SoCs.

    Various drivers as well as the sysfs support received minor fixes and
    cleanups"

    * tag 'pwm/for-3.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm:
    pwm: tiecap: Remove duplicate put_sync call
    pwm: tiehrpwm: use dev_err() instead of pr_err()
    pwm: pxa: remove unnecessary space before tabs
    pwm: ep93xx: split module author names
    pwm: use seq_puts() instead of seq_printf()
    pwm: atmel-pwm: Do not unprepare clock after successful registration
    of: Add Atmel PWM controller device tree binding
    pwm: atmel-pwm: Add Atmel PWM controller driver
    backlight: pwm_bl: Remove error message upon devm_kzalloc() failure
    pwm: pca9685: depends on I2C rather than REGMAP_I2C
    pwm: renesas-tpu: Enable driver compilation with COMPILE_TEST
    pwm: jz4740: Use devm_clk_get()
    pwm: jz4740: Pass device to clk_get()
    pwm: sysfs: Convert to use ATTRIBUTE_GROUPS macro
    pwm: pxa: Add device tree support

    Linus Torvalds
     

23 Jan, 2014

1 commit


21 Jan, 2014

1 commit

  • This is the other of the LP3943 MFD driver.
    LP3943 can be used as a PWM generator, up to 2 channels.

    * Two PWM generators supported

    * Supported PWM operations
    request, free, config, enable and disable

    * Pin assignment
    A driver data, 'pin_used' is checked when a PWM is requested.
    If the output pin is already assigned, then returns as failure.
    If the pin is available, 'pin_used' is set.
    When the PWM is not used anymore, then it is cleared.
    It is defined as unsigned long type for atomic bit operation APIs,
    but only LSB 16bits are used because LP3943 has 16 outputs.

    Signed-off-by: Milo Kim
    Acked-by: Thierry Reding
    Signed-off-by: Lee Jones

    Milo Kim
     

20 Dec, 2013

5 commits


17 Dec, 2013

2 commits


12 Dec, 2013

3 commits


04 Dec, 2013

2 commits

  • Use new ATTRIBUTE_GROUPS macro to reduce the number of lines of code.

    Signed-off-by: Axel Lin
    Signed-off-by: Thierry Reding

    Axel Lin
     
  • This patch adds device tree support to the PXA's PWM driver. Nothing
    needs to be extracted from the device tree node by the PWM device.
    Client devices need only specify the period; the per-chip index is
    implicitly zero because one device node must be present for each PWM
    output in use. This approach is more convenient due to the wide
    variability in the number of PWM channels present across the various PXA
    variants, and is made possible by the fact that the register sets for
    each PWM channel are segregated from each other. An of_xlate() method
    is added to parse this single-cell node. The existing ID table is
    reused for the match table data.

    Tested on a Palm Treo 680 (both platform data and DT cases).

    Signed-off-by: Mike Dunn
    Signed-off-by: Thierry Reding

    Mike Dunn
     

01 Nov, 2013

1 commit

  • PWM channel data was set to NULL before freeing it. This caused the
    following kernel warning while unexporting the channel. Set the channel
    data to NULL after freeing it.

    [ 70.495000] WARNING: CPU: 0 PID: 1 at drivers/base/devres.c:805 pwm_put+0x48/0x80()
    [ 70.505000] Modules linked in:
    [ 70.505000] CPU: 0 PID: 1 Comm: sh Not tainted 3.12.0-rc6-next-20131024-00012-gd4aec04-dirty #58
    [ 70.515000] [] (unwind_backtrace+0x0/0xf4) from [] (show_stack+0x10/0x14)
    [ 70.525000] [] (show_stack+0x10/0x14) from [] (dump_stack+0x7c/0xb0)
    [ 70.530000] [] (dump_stack+0x7c/0xb0) from [] (warn_slowpath_common+0x6c/0x88)
    [ 70.540000] [] (warn_slowpath_common+0x6c/0x88) from [] (warn_slowpath_null+0x1c/0x24)
    [ 70.550000] [] (warn_slowpath_null+0x1c/0x24) from [] (pwm_put+0x48/0x80)
    [ 70.560000] [] (pwm_put+0x48/0x80) from [] (pwm_unexport_store+0x94/0xac)
    [ 70.565000] [] (pwm_unexport_store+0x94/0xac) from [] (sysfs_write_file+0x148/0x1d8)
    [ 70.575000] [] (sysfs_write_file+0x148/0x1d8) from [] (vfs_write+0xb4/0x1a0)
    [ 70.585000] [] (vfs_write+0xb4/0x1a0) from [] (SyS_write+0x3c/0x78)
    [ 70.595000] [] (SyS_write+0x3c/0x78) from [] (ret_fast_syscall+0x0/0x30)

    Signed-off-by: Sachin Kamat
    Reviewed-by: Jingoo Han
    Signed-off-by: Thierry Reding

    Sachin Kamat
     

17 Oct, 2013

1 commit

  • Remove the non-standard EP93xx PWM driver in drivers/misc and add
    a new driver for the PWM controllers on the EP93xx platform based
    on the PWM framework.

    These PWM controllers each support 1 PWM channel with programmable
    duty cycle, frequency, and polarity inversion.

    Signed-off-by: H Hartley Sweeten
    Cc: Ryan Mallon
    Acked-by: Arnd Bergmann
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Thierry Reding

    H Hartley Sweeten
     

15 Oct, 2013

1 commit


08 Oct, 2013

7 commits


19 Sep, 2013

1 commit