leds: bcm6328: improve blink support
authorÁlvaro Fernández Rojas <noltari@gmail.com>
Wed, 16 Dec 2015 20:13:48 +0000 (21:13 +0100)
committerJacek Anaszewski <j.anaszewski@samsung.com>
Mon, 4 Jan 2016 08:57:40 +0000 (09:57 +0100)
commit1b85a5a5ef34a64c5c5edece1704bde62208f002
treeda22793cc5dd1124f737d07896b4b14f57cdb142
parent6e636a0a28ffb0a504ccda5146411b219a74cc7f
leds: bcm6328: improve blink support

BCM6328 controller has a margin of 20ms per blink step, which means that
we can only set it to 20, 40, 60 ... 1260 ms (0x3f * 20ms).
However, when checking if delay_on == delay_off, we were not considering
the case when the user had set delay_on=20 and delay_off=21, since this
will cause the driver to fallback to software blinking.
This update fixes this issue and improves blink steps by rounding them
in a more sensible way. Now 30-49ms is rounded to 40 ms, and previous
behaviour implied 40-59ms being rounded to 40 ms.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
drivers/leds/leds-bcm6328.c