Sleeping for a certain amount of time requires use of different functions, depending on the time period. Documentation/timers/timers-howto.rst explains when to use which function, and also checkpatch checks for some potentially problematic cases. So let's create a helper that automatically chooses the appropriate sleep function -> fsleep(), for flexible sleeping Not sure why such a helper doesn't exist yet, or where the pitfall is, because it's a quite obvious idea. If the delay is a constant, then the compiler should be able to ensure that the new helper doesn't create overhead. If the delay is not constant, then the new helper can save some code. First user is the r8169 network driver. If nothing speaks against it, then this series could go through the netdev tree. Heiner Kallweit (2): timer: add fsleep for flexible sleeping r8169: use fsleep in polling functions Documentation/timers/timers-howto.rst | 3 + drivers/net/ethernet/realtek/r8169_main.c | 108 +++++++++------------- include/linux/delay.h | 11 +++ 3 files changed, 58 insertions(+), 64 deletions(-) -- 2.26.2