Release v2.4.0

Lino Sanfilippo (46):
      Remove wrapper function revpi_pbm_cont_mio()
      Move module configuration into own function
      Do not set flag in every cycle
      Fix flaw in parser function
      On flash erase failure skip the warning concerning attempts
      compact: fix missing lock initialization
      Reduce number of attempts to erase the flash
      Fix start of cycle measurement
      Fix io cycle interval duration
      Dont use different cycle times for init and running state
      Get starting time for first cycle
      Do not use different calculations for cycle time
      Make cycle attributes accessible via sysfs
      As default make cycle time as fast as possible
      Fix function parameter alignment
      Provide module parameter for cycle duration
      Make max cycle deviation accessible vias sysfs
      Make the number of exceeded cycles accessible via sysfs
      Handle deviation differently for fixed cycles
      Do not override result for KB_INTERN_IO_MSG
      Set data len in IO telegram response
      Move code to send internal io telegrams into own function
      Fix locking for io telegrams
      Protect io telegram from concurrent access
      Do not override result for KB_CONFIG_SEND
      Move code to send internal gate telegrams into own function
      Fix locking for gate telegrams
      Protect gate telegram from concurrent access
      Add new ioctl to send generic gate telegrams
      Allow to send gate/io telegrams in any state
      Add structure definitions for io telegrams
      Avoid code duplication for internal telegrams
      Set receive len for gate telegrams
      Make the sequence number available in internal gate datatagrams
      Adjust handling of gate telegrams to new api return values
      Implement cycle timer with fixed time grid
      Change semantic for resetting cycle min, max and exceeded values
      Make missed cycles accessible via sysfs
      compact: do not forget sentinel in lookup table
      Register platform device driver also for Flat and Compact
      Use flag to check the PiBridge running state
      Implement firmware rescue feature
      Fix gateway datagram reception
      Revise the error values returned to userspace
      Remove useless checks in piControlRead
      Map internal message errors to -EIO

Nicolai Buchwitz (9):
      Fix SAioInputConfig
      piControl: Flush error messages in counter reset
      Cleanup unused code
      Use pr_debug() for debug output
      Add context to log messages
      piControl: allow reset ioctl while bridge is stopped
      core: eliminate code duplication in revpi_core_find_gate()
      mio: fix analog cache corruption on communication failure
      Skip firmware update for disconnected modules

Thomas Böhler (5):
      specify void for functions without parameters
      ci: include global-vars.yml for coverity-submit
      fix spelling of io-cycle in module parameters
      avoid piControl_init_sysfs clean up before use
      Release v2.4.0