diff --git a/board_enable.c b/board_enable.c
index a09a075..c3494bd 100644
--- a/board_enable.c
+++ b/board_enable.c
@@ -527,10 +527,10 @@
 
 		/* CR24 Bits 7 & 2 must be set to 0 enable the flash ROM    */
 		/* address segments 000E0000h ~ 000FFFFFh on W83697SF/UF/UG */
-		/* These bits are reserved on W83697HF/F/HG 		    */
-		/* Shouldn't be needed though.			   	    */
+		/* These bits are reserved on W83697HF/F/HG		    */
+		/* Shouldn't be needed though.				    */
 
-		/* CR28 Bit3 must be set to 1 to enable flash access to     */
+		/* CR28 Bit3 must be set to 1 to enable flash access to	    */
 		/* FFE80000h ~ FFEFFFFFh on W83697SF/UF/UG.		    */
 		/* This bit is reserved on W83697HF/F/HG which default to 0 */
 			sio_mask(port, 0x28, 0x08, 0x08);
diff --git a/cbtable.c b/cbtable.c
index 0941a07..fe0c368 100644
--- a/cbtable.c
+++ b/cbtable.c
@@ -31,8 +31,8 @@
 
 /* Tries to find coreboot IDs in the supplied image and compares them to the current IDs.
  * Returns...
- * 	-1	if IDs in the image do not match the IDs embedded in the current firmware,
- * 	 0	if the IDs could not be found in the image or if they match correctly.
+ *	-1	if IDs in the image do not match the IDs embedded in the current firmware,
+ *	 0	if the IDs could not be found in the image or if they match correctly.
  */
 int cb_check_image(const uint8_t *image, int size)
 {
diff --git a/ch341a_spi.c b/ch341a_spi.c
index ee18624..f88b624 100644
--- a/ch341a_spi.c
+++ b/ch341a_spi.c
@@ -285,7 +285,7 @@
 
 /* The assumed map between UIO command bits, pins on CH341A chip and pins on SPI chip:
  * UIO	CH341A	SPI	CH341A SPI name
- * 0	D0/15	CS/1 	(CS0)
+ * 0	D0/15	CS/1	(CS0)
  * 1	D1/16	unused	(CS1)
  * 2	D2/17	unused	(CS2)
  * 3	D3/18	SCK/6	(DCK)
diff --git a/chipset_enable.c b/chipset_enable.c
index 5c874f5..42f6728 100644
--- a/chipset_enable.c
+++ b/chipset_enable.c
@@ -1168,7 +1168,7 @@
 /* Works for AMD-768, AMD-8111, VIA VT82C586A/B, VIA VT82C596, VIA VT82C686A/B.
  *
  * ROM decode control register matrix
- * 	AMD-768			AMD-8111	VT82C586A/B		VT82C596		VT82C686A/B
+ *	AMD-768			AMD-8111	VT82C586A/B		VT82C596		VT82C686A/B
  * 7	FFC0_0000h–FFFF_FFFFh	<-		FFFE0000h-FFFEFFFFh	<-			<-
  * 6	FFB0_0000h–FFBF_FFFFh	<-		FFF80000h-FFFDFFFFh	<-			<-
  * 5	00E8...			<-		<-			FFF00000h-FFF7FFFFh	<-
@@ -1512,7 +1512,7 @@
 		/* Should not happen. */
 		internal_buses_supported = BUS_NONE;
 		msg_pwarn("Flash bus type is unknown (none)\n");
-		msg_pinfo("Please send the log files created by \"flashrom -p internal -o logfile\" to \n"
+		msg_pinfo("Please send the log files created by \"flashrom -p internal -o logfile\" to\n"
 			  "flashrom@flashrom.org with \"your board name: flashrom -V\" as the subject to\n"
 			  "help us finish support for your chipset. Thanks.\n");
 		return ERROR_NONFATAL;
diff --git a/dediprog.c b/dediprog.c
index ef43e90..7fcadfb 100644
--- a/dediprog.c
+++ b/dediprog.c
@@ -121,7 +121,7 @@
 };
 
 enum dediprog_writemode {
-	WRITE_MODE_PAGE_PGM 			= 1,
+	WRITE_MODE_PAGE_PGM			= 1,
 	WRITE_MODE_PAGE_WRITE			= 2,
 	WRITE_MODE_1B_AAI			= 3,
 	WRITE_MODE_2B_AAI			= 4,
diff --git a/dmi.c b/dmi.c
index 1bb3405..4137821 100644
--- a/dmi.c
+++ b/dmi.c
@@ -60,9 +60,9 @@
 
 /* This list is used to identify supposed laptops. The is_laptop field has the
  * following meaning:
- * 	- 0: in all likelihood not a laptop
- * 	- 1: in all likelihood a laptop
- * 	- 2: chassis-type is not specific enough
+ *	- 0: in all likelihood not a laptop
+ *	- 1: in all likelihood a laptop
+ *	- 2: chassis-type is not specific enough
  * A full list of chassis types can be found in the System Management BIOS
  * (SMBIOS) Reference Specification 2.7.0 section 7.4.1 "Chassis Types" at
  * http://www.dmtf.org/sites/default/files/standards/documents/DSP0134_2.7.0.pdf
diff --git a/flashchips.h b/flashchips.h
index 5dedb38..4dce573 100644
--- a/flashchips.h
+++ b/flashchips.h
@@ -147,7 +147,7 @@
 #define ATMEL_AT25F4096		0x64	/* Needs AT25F_RDID */
 #define ATMEL_AT25FS010		0x6601
 #define ATMEL_AT25FS040		0x6604
-#define ATMEL_AT25SF041 	0x8401
+#define ATMEL_AT25SF041		0x8401
 #define ATMEL_AT25SF081		0x8501
 #define ATMEL_AT25SF161		0x8601
 #define ATMEL_AT26DF041		0x4400
diff --git a/ich_descriptors.h b/ich_descriptors.h
index fa1990d..4225286 100644
--- a/ich_descriptors.h
+++ b/ich_descriptors.h
@@ -104,7 +104,7 @@
 		/* FLCOMP encoding on various generations:
 		 *
 		 * Chipset/Generation	max_speed	dual_output	density
-		 * 			[MHz]		bits		max.	bits
+		 *			[MHz]		bits		max.	bits
 		 * ICH8:		33		N/A		5	0:2, 3:5
 		 * ICH9:		33		N/A		5	0:2, 3:5
 		 * ICH10:		33		N/A		5	0:2, 3:5
diff --git a/it85spi.c b/it85spi.c
index f7bc8cb..e47cabb 100644
--- a/it85spi.c
+++ b/it85spi.c
@@ -53,8 +53,8 @@
  * IBF is set to 1 when the host CPU sends a command to the input buffer
  * of the EC. IBF is cleared to 0 once the command is read by the EC.
  */
-#define KB_IBF 			(1 << 1)  /* Input Buffer Full */
-#define KB_OBF 			(1 << 0)  /* Output Buffer Full */
+#define KB_IBF			(1 << 1)  /* Input Buffer Full */
+#define KB_OBF			(1 << 0)  /* Output Buffer Full */
 
 /* IT8502 supports two access modes:
  *   LPC_MEMORY: through the memory window in 0xFFFFFxxx (follow mode)
diff --git a/pcidev.c b/pcidev.c
index 3273341..f5ad819 100644
--- a/pcidev.c
+++ b/pcidev.c
@@ -221,7 +221,7 @@
 				 dev->func);
 			if (devs[i].status == NT)
 				msg_pinfo("===\nThis PCI device is UNTESTED. Please report the 'flashrom -p "
-					  "xxxx' output \n"
+					  "xxxx' output\n"
 					  "to flashrom@flashrom.org if it works for you. Please add the name "
 					  "of your\n"
 					  "PCI device to the subject. Thank you for your help!\n===\n");
@@ -241,7 +241,7 @@
 		msg_perr("Error: No supported PCI device found.\n");
 		return NULL;
 	} else if (found > 1) {
-		msg_perr("Error: Multiple supported PCI devices found. Use 'flashrom -p xxxx:pci=bb:dd.f' \n"
+		msg_perr("Error: Multiple supported PCI devices found. Use 'flashrom -p xxxx:pci=bb:dd.f'\n"
 			 "to explicitly select the card with the given BDF (PCI bus, device, function).\n");
 		return NULL;
 	}
@@ -293,7 +293,7 @@
 	return 0;
 }
 
-#define register_undo_pci_write(a, b, c) 				\
+#define register_undo_pci_write(a, b, c)				\
 {									\
 	struct undo_pci_write_data *undo_pci_write_data;		\
 	undo_pci_write_data = malloc(sizeof(struct undo_pci_write_data)); \
diff --git a/pickit2_spi.c b/pickit2_spi.c
index 037c6dd..a7c90a5 100644
--- a/pickit2_spi.c
+++ b/pickit2_spi.c
@@ -449,7 +449,7 @@
 	(void)usb_find_devices();
 	const uint16_t vid = devs_pickit2_spi[0].vendor_id;
 	const uint16_t pid = devs_pickit2_spi[0].device_id;
- 	struct usb_device *dev = get_device_by_vid_pid(vid, pid, usedevice);
+	struct usb_device *dev = get_device_by_vid_pid(vid, pid, usedevice);
 	if (dev == NULL) {
 		msg_perr("Could not find a PICkit2 on USB!\n");
 		return 1;
diff --git a/print.c b/print.c
index 114181e..30f06c8 100644
--- a/print.c
+++ b/print.c
@@ -974,7 +974,7 @@
 	B("MSI",	"MS-7312 (K9MM-V)",	OK, "http://www.msi.com/product/mb/K9MM-V.html", NULL),
 	B("MSI",	"MS-7336",		OK, NULL, "Some non-essential DMI data (e.g. serial numbers) is overwritten when using flashrom. This is an OEM board used by HP (e.g. dx2300 Microtower)."),
 	B("MSI",	"MS-7345 (P35 Neo2-FIR)", OK, "http://www.msi.com/product/mb/P35-Neo2-FR---FIR.html", NULL),
-	B("MSI",	"MS-7357 (G33M)", 	OK, "http://www.msi.com/product/mb/G33M.html", NULL),
+	B("MSI",	"MS-7357 (G33M)",	OK, "http://www.msi.com/product/mb/G33M.html", NULL),
 	B("MSI",	"MS-7368 (K9AG Neo2-Digital)", OK, "http://www.msi.com/product/mb/K9AG-Neo2-Digital.html", NULL),
 	B("MSI",	"MS-7369 (K9N Neo V2)", OK, "http://www.msi.com/product/mb/K9N-Neo-V2.html", NULL),
 	B("MSI",	"MS-7376 (K9A2 Platinum V1)", OK, "http://www.msi.com/product/mb/K9A2-Platinum.html", NULL),
diff --git a/print_wiki.c b/print_wiki.c
index 729ef9a..95158f7 100644
--- a/print_wiki.c
+++ b/print_wiki.c
@@ -92,7 +92,7 @@
 ! align=\"center\" colspan=\"2\" | Voltage [V]\n\n\
 |- bgcolor=\"#6699ff\"\n| colspan=\"4\" | &nbsp;\n\
 | Probe\n| Read\n| Erase\n| Write\n\
-| align=\"center\" | Min \n| align=\"center\" | Max\n\n";
+| align=\"center\" | Min\n| align=\"center\" | Max\n\n";
 
 static const char chip_intro[] = "\
 \n== Supported flash chips ==\n\n\
@@ -323,7 +323,7 @@
 		sprintf(vmax, "%0.03f", f->voltage.max / (double)1000);
 		printf("|- bgcolor=\"#%s\"\n| %s || %s || align=\"right\" | %d "
 		       "|| %s || {{%s}} || {{%s}} || {{%s}} || {{%s}}"
-		       "|| %s || %s \n",
+		       "|| %s || %s\n",
 		       (c == 1) ? "eeeeee" : "dddddd", f->vendor, f->name,
 		       f->total_size, s,
 		       test_state_to_template(f->tested.probe),
diff --git a/util/git-hooks/commit-msg b/util/git-hooks/commit-msg
index b9217e0..346c08f 100755
--- a/util/git-hooks/commit-msg
+++ b/util/git-hooks/commit-msg
@@ -47,7 +47,7 @@
 	# *Do* add Change-Id to temp commits (original code bails out here)
 	# if echo "$clean_message" | head -1 | grep -q '^\(fixup\|squash\)!'
 	# then
-	# 	return
+	#	return
 	# fi
 
 	if test "false" = "`git config --bool --get gerrit.createChangeId`"
