diff --git a/tools/cert_create/include/cert.h b/tools/cert_create/include/cert.h
index 07bb337..39b45b5 100644
--- a/tools/cert_create/include/cert.h
+++ b/tools/cert_create/include/cert.h
@@ -4,8 +4,8 @@
  * SPDX-License-Identifier: BSD-3-Clause
  */
 
-#ifndef CERT_H_
-#define CERT_H_
+#ifndef CERT_H
+#define CERT_H
 
 #include <openssl/ossl_typ.h>
 #include <openssl/x509.h>
@@ -65,4 +65,4 @@
 extern cert_t *certs;
 extern const unsigned int num_certs;
 
-#endif /* CERT_H_ */
+#endif /* CERT_H */
diff --git a/tools/cert_create/include/cmd_opt.h b/tools/cert_create/include/cmd_opt.h
index 5095ed1..10df00e 100644
--- a/tools/cert_create/include/cmd_opt.h
+++ b/tools/cert_create/include/cmd_opt.h
@@ -4,8 +4,8 @@
  * SPDX-License-Identifier: BSD-3-Clause
  */
 
-#ifndef CMD_OPT_H_
-#define CMD_OPT_H_
+#ifndef CMD_OPT_H
+#define CMD_OPT_H
 
 #include <getopt.h>
 
@@ -30,4 +30,4 @@
 const char *cmd_opt_get_name(int idx);
 const char *cmd_opt_get_help_msg(int idx);
 
-#endif /* CMD_OPT_H_ */
+#endif /* CMD_OPT_H */
diff --git a/tools/cert_create/include/debug.h b/tools/cert_create/include/debug.h
index 6302b41..ee8f1f5 100644
--- a/tools/cert_create/include/debug.h
+++ b/tools/cert_create/include/debug.h
@@ -4,8 +4,8 @@
  * SPDX-License-Identifier: BSD-3-Clause
  */
 
-#ifndef __DEBUG_H__
-#define __DEBUG_H__
+#ifndef DEBUG_H
+#define DEBUG_H
 
 #include <stdio.h>
 
@@ -56,4 +56,4 @@
 # define VERBOSE(...)
 #endif
 
-#endif /* __DEBUG_H__ */
+#endif /* DEBUG_H */
diff --git a/tools/cert_create/include/ext.h b/tools/cert_create/include/ext.h
index d432e63..9c0b5c3 100644
--- a/tools/cert_create/include/ext.h
+++ b/tools/cert_create/include/ext.h
@@ -4,8 +4,8 @@
  * SPDX-License-Identifier: BSD-3-Clause
  */
 
-#ifndef EXT_H_
-#define EXT_H_
+#ifndef EXT_H
+#define EXT_H
 
 #include <openssl/x509v3.h>
 #include "key.h"
@@ -82,4 +82,4 @@
 extern ext_t *extensions;
 extern const unsigned int num_extensions;
 
-#endif /* EXT_H_ */
+#endif /* EXT_H */
diff --git a/tools/cert_create/include/key.h b/tools/cert_create/include/key.h
index 1a253cc..310a77f 100644
--- a/tools/cert_create/include/key.h
+++ b/tools/cert_create/include/key.h
@@ -4,8 +4,8 @@
  * SPDX-License-Identifier: BSD-3-Clause
  */
 
-#ifndef KEY_H_
-#define KEY_H_
+#ifndef KEY_H
+#define KEY_H
 
 #include <openssl/ossl_typ.h>
 
@@ -71,4 +71,4 @@
 extern key_t *keys;
 extern const unsigned int num_keys;
 
-#endif /* KEY_H_ */
+#endif /* KEY_H */
diff --git a/tools/cert_create/include/sha.h b/tools/cert_create/include/sha.h
index 4d07a1e..4c55f37 100644
--- a/tools/cert_create/include/sha.h
+++ b/tools/cert_create/include/sha.h
@@ -4,9 +4,9 @@
  * SPDX-License-Identifier: BSD-3-Clause
  */
 
-#ifndef SHA_H_
-#define SHA_H_
+#ifndef SHA_H
+#define SHA_H
 
 int sha_file(int md_alg, const char *filename, unsigned char *md);
 
-#endif /* SHA_H_ */
+#endif /* SHA_H */
diff --git a/tools/cert_create/include/tbbr/tbb_cert.h b/tools/cert_create/include/tbbr/tbb_cert.h
index 716b570..628ef3a 100644
--- a/tools/cert_create/include/tbbr/tbb_cert.h
+++ b/tools/cert_create/include/tbbr/tbb_cert.h
@@ -4,8 +4,8 @@
  * SPDX-License-Identifier: BSD-3-Clause
  */
 
-#ifndef TBB_CERT_H_
-#define TBB_CERT_H_
+#ifndef TBB_CERT_H
+#define TBB_CERT_H
 
 #include "cert.h"
 
@@ -26,4 +26,4 @@
 	FWU_CERT
 };
 
-#endif /* TBB_CERT_H_ */
+#endif /* TBB_CERT_H */
diff --git a/tools/cert_create/include/tbbr/tbb_ext.h b/tools/cert_create/include/tbbr/tbb_ext.h
index 075d5f3..462aafc 100644
--- a/tools/cert_create/include/tbbr/tbb_ext.h
+++ b/tools/cert_create/include/tbbr/tbb_ext.h
@@ -3,8 +3,8 @@
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
-#ifndef TBB_EXT_H_
-#define TBB_EXT_H_
+#ifndef TBB_EXT_H
+#define TBB_EXT_H
 
 #include "ext.h"
 
@@ -35,4 +35,4 @@
 	FWU_HASH_EXT
 };
 
-#endif /* TBB_EXT_H_ */
+#endif /* TBB_EXT_H */
diff --git a/tools/cert_create/include/tbbr/tbb_key.h b/tools/cert_create/include/tbbr/tbb_key.h
index df634c6..47ad1de 100644
--- a/tools/cert_create/include/tbbr/tbb_key.h
+++ b/tools/cert_create/include/tbbr/tbb_key.h
@@ -4,8 +4,8 @@
  * SPDX-License-Identifier: BSD-3-Clause
  */
 
-#ifndef TBB_KEY_H_
-#define TBB_KEY_H_
+#ifndef TBB_KEY_H
+#define TBB_KEY_H
 
 #include "key.h"
 
@@ -22,4 +22,4 @@
 	NON_TRUSTED_FW_CONTENT_CERT_KEY
 };
 
-#endif /* TBB_KEY_H_ */
+#endif /* TBB_KEY_H */
diff --git a/tools/fiptool/fiptool.h b/tools/fiptool/fiptool.h
index d8a5d2c..af3fcbd 100644
--- a/tools/fiptool/fiptool.h
+++ b/tools/fiptool/fiptool.h
@@ -4,8 +4,8 @@
  * SPDX-License-Identifier: BSD-3-Clause
  */
 
-#ifndef __FIPTOOL_H__
-#define __FIPTOOL_H__
+#ifndef FIPTOOL_H
+#define FIPTOOL_H
 
 #include <stddef.h>
 #include <stdint.h>
@@ -51,4 +51,4 @@
 	void             (*usage)(void);
 } cmd_t;
 
-#endif /* __FIPTOOL_H__ */
+#endif /* FIPTOOL_H */
diff --git a/tools/fiptool/fiptool_platform.h b/tools/fiptool/fiptool_platform.h
index fd0a120..9bfa298 100644
--- a/tools/fiptool/fiptool_platform.h
+++ b/tools/fiptool/fiptool_platform.h
@@ -1,30 +1,31 @@
 /*
- * Copyright (c) 2016-2017, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2016-2018, ARM Limited and Contributors. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
- *
+ */
+/*
  * Build platform specific handling.
  * This allows for builds on non-Posix platforms
  * e.g. Visual Studio on Windows
  */
 
-#ifndef __FIPTOOL_PLATFORM_H__
-#	define __FIPTOOL_PLATFORM_H__
+#ifndef FIPTOOL_PLATFORM_H
+#define FIPTOOL_PLATFORM_H
 
-#	ifndef _MSC_VER
+#ifndef _MSC_VER
 
-		/* Not Visual Studio, so include Posix Headers. */
-#		include <getopt.h>
-#		include <openssl/sha.h>
-#		include <unistd.h>
+/* Not Visual Studio, so include Posix Headers. */
+# include <getopt.h>
+# include <openssl/sha.h>
+# include <unistd.h>
 
-#		define  BLD_PLAT_STAT stat
+# define  BLD_PLAT_STAT stat
 
-#	else
+#else
 
-		/* Visual Studio. */
-#		include "win_posix.h"
+/* Visual Studio. */
+# include "win_posix.h"
 
-#	endif
+#endif
 
-#endif /* __FIPTOOL_PLATFORM_H__ */
+#endif /* FIPTOOL_PLATFORM_H */
diff --git a/tools/fiptool/tbbr_config.h b/tools/fiptool/tbbr_config.h
index bad757d..2d89777 100644
--- a/tools/fiptool/tbbr_config.h
+++ b/tools/fiptool/tbbr_config.h
@@ -4,8 +4,8 @@
  * SPDX-License-Identifier: BSD-3-Clause
  */
 
-#ifndef __TBBR_CONFIG_H__
-#define __TBBR_CONFIG_H__
+#ifndef TBBR_CONFIG_H
+#define TBBR_CONFIG_H
 
 #include <stdint.h>
 
@@ -22,4 +22,4 @@
 
 extern toc_entry_t toc_entries[];
 
-#endif /* __TBBR_CONFIG_H__ */
+#endif /* TBBR_CONFIG_H */
diff --git a/tools/fiptool/win_posix.h b/tools/fiptool/win_posix.h
index c3fc399..836ffed 100644
--- a/tools/fiptool/win_posix.h
+++ b/tools/fiptool/win_posix.h
@@ -1,41 +1,40 @@
 /*
- * Copyright (c) 2017, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2017-2018, ARM Limited and Contributors. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
 
-#ifndef __WINPOSIX_H__
-#	define __WINPOSIX_H__
+#ifndef WIN_POSIX_H
+#define WIN_POSIX_H
 
-#	define _CRT_SECURE_NO_WARNINGS
+#define _CRT_SECURE_NO_WARNINGS
 
-#	include <direct.h>
-#	include <io.h>
-#	include <stdint.h>
-#	include <stdlib.h>
-#	include <string.h>
-#	include <sys/stat.h>
+#include <direct.h>
+#include <io.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
 
-#	include "uuid.h"
-
+#include "uuid.h"
 
 /* Derive or provide Windows equivalents of Posix/GCC/Unix stuff. */
-#	ifndef PATH_MAX
-#		ifdef MAX_PATH
-#			define PATH_MAX MAX_PATH
-#		else
-#			ifdef _MAX_PATH
-#				define MAX_PATH _MAX_PATH
-#				define PATH_MAX _MAX_PATH
-#			else
-#				define PATH_MAX 260
-#			endif
-#		endif
-#	endif
+#ifndef PATH_MAX
+# ifdef MAX_PATH
+#  define PATH_MAX MAX_PATH
+# else
+#  ifdef _MAX_PATH
+#   define MAX_PATH _MAX_PATH
+#   define PATH_MAX _MAX_PATH
+#  else
+#   define PATH_MAX 260
+#  endif
+# endif
+#endif
 
-#	ifndef _CRT_SECURE_NO_WARNINGS
-#		define _CRT_SECURE_NO_WARNINGS 1
-#	endif
+#ifndef _CRT_SECURE_NO_WARNINGS
+# define _CRT_SECURE_NO_WARNINGS 1
+#endif
 
 /*
  * Platform specific names.
@@ -46,13 +45,13 @@
  */
 
 /* fileno cannot be an inline function, because _fileno is a macro. */
-#	define fileno(fileptr) _fileno(fileptr)
+#define fileno(fileptr) _fileno(fileptr)
 
 /* _fstat uses the _stat structure, not stat. */
-#	define BLD_PLAT_STAT	_stat
+#define BLD_PLAT_STAT	_stat
 
 /* Define flag values for _access. */
-#	define F_OK	0
+#define F_OK	0
 
 
 /* getopt implementation for Windows: Data. */
@@ -184,4 +183,4 @@
 			   const struct option *longopts,
 			   int *indexptr);
 
-#endif /* __WINPOSIX_H__ */
+#endif /* WIN_POSIX_H */
