diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-06 15:32:36 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-06 15:32:36 -0700 |
commit | f87bb9ee62700fa11713c630ac5671f253233b94 (patch) | |
tree | 400e51578b6f2302d3a48d3b4a02208adc66aacf /drivers/pwm/pwm-ab8500.c | |
parent | 99737982ca39065a58021bdc31486ea783f952d3 (diff) | |
parent | affb923df96d6c927f9a3dfb0e6f4be940b185cd (diff) |
Merge tag 'for-3.10-rc1' of git://gitorious.org/linux-pwm/linux-pwm
Pull pwm changes from Thierry Reding:
"Nothing very exciting this time around. A couple of bug fixes and a
lot of cleanup across the board. The DaVinci 8xx family of SoCs now
use the same driver as the AM33xx family.
Many thanks to Axel Lin and Jingoo Han who have done a great job
fixing various bugs and inconsistencies."
* tag 'for-3.10-rc1' of git://gitorious.org/linux-pwm/linux-pwm: (27 commits)
pwm: lpc32xx: Don't change PWM_ENABLE bit in lpc32xx_pwm_config
pwm: lpc32xx: Properly set PWM_ENABLE bit in lpc32xx_pwm_[enable|disable]
pwm: Constify OF match tables
pwm: pwm-tiehrpwm: Update device-tree binding document
pwm: pwm-tiecap: Update device-tree binding document
pwm: puv3: Remove unused enabled filed from struct puv3_pwm_chip
pwm: pxa: Remove PWM_ID_BASE macro
pwm: spear: Remove unused *dev from struct spear_pwm_chip
pwm: mxs: Remove unused *dev from struct mxs_pwm_chip
pwm: twl: Return proper error if twl6030_pwm_enable() fails
pwm: pxa: Remove clk_enabled field from struct pxa_pwm_chip
pwm: imx: Remove enabled field from struct imx_chip
pwm: twl: Add .owner to struct pwm_ops
pwm: twl-led: Add .owner to struct pwm_ops
pwm: atmel-tcb: Add .owner to struct pwm_ops
pwm: ab8500: Add .owner to struct pwm_ops
pwm: spear: Fix checking return value of clk_enable() and clk_prepare()
pwm: tiehrpwm: Staticize non-exported symbols
pwm: tiecap: Staticize non-exported symbols
pwm: ab8500: Fix trivial typo in dev_err message
...
Diffstat (limited to 'drivers/pwm/pwm-ab8500.c')
-rw-r--r-- | drivers/pwm/pwm-ab8500.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/pwm/pwm-ab8500.c b/drivers/pwm/pwm-ab8500.c index 4248d041827..1d07a6f9937 100644 --- a/drivers/pwm/pwm-ab8500.c +++ b/drivers/pwm/pwm-ab8500.c @@ -66,7 +66,7 @@ static int ab8500_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) AB8500_MISC, AB8500_PWM_OUT_CTRL7_REG, 1 << (chip->base - 1), ENABLE_PWM); if (ret < 0) - dev_err(chip->dev, "%s: Failed to disable PWM, Error %d\n", + dev_err(chip->dev, "%s: Failed to enable PWM, Error %d\n", pwm->label, ret); return ret; } @@ -88,6 +88,7 @@ static const struct pwm_ops ab8500_pwm_ops = { .config = ab8500_pwm_config, .enable = ab8500_pwm_enable, .disable = ab8500_pwm_disable, + .owner = THIS_MODULE, }; static int ab8500_pwm_probe(struct platform_device *pdev) @@ -99,7 +100,7 @@ static int ab8500_pwm_probe(struct platform_device *pdev) * Nothing to be done in probe, this is required to get the * device which is required for ab8500 read and write */ - ab8500 = kzalloc(sizeof(*ab8500), GFP_KERNEL); + ab8500 = devm_kzalloc(&pdev->dev, sizeof(*ab8500), GFP_KERNEL); if (ab8500 == NULL) { dev_err(&pdev->dev, "failed to allocate memory\n"); return -ENOMEM; @@ -111,10 +112,8 @@ static int ab8500_pwm_probe(struct platform_device *pdev) ab8500->chip.npwm = 1; err = pwmchip_add(&ab8500->chip); - if (err < 0) { - kfree(ab8500); + if (err < 0) return err; - } dev_dbg(&pdev->dev, "pwm probe successful\n"); platform_set_drvdata(pdev, ab8500); @@ -132,7 +131,6 @@ static int ab8500_pwm_remove(struct platform_device *pdev) return err; dev_dbg(&pdev->dev, "pwm driver removed\n"); - kfree(ab8500); return 0; } |