The pwm-ir-tx driver has to turn the pwm signal on and off, and suffers from delays as this is done in process context. Make this work in atomic context. changes: v2: - Simplified the pwm ir tx based on Ivaylo Dimitrov suggestions - Renamed pwm_can_sleep() to pwm_is_atomic - Fix sleeping issue in pwm-bcm2835 (clk_get_rate() can sleep) - use non_block_start() in pwm to check atomic-ness Sean Young (3): pwm: make it possible to apply pwm changes in atomic context pwm: bcm2835: allow pwm driver to be used in atomic context media: pwm-ir-tx: trigger edges from hrtimer interrupt context drivers/media/rc/pwm-ir-tx.c | 79 +++++++++++++++++++++++++++++++++-- drivers/pwm/core.c | 62 ++++++++++++++++++++++----- drivers/pwm/pwm-bcm2835.c | 21 ++++++---- drivers/pwm/pwm-renesas-tpu.c | 1 - include/linux/pwm.h | 29 ++++++++++++- 5 files changed, 166 insertions(+), 26 deletions(-) -- 2.42.0