Files
linux/include/linux
Boris Brezillon 5ec803edcb pwm: Add core infrastructure to allow atomic updates
Add an ->apply() method to the pwm_ops struct to allow PWM drivers to
implement atomic updates. This method is preferred over the ->enable(),
->disable() and ->config() methods if available.

Add the pwm_apply_state() function to the PWM user API.

Note that the pwm_apply_state() does not guarantee the atomicity of the
update operation, it all depends on the availability and implementation
of the ->apply() method.

pwm_enable/disable/set_polarity/config() are now implemented as wrappers
around the pwm_apply_state() function.

pwm_adjust_config() is allowing smooth handover between the bootloader
and the kernel. This function tries to adapt the current PWM state to
the PWM arguments coming from a PWM lookup table or a DT definition
without changing the duty_cycle/period proportion.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
[thierry.reding@gmail.com: fix a couple of typos]
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
2016-05-17 14:48:03 +02:00
..
2016-03-25 18:51:55 +01:00
2015-10-17 21:22:08 -07:00
2016-03-04 23:50:27 -06:00
2015-12-23 08:37:10 -07:00
2016-02-11 10:07:18 -05:00
2016-03-15 16:55:16 -07:00
2015-12-22 09:38:34 -07:00
2016-03-20 09:34:02 -06:00
2015-12-06 12:46:31 +01:00
2016-03-08 15:28:31 -05:00
2016-03-11 21:19:16 +08:00
2016-02-16 13:04:58 -05:00
2016-02-26 13:28:35 +02:00
2015-12-28 13:41:50 +01:00
2016-01-15 17:56:32 -08:00
2015-11-25 09:22:00 -07:00
2016-03-11 14:58:58 -05:00
2015-10-23 05:44:28 -07:00
2016-02-11 09:59:22 -05:00
2016-03-22 15:36:02 -07:00
2015-12-14 10:03:46 +01:00
2016-01-28 14:19:12 -08:00
2016-03-25 16:37:42 -07:00
2016-03-22 15:36:02 -07:00
2016-02-16 13:04:58 -05:00
2016-03-22 15:36:02 -07:00
2016-01-15 17:56:32 -08:00
2016-03-09 15:43:42 -08:00
2016-01-15 17:56:32 -08:00
2015-10-27 18:55:31 -07:00
2016-03-25 16:37:42 -07:00
2015-10-20 22:10:45 +08:00
2016-03-05 12:24:06 -08:00
2016-03-09 16:36:13 -05:00
2016-03-17 14:57:16 -04:00
2016-02-08 15:20:01 -05:00
2016-02-16 13:04:58 -05:00
2016-02-11 18:35:48 -08:00
2016-02-11 18:35:48 -08:00
2016-03-14 15:43:11 -04:00
2016-02-10 01:11:54 +01:00
2016-03-09 15:15:32 -08:00
2016-02-16 13:04:58 -05:00
2015-10-22 08:59:18 -07:00
2016-03-17 15:09:34 -07:00
2016-03-09 16:36:13 -05:00
2015-11-16 09:23:47 +01:00
2016-03-22 15:36:02 -07:00
2016-03-22 15:36:02 -07:00
2016-03-22 15:36:02 -07:00
2016-01-10 22:13:15 -05:00
2016-01-04 16:11:11 -05:00
2016-03-25 16:37:42 -07:00
2016-03-25 16:37:42 -07:00
2016-03-25 16:37:42 -07:00
2016-03-17 15:09:34 -07:00
2016-03-18 14:10:57 +08:00
2015-10-19 01:01:21 +02:00
2016-01-28 14:13:44 -08:00
2015-11-23 09:44:58 +01:00
2016-02-22 16:10:08 -07:00
2016-01-14 16:00:49 -08:00
2015-12-03 07:24:29 -08:00