aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/leds
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-06-11 17:06:55 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-06-11 17:06:55 -0400
commit7f33e7241d3dbad3c0563fd1fc79fc9380b5c351 (patch)
tree4f0f72e0954e9a5a60679780a4cdf0bf243d47e1 /drivers/leds
parent2dc24b0d0636349d403ae803bbad0c84f6c2ea57 (diff)
parent39fd3f99aba3f7683fc9b62e916e4c886a1cb6b0 (diff)
Merge tag 'pwm/for-3.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
Pull pwm changes from Thierry Reding: "The majority of these changes are cleanups and fixes across all drivers. Redundant error messages are removed and more PWM controllers set the .can_sleep flag to signal that they can't be used in atomic context. Support is added for the Broadcom Kona family of SoCs and the Intel LPSS driver can now probe PCI devices in addition to ACPI devices. Upon shutdown, the pwm-backlight driver will now power off the backlight. It also uses the new descriptor-based GPIO API for more concise GPIO handling. A large chunk of these changes also converts platforms to use the lookup mechanism rather than relying on the global number space to reference PWM devices. This is largely in preparation for more unification and cleanups in future patches. Eventually it will allow the legacy PWM API to be removed" * tag 'pwm/for-3.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: (38 commits) pwm: fsl-ftm: set pwm_chip can_sleep flag pwm: ab8500: Fix wrong value shift for disable/enable PWM pwm: samsung: do not set manual update bit in pwm_samsung_config pwm: lp3943: Set pwm_chip can_sleep flag pwm: atmel: set pwm_chip can_sleep flag pwm: mxs: set pwm_chip can_sleep flag pwm: tiehrpwm: inline accessor functions pwm: tiehrpwm: don't build PM related functions when not needed pwm-backlight: retrieve configured PWM period leds: leds-pwm: retrieve configured PWM period ARM: pxa: hx4700: use PWM_LOOKUP to initialize struct pwm_lookup ARM: shmobile: armadillo: use PWM_LOOKUP to initialize struct pwm_lookup ARM: OMAP3: Beagle: use PWM_LOOKUP to initialize struct pwm_lookup pwm: modify PWM_LOOKUP to initialize all struct pwm_lookup members ARM: pxa: hx4700: initialize all the struct pwm_lookup members ARM: OMAP3: Beagle: initialize all the struct pwm_lookup members pwm: renesas-tpu: remove unused struct tpu_pwm_platform_data ARM: shmobile: armadillo: initialize all struct pwm_lookup members pwm: add period and polarity to struct pwm_lookup pwm: twl: Really disable twl6030 PWMs ...
Diffstat (limited to 'drivers/leds')
-rw-r--r--drivers/leds/leds-pwm.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/leds/leds-pwm.c b/drivers/leds/leds-pwm.c
index 7d0aaed1e23a..aa770ec1e892 100644
--- a/drivers/leds/leds-pwm.c
+++ b/drivers/leds/leds-pwm.c
@@ -181,7 +181,6 @@ static int led_pwm_probe(struct platform_device *pdev)
181 led_dat->cdev.name = cur_led->name; 181 led_dat->cdev.name = cur_led->name;
182 led_dat->cdev.default_trigger = cur_led->default_trigger; 182 led_dat->cdev.default_trigger = cur_led->default_trigger;
183 led_dat->active_low = cur_led->active_low; 183 led_dat->active_low = cur_led->active_low;
184 led_dat->period = cur_led->pwm_period_ns;
185 led_dat->cdev.brightness_set = led_pwm_set; 184 led_dat->cdev.brightness_set = led_pwm_set;
186 led_dat->cdev.brightness = LED_OFF; 185 led_dat->cdev.brightness = LED_OFF;
187 led_dat->cdev.max_brightness = cur_led->max_brightness; 186 led_dat->cdev.max_brightness = cur_led->max_brightness;
@@ -191,6 +190,10 @@ static int led_pwm_probe(struct platform_device *pdev)
191 if (led_dat->can_sleep) 190 if (led_dat->can_sleep)
192 INIT_WORK(&led_dat->work, led_pwm_work); 191 INIT_WORK(&led_dat->work, led_pwm_work);
193 192
193 led_dat->period = pwm_get_period(led_dat->pwm);
194 if (!led_dat->period && (cur_led->pwm_period_ns > 0))
195 led_dat->period = cur_led->pwm_period_ns;
196
194 ret = led_classdev_register(&pdev->dev, &led_dat->cdev); 197 ret = led_classdev_register(&pdev->dev, &led_dat->cdev);
195 if (ret < 0) 198 if (ret < 0)
196 goto err; 199 goto err;