diff --git a/scripts/basic/Makefile b/scripts/basic/Makefile
index 092a887..848f16d 100644
--- a/scripts/basic/Makefile
+++ b/scripts/basic/Makefile
@@ -7,7 +7,7 @@
 # when kernel configuration changes (which is what happens when
 # .config is included by main Makefile.
 # ---------------------------------------------------------------------------
-# fixdep: 	 Used to generate dependency information during build process
+# fixdep:	 Used to generate dependency information during build process
 
 hostprogs-y	:= fixdep
 always		:= $(hostprogs-y)
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index d521284..12e525e 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -50,7 +50,7 @@
 
 localyesconfig localmodconfig: $(obj)/conf
 	$(Q)perl $(srctree)/$(src)/streamline_config.pl --$@ $(srctree) $(Kconfig) > .tmp.config
-	$(Q)if [ -f .config ]; then 					\
+	$(Q)if [ -f .config ]; then					\
 			cmp -s .tmp.config .config ||			\
 			(mv -f .config .config.old.1;			\
 			 mv -f .tmp.config .config;			\
diff --git a/scripts/kconfig/expr.c b/scripts/kconfig/expr.c
index e1a39e9..9f79bdf 100644
--- a/scripts/kconfig/expr.c
+++ b/scripts/kconfig/expr.c
@@ -894,7 +894,7 @@
 	default:
 		;
 	}
- 	return false;
+	return false;
 }
 
 /*
diff --git a/scripts/kconfig/list.h b/scripts/kconfig/list.h
index 45cb237..06e8d55 100644
--- a/scripts/kconfig/list.h
+++ b/scripts/kconfig/list.h
@@ -48,7 +48,7 @@
  */
 #define list_for_each_entry(pos, head, member)				\
 	for (pos = list_entry((head)->next, typeof(*pos), member);	\
-	     &pos->member != (head); 	\
+	     &pos->member != (head);	\
 	     pos = list_entry(pos->member.next, typeof(*pos), member))
 
 /**
