Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'pwm/for-3.17-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm

Pull pwm fix from Thierry Reding:
"Just one bugfix for the PWM lookup table code that would cause a PWM
channel to be set to the wrong period and polarity for non-perfect
matches"

* tag 'pwm/for-3.17-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm:
pwm: Fix period and polarity in pwm_get() for non-perfect matches

+6 -2
+6 -2
drivers/pwm/core.c
··· 606 606 unsigned int best = 0; 607 607 struct pwm_lookup *p; 608 608 unsigned int match; 609 + unsigned int period; 610 + enum pwm_polarity polarity; 609 611 610 612 /* look up via DT first */ 611 613 if (IS_ENABLED(CONFIG_OF) && dev && dev->of_node) ··· 655 653 if (match > best) { 656 654 chip = pwmchip_find_by_name(p->provider); 657 655 index = p->index; 656 + period = p->period; 657 + polarity = p->polarity; 658 658 659 659 if (match != 3) 660 660 best = match; ··· 672 668 if (IS_ERR(pwm)) 673 669 return pwm; 674 670 675 - pwm_set_period(pwm, p->period); 676 - pwm_set_polarity(pwm, p->polarity); 671 + pwm_set_period(pwm, period); 672 + pwm_set_polarity(pwm, polarity); 677 673 678 674 679 675 return pwm;