diff --git a/common/cmd_sata.c b/common/cmd_sata.c
index 1c71b64..2e601a7 100644
--- a/common/cmd_sata.c
+++ b/common/cmd_sata.c
@@ -1,29 +1,31 @@
 /*
-  * Copyright (C) Procsys. All rights reserved.
-  * Author: Mushtaq Khan <mushtaq_k@procsys.com>
-                        <mushtaqk_921@yahoo.co.in>
-  *
-  *
-  * This program is free software; you can redistribute it and/or
-  * modify it under the terms of the GNU General Public License as
-  * published by the Free Software Foundation; either version 2 of
-  * the License, or (at your option) any later version.
-  *
-  * This program is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  * GNU General Public License for more details.
-  *
-  * You should have received a copy of the GNU General Public License
-  * along with this program; if not, write to the Free Software
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-  * MA 02111-1307 USA
-  *
-  * with the reference to libata in kernel 2.4.32
-  *
-*/
+ * Copyright (C) Procsys. All rights reserved.
+ * Author: Mushtaq Khan <mushtaq_k@procsys.com>
+ *			<mushtaqk_921@yahoo.co.in>
+ *
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ * with the reference to libata in kernel 2.4.32
+ *
+ */
 
-/*File contains SATA read-write and other utility functions.*/
+/*
+ * File contains SATA read-write and other utility functions.
+ */
 #include <common.h>
 #include <asm/io.h>
 #include <pci.h>
diff --git a/drivers/ata_piix.c b/drivers/ata_piix.c
index 7e61163..42456d7 100644
--- a/drivers/ata_piix.c
+++ b/drivers/ata_piix.c
@@ -1,29 +1,29 @@
 /*
-  * Copyright (C) Procsys. All rights reserved.
-  * Author: Mushtaq Khan <mushtaq_k@procsys.com>
-                        <mushtaqk_921@yahoo.co.in>
-  *
-  * This program is free software; you can redistribute it and/or
-  * modify it under the terms of the GNU General Public License as
-  * published by the Free Software Foundation; either version 2 of
-  * the License, or (at your option) any later version.
-  *
-  * This program is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  * GNU General Public License for more details.
-  *
-  * You should have received a copy of the GNU General Public License
-  * along with this program; if not, write to the Free Software
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-  * MA 02111-1307 USA
-  *
-  * with the reference to ata_piix driver in kernel 2.4.32
-*/
+ * Copyright (C) Procsys. All rights reserved.
+ * Author: Mushtaq Khan <mushtaq_k@procsys.com>
+ *			<mushtaqk_921@yahoo.co.in>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ * with the reference to ata_piix driver in kernel 2.4.32
+ */
 
 /*
-This file contains SATA controller and SATA drive initialization functions
-*/
+ * This file contains SATA controller and SATA drive initialization functions
+ */
 
 #include <common.h>
 #include <pci.h>
diff --git a/include/ata.h b/include/ata.h
index d36bdf6..aa6e90d 100644
--- a/include/ata.h
+++ b/include/ata.h
@@ -91,7 +91,7 @@
 	/* bits in ATA command block registers */
 	ATA_HOB = (1 << 7),	/* LBA48 selector */
 	ATA_NIEN = (1 << 1),	/* disable-irq flag */
-	/*ATA_LBA                 = (1 << 6), *//* LBA28 selector */
+	/*ATA_LBA                 = (1 << 6), */ /* LBA28 selector */
 	ATA_DEV1 = (1 << 4),	/* Select Device 1 (slave) */
 	ATA_DEVICE_OBS = (1 << 7) | (1 << 5),	/* obs bits in dev reg */
 	ATA_DEVCTL_OBS = (1 << 3),	/* obsolete bit in devctl reg */
diff --git a/include/sata.h b/include/sata.h
index c6fa2ab..a8713f8 100644
--- a/include/sata.h
+++ b/include/sata.h
@@ -24,12 +24,12 @@
 };
 
 struct sata_port {
-	unsigned char port_no;	/*primary-0, secondary=1 */
-	struct sata_ioports ioaddr;	/*ATA cmd/ctl/dma reg blks */
+	unsigned char port_no;		/* primary=0, secondary=1	*/
+	struct sata_ioports ioaddr;	/* ATA cmd/ctl/dma reg blks	*/
 	unsigned char ctl_reg;
 	unsigned char last_ctl;
-	unsigned char port_state;	/*1-port is present and 
-					   0-port is not available */
+	unsigned char port_state;	/* 1-port is present and	*/
+					   0-port is not available	*/
 	unsigned char dev_mask;
 };
 
