aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pwm/core.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-02-26 12:34:29 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2013-02-26 12:34:29 -0500
commit3eb05225ee8efb81fe50558f5f9d94e7477ade8f (patch)
tree40692236718c808455f1fcdfbc1c6de6a274eb36 /drivers/pwm/core.c
parented5dc2372dba46e0ecd08791b1a0399d313e5cff (diff)
parent30f786170352b8264bc7b61c2482713e54accec8 (diff)
Merge tag 'for-3.9-rc1' of git://gitorious.org/linux-pwm/linux-pwm
Pull PWM changes from Thierry Reding: "A new driver has been added to support the PWM mode of the timer counter blocks found on Atmel AT91 SoCs. The VT8500 driver now supports changing the PWM signal polarity and the TI drivers (EHRPWM and ECAP) gained suspend and resume functionality. User drivers can now query the core for whether access to a PWM device will sleep (if the PWM chip is on a slow bus such as I2C or SPI). The pwm-backlight driver now handles the backlight BL_CORE_FBBLANK state in addition to the FB layer's blanking states. To round things off, a few fixes and cleanups are also included" * tag 'for-3.9-rc1' of git://gitorious.org/linux-pwm/linux-pwm: pwm: twl: Use to_twl() instead of container_of() pwm: tegra: assume CONFIG_OF pwm_backlight: Validate dft_brightness in main probe function pwm: Export pwm_{set,get}_chip_data() pwm: Make Kconfig entries more consistent pwm: Add can_sleep property to drivers pwm: Add pwm_can_sleep() as exported API to users pwm-backlight: handle BL_CORE_FBBLANK state pwm: pwm-tiecap: Low power sleep support pwm: pwm-tiehrpwm: Low power sleep support pwm: pwm-tiehrpwm: Update the clock handling of pwm-tiehrpwm driver pwm: vt8500: Add polarity support pwm: vt8500: Register write busy test performed incorrectly pwm: atmel: add Timer Counter Block PWM driver
Diffstat (limited to 'drivers/pwm/core.c')
-rw-r--r--drivers/pwm/core.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c
index 4a13da48fefe..32221cb0cbe7 100644
--- a/drivers/pwm/core.c
+++ b/drivers/pwm/core.c
@@ -211,6 +211,7 @@ int pwm_set_chip_data(struct pwm_device *pwm, void *data)
211 211
212 return 0; 212 return 0;
213} 213}
214EXPORT_SYMBOL_GPL(pwm_set_chip_data);
214 215
215/** 216/**
216 * pwm_get_chip_data() - get private chip data for a PWM 217 * pwm_get_chip_data() - get private chip data for a PWM
@@ -220,6 +221,7 @@ void *pwm_get_chip_data(struct pwm_device *pwm)
220{ 221{
221 return pwm ? pwm->chip_data : NULL; 222 return pwm ? pwm->chip_data : NULL;
222} 223}
224EXPORT_SYMBOL_GPL(pwm_get_chip_data);
223 225
224/** 226/**
225 * pwmchip_add() - register a new PWM chip 227 * pwmchip_add() - register a new PWM chip
@@ -763,6 +765,18 @@ void devm_pwm_put(struct device *dev, struct pwm_device *pwm)
763} 765}
764EXPORT_SYMBOL_GPL(devm_pwm_put); 766EXPORT_SYMBOL_GPL(devm_pwm_put);
765 767
768/**
769 * pwm_can_sleep() - report whether PWM access will sleep
770 * @pwm: PWM device
771 *
772 * It returns true if accessing the PWM can sleep, false otherwise.
773 */
774bool pwm_can_sleep(struct pwm_device *pwm)
775{
776 return pwm->chip->can_sleep;
777}
778EXPORT_SYMBOL_GPL(pwm_can_sleep);
779
766#ifdef CONFIG_DEBUG_FS 780#ifdef CONFIG_DEBUG_FS
767static void pwm_dbg_show(struct pwm_chip *chip, struct seq_file *s) 781static void pwm_dbg_show(struct pwm_chip *chip, struct seq_file *s)
768{ 782{