One user of this ACPM driver is a PMIC driver that needs to communicate with the PMIC during late system shutdown [1] and at that time we are not allowed to sleep anymore. This series address this by switching the code to using udelay() in the specific case of system shutdown. This approach was inspired by I2C's i2c_in_atomic_xfer_mode(), which has to deal with a similar corner case. Link: https://lore.kernel.org/all/20250323-s2mpg10-v1-29-d08943702707@xxxxxxxxxx/ [1] Signed-off-by: André Draszik <andre.draszik@xxxxxxxxxx> --- Changes in v3: - switch to unconditional udelay() (Krzysztof) - Link to v2: https://lore.kernel.org/r/20250324-acpm-atomic-v2-0-7d87746e1765@xxxxxxxxxx Changes in v2: - add missing ktime.h include - switch to ktime_before() instead of !ktime_after() - add link to user requiring this change to cover letter - collect Tudor's Rb - Link to v1: https://lore.kernel.org/r/20250321-acpm-atomic-v1-0-fb887bde7e61@xxxxxxxxxx --- André Draszik (2): firmware: exynos-acpm: use ktime APIs for timeout detection firmware: exynos-acpm: allow use during system shutdown drivers/firmware/samsung/exynos-acpm.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) --- base-commit: 9388ec571cb1adba59d1cded2300eeb11827679c change-id: 20250321-acpm-atomic-033775b051ef Best regards, -- André Draszik <andre.draszik@xxxxxxxxxx>