diff --git a/elog-errors.hpp b/elog-errors.hpp
index 671d99f..a8d7a1c 100644
--- a/elog-errors.hpp
+++ b/elog-errors.hpp
@@ -1775,7 +1775,7 @@
 namespace _QuotaExceeded
 {
 
-struct REASON 
+struct REASON
 {
     static constexpr auto str = "REASON = %s";
     static constexpr auto str_short = "REASON ";
diff --git a/host-ipmid/ipmid-api.h b/host-ipmid/ipmid-api.h
index e903deb..5a2e81d 100644
--- a/host-ipmid/ipmid-api.h
+++ b/host-ipmid/ipmid-api.h
@@ -26,7 +26,7 @@
 #define IPMI_CC_LEN 1
 
 // IPMI Net Function number as specified by IPMI V2.0 spec.
-// Example : 
+// Example :
 // NETFUN_APP      =   (0x06 << 2),
 typedef unsigned char   ipmi_netfn_t;
 
diff --git a/ipmi_fru_info_area.hpp b/ipmi_fru_info_area.hpp
index 61c4e81..7faca98 100644
--- a/ipmi_fru_info_area.hpp
+++ b/ipmi_fru_info_area.hpp
@@ -1,27 +1,27 @@
-#pragma once
-#include <string>
-#include <vector>
-
-namespace ipmi
-{
-namespace fru
-{
-using FruAreaData = std::vector<uint8_t>;
-using Section = std::string;
-using Value = std::string;
-using Property = std::string;
-using PropertyMap = std::map<Property, Value>;
-using FruInventoryData = std::map<Section, PropertyMap>;
-
-/**
- * @brief Builds Fru area data from inventory data
- *
- * @param[in] invData FRU properties values read from inventory
- *
- * @return FruAreaData FRU area data as per IPMI specification
- */
-FruAreaData buildFruAreaData(const FruInventoryData& inventory);
-
-} //fru
-} //ipmi
-
+#pragma once
+#include <string>
+#include <vector>
+
+namespace ipmi
+{
+namespace fru
+{
+using FruAreaData = std::vector<uint8_t>;
+using Section = std::string;
+using Value = std::string;
+using Property = std::string;
+using PropertyMap = std::map<Property, Value>;
+using FruInventoryData = std::map<Section, PropertyMap>;
+
+/**
+ * @brief Builds Fru area data from inventory data
+ *
+ * @param[in] invData FRU properties values read from inventory
+ *
+ * @return FruAreaData FRU area data as per IPMI specification
+ */
+FruAreaData buildFruAreaData(const FruInventoryData& inventory);
+
+} //fru
+} //ipmi
+
diff --git a/ipmid.hpp b/ipmid.hpp
index aab44c0..e0873aa 100644
--- a/ipmid.hpp
+++ b/ipmid.hpp
@@ -14,9 +14,9 @@
 // Plugin libraries can be versioned with suffix .so.*
 #define IPMI_PLUGIN_SONAME_EXTN ".so."
 
-// The BT FIFO in the AST2400 can only handle 64 bytes.  
-// Can only allow 63 because the BT interface still 
-// needs 1 byte for the length field. 
+// The BT FIFO in the AST2400 can only handle 64 bytes.
+// Can only allow 63 because the BT interface still
+// needs 1 byte for the length field.
 #define MAX_IPMI_BUFFER 64
 
 extern FILE *ipmiio, *ipmidbus, *ipmicmddetails;
diff --git a/ipmisensor.cpp b/ipmisensor.cpp
index 1eecb94..bb5dd96 100644
--- a/ipmisensor.cpp
+++ b/ipmisensor.cpp
@@ -12,12 +12,12 @@
 	uint8_t operation;
 	uint8_t sensor_reading;
 	uint8_t assert_state7_0;
-	uint8_t assert_state14_8;	
+	uint8_t assert_state14_8;
 	uint8_t deassert_state7_0;
-	uint8_t deassert_state14_8;	
+	uint8_t deassert_state14_8;
 	uint8_t event_data1;
 	uint8_t event_data2;
-	uint8_t event_data3;	
+	uint8_t event_data3;
 } __attribute__ ((packed));
 
 #define ISBITSET(x,y) (((x)>>(y))&0x01)
@@ -112,7 +112,7 @@
 
 
 //  The fw progress sensor contains some additional information that needs to be processed
-//  prior to calling the dbus code.  
+//  prior to calling the dbus code.
 int set_sensor_dbus_state_fwprogress(const sensorRES_t *pRec, const lookup_t *pTable, const char *value) {
 
 	char valuestring[128];
@@ -221,12 +221,12 @@
 
 
 int findindex(const uint8_t sensor_type, int offset, int *index) {
-	
+
 	int i=0, rc=0;
 	lookup_t *pTable = g_ipmidbuslookup;
 
 	do {
-		if ( ((pTable+i)->sensor_type == sensor_type) && 
+		if ( ((pTable+i)->sensor_type == sensor_type) &&
 			 ((pTable+i)->offset  == offset) ) {
 			rc = 1;
 			*index = i;
