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>
diff --git a/test/hwmonio.cpp b/test/hwmonio.cpp
index 2c6bdaf..00c4ae1 100644
--- a/test/hwmonio.cpp
+++ b/test/hwmonio.cpp
@@ -32,11 +32,16 @@
 
     if ("read"s == argv[1])
     {
-        std::cout << io.read(argv[3], argv[4], argv[5]) << std::endl;
+        std::cout << io.read(argv[3], argv[4], argv[5],
+                sysfs::hwmonio::retries, sysfs::hwmonio::delay) <<
+            std::endl;
     }
     else
     {
-        io.write(strtol(argv[6], nullptr, 0), argv[3], argv[4], argv[5]);
+        io.write(
+                strtol(argv[6], nullptr, 0),
+                argv[3], argv[4], argv[5], sysfs::hwmonio::retries,
+                sysfs::hwmonio::delay);
     }
 
     return 0;