sysfs IO enhancements

Add retries for some sysfs IO errors:
 EIO: Tolerate intermittant device or bus failures.
 ETIMEDOUT: Tolerate intermittant timeouts.
 EAGAIN: Tolerate drivers that do not block.
 ENXIO: Tolerate momentarily unplugged devices on busses that don't
    support hotplug.
 EBADMSG: Tolerate CRC errors.

Flush stdio buffers after writes.
Remove redundant retry and delay constants.

Resolves: openbmc/openbmc#2262

Change-Id: I2104139bf7ced96bb10f7450b42ca36e61c84287
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
5 files changed
tree: 3158932f2d015a482ad4a5bca046f51bc5907b0d
  1. msl/
  2. test/
  3. .gitignore
  4. argument.cpp
  5. argument.hpp
  6. bootstrap.sh
  7. configure.ac
  8. env.cpp
  9. env.hpp
  10. fan_speed.cpp
  11. fan_speed.hpp
  12. hwmon.hpp
  13. interface.hpp
  14. LICENSE
  15. mainloop.cpp
  16. mainloop.hpp
  17. Makefile.am
  18. readd.cpp
  19. README.iio.md
  20. README.md
  21. sensorset.cpp
  22. sensorset.hpp
  23. sysfs.cpp
  24. sysfs.hpp
  25. targets.hpp
  26. thresholds.hpp
  27. util.hpp
README.md

Exposes generic hwmon entries as DBus objects.

To Build

To build this package, do the following steps:

    1. ./bootstrap.sh
    2. ./configure ${CONFIGURE_FLAGS}
    3. make

To full clean the repository again run `./bootstrap.sh clean`.