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-pxa.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-pxa.c')
-rw-r--r-- | drivers/pwm/pwm-pxa.c | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/drivers/pwm/pwm-pxa.c b/drivers/pwm/pwm-pxa.c index 20370e61de5a..dee6ab552a0a 100644 --- a/drivers/pwm/pwm-pxa.c +++ b/drivers/pwm/pwm-pxa.c @@ -23,14 +23,13 @@ #include <asm/div64.h> #define HAS_SECONDARY_PWM 0x10 -#define PWM_ID_BASE(d) ((d) & 0xf) static const struct platform_device_id pwm_id_table[] = { /* PWM has_secondary_pwm? */ { "pxa25x-pwm", 0 }, - { "pxa27x-pwm", 0 | HAS_SECONDARY_PWM }, - { "pxa168-pwm", 1 }, - { "pxa910-pwm", 1 }, + { "pxa27x-pwm", HAS_SECONDARY_PWM }, + { "pxa168-pwm", 0 }, + { "pxa910-pwm", 0 }, { }, }; MODULE_DEVICE_TABLE(platform, pwm_id_table); @@ -48,7 +47,6 @@ struct pxa_pwm_chip { struct device *dev; struct clk *clk; - int clk_enabled; void __iomem *mmio_base; }; @@ -108,24 +106,15 @@ static int pxa_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, static int pxa_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) { struct pxa_pwm_chip *pc = to_pxa_pwm_chip(chip); - int rc = 0; - if (!pc->clk_enabled) { - rc = clk_prepare_enable(pc->clk); - if (!rc) - pc->clk_enabled++; - } - return rc; + return clk_prepare_enable(pc->clk); } static void pxa_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) { struct pxa_pwm_chip *pc = to_pxa_pwm_chip(chip); - if (pc->clk_enabled) { - clk_disable_unprepare(pc->clk); - pc->clk_enabled--; - } + clk_disable_unprepare(pc->clk); } static struct pwm_ops pxa_pwm_ops = { @@ -152,8 +141,6 @@ static int pwm_probe(struct platform_device *pdev) if (IS_ERR(pwm->clk)) return PTR_ERR(pwm->clk); - pwm->clk_enabled = 0; - pwm->chip.dev = &pdev->dev; pwm->chip.ops = &pxa_pwm_ops; pwm->chip.base = -1; |