[PATCH 2.6.13-rc6] more whitespace cleanups for cpqfcTS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



More whitespace cleanups:
-remove trailing whitespace
-remove brakets around return statements
-remove some double (or more) newlines

Signed-off-by: Rolf Eike Beer <[email protected]>

--- a/drivers/scsi/cpqfcTSi2c.c	2005-08-07 20:18:56.000000000 +0200
+++ b/drivers/scsi/cpqfcTSi2c.c	2005-08-14 15:47:35.000000000 +0200
@@ -1,6 +1,6 @@
-/* Copyright(c) 2000, Compaq Computer Corporation 
- * Fibre Channel Host Bus Adapter 
- * 64-bit, 66MHz PCI 
+/* Copyright(c) 2000, Compaq Computer Corporation
+ * Fibre Channel Host Bus Adapter
+ * 64-bit, 66MHz PCI
  * Originally developed and tested on:
  * (front): [chip] Tachyon TS HPFC-5166A/1.2  L2C1090 ...
  *          SP# P225CXCBFIEL6T, Rev XC
@@ -18,16 +18,15 @@
  * General Public License for more details.
  * Written by Don Zimmerman
 */
-// These functions control the NVRAM I2C hardware on 
+// These functions control the NVRAM I2C hardware on
 // non-intelligent Fibre Host Adapters.
-// The primary purpose is to read the HBA's NVRAM to get adapter's 
+// The primary purpose is to read the HBA's NVRAM to get adapter's
 // manufactured WWN to copy into Tachyon chip registers
 // Orignal source author unknown
 
 #include <linux/types.h>
 enum boolean { FALSE, TRUE } ;
 
-
 #ifndef UCHAR
 typedef __u8 UCHAR;
 #endif
@@ -41,7 +40,6 @@ typedef __u16 USHORT;
 typedef __u32 ULONG;
 #endif
 
-
 #include <linux/string.h>
 #include <linux/pci.h>
 #include <linux/delay.h>
@@ -61,7 +59,7 @@ static void tl_i2c_tx_byte( void* GPIOou
 // Tachlite GPIO2, GPIO3 (I2C) DEFINES
 // The NVRAM chip NM24C03 defines SCL (serial clock) and SDA (serial data)
 // GPIO2 drives SDA, and GPIO3 drives SCL
-// 
+//
 // Since Tachlite inverts the state of the GPIO 0-3 outputs, SET writes 0
 // and clear writes 1. The input lines (read in TL status) is NOT inverted
 // This really helps confuse the code and debugging.
@@ -78,7 +76,6 @@ static void tl_i2c_tx_byte( void* GPIOou
 
 #define SLAVE_READ_ADDRESS    0xA1
 #define SLAVE_WRITE_ADDRESS   0xA0
-					      
 
 static void i2c_delay(ULONG mstime);
 static void tl_i2c_clock_pulse( UCHAR , void* GPIOout);
@@ -102,9 +99,9 @@ static unsigned short tl_i2c_rx_ack( voi
 	// slave must drive data low for acknowledge
   value = tl_read_i2c_data( GPIOin);
   if (value & SENSE_DATA_HI )
-    return( FALSE );
+    return FALSE;
 
-  return( TRUE );
+  return TRUE;
 }
 //-----------------------------------------------------------------------------
 //
@@ -116,7 +113,7 @@ static unsigned short tl_i2c_rx_ack( voi
 //-----------------------------------------------------------------------------
 static UCHAR tl_read_i2c_data( void* gpioreg )
 {
-  return( (UCHAR)(readl( gpioreg ) & 0x08L) ); // GPIO3
+  return (UCHAR)(readl( gpioreg ) & 0x08L); // GPIO3
 }
 //-----------------------------------------------------------------------------
 //
@@ -171,16 +168,15 @@ static unsigned short tl_i2c_tx_start( v
 		// if he's still driving data low after 10 clocks, abort
     value = tl_read_i2c_data( GPIOin ); // read status
     if (!(value & 0x08) )
-      return( FALSE );
+      return FALSE;
   }
 
-
 	// To START, bring data low while clock high
   tl_write_i2c_reg(  GPIOout, SET_CLOCK_HI | SET_DATA_LO );
 
   i2c_delay(0);
 
-  return( TRUE );                           // TX start successful
+  return TRUE;                           // TX start successful
 }
 //-----------------------------------------------------------------------------
 //
@@ -194,7 +190,7 @@ static unsigned short tl_i2c_tx_stop( vo
 {
   int i;
 
-  for (i = 0; i < 10; i++) 
+  for (i = 0; i < 10; i++)
   {
   // Send clock pulse, drive data line low
     tl_i2c_clock_pulse( SET_DATA_LO, GPIOout );
@@ -207,10 +203,10 @@ static unsigned short tl_i2c_tx_stop( vo
 
   // If slave is driving data line low, there's a problem; retry
     if ( tl_read_i2c_data(GPIOin) & SENSE_DATA_HI )
-      return( TRUE );  // TX STOP successful!
+      return TRUE;  // TX STOP successful!
   }
 
-  return( FALSE );                      // error
+  return FALSE;                      // error
 }
 //-----------------------------------------------------------------------------
 //
@@ -229,7 +225,7 @@ static void tl_i2c_tx_byte( void* GPIOou
       tl_i2c_clock_pulse( (UCHAR)SET_DATA_HI, GPIOout);
     else
       tl_i2c_clock_pulse( (UCHAR)SET_DATA_LO, GPIOout);
-  }  
+  }
 }
 //-----------------------------------------------------------------------------
 //
@@ -243,7 +239,6 @@ static UCHAR tl_i2c_rx_byte( void* GPIOi
   UCHAR bit;
   UCHAR data = 0;
 
-
   for (bit = 0x80; bit; bit >>= 1) {
     // do clock pulse, let data line float high
     tl_i2c_clock_pulse( SET_DATA_HI, GPIOout );
@@ -253,7 +248,7 @@ static UCHAR tl_i2c_rx_byte( void* GPIOi
       data |= bit;
   }
 
-  return (data);
+  return data;
 }
 //*****************************************************************************
 //*****************************************************************************
@@ -275,12 +270,12 @@ unsigned long cpqfcTS_ReadNVRAM( void* G
   // Select the NVRAM for "dummy" write, to set the address
   tl_i2c_tx_byte( GPIOout , SLAVE_WRITE_ADDRESS );
   if ( !tl_i2c_rx_ack(GPIOin, GPIOout ) )
-    return( FALSE );
+    return FALSE;
 
-  // Now send the address where we want to start reading  
+  // Now send the address where we want to start reading
   tl_i2c_tx_byte( GPIOout , 0 );
   if ( !tl_i2c_rx_ack(GPIOin, GPIOout ) )
-    return( FALSE );
+    return FALSE;
 
   // Send a repeated start condition and select the
   //  slave for reading now.
@@ -288,11 +283,11 @@ unsigned long cpqfcTS_ReadNVRAM( void* G
     tl_i2c_tx_byte( GPIOout, SLAVE_READ_ADDRESS );
 
   if ( !tl_i2c_rx_ack(GPIOin, GPIOout) )
-    return( FALSE );
+    return FALSE;
 
   // this loop will now read out the data and store it
   //  in the buffer pointed to by buf
-  for ( i=0; i<count; i++) 
+  for (i = 0; i < count; i++)
   {
     *buf++ = tl_i2c_rx_byte(GPIOin, GPIOout);
 
@@ -307,7 +302,7 @@ unsigned long cpqfcTS_ReadNVRAM( void* G
 
   tl_i2c_tx_stop(GPIOin, GPIOout);
 
-  return( TRUE );
+  return TRUE;
 }
 
 //****************************************************************
@@ -354,7 +349,6 @@ static void tl_i2c_clock_pulse( UCHAR va
 
   i2c_delay(0);
 
-
   // read the port to preserve non-I2C bits
   ret_val = readl( GPIOout );
 
@@ -369,14 +363,10 @@ static void tl_i2c_clock_pulse( UCHAR va
 
   i2c_delay(0);
 
-
   //set clock bit
   tl_set_clock( GPIOout);
 }
 
-
-
-
 //*****************************************************************
 //
 //
@@ -397,18 +387,16 @@ int cpqfcTS_GetNVRAM_data( UCHAR *wwnbuf
   UCHAR  sub_name;
   UCHAR  done;
   int iReturn=0;  // def. 0 offset is failure to find WWN field
-  
-
-	  
+	
   data_ptr = (UCHAR *)buf;
 
   done = FALSE;
   i = 0;
 
-  while ( (i < 128) && (!done) ) 
+  while ( (i < 128) && (!done) )
   {
     z = data_ptr[i];\
-    if ( !(z & 0x80) )  
+    if ( !(z & 0x80) )
     {	
       len  = 1 + (z & 0x07);
 
@@ -416,12 +404,12 @@ int cpqfcTS_GetNVRAM_data( UCHAR *wwnbuf
       if (name == 0x0F)
         done = TRUE;
     }
-    else 
+    else
     {
       name = z & 0x7F;
       len  = 3 + data_ptr[i+1] + (data_ptr[i+2] << 8);
-           
-      switch (name) 
+
+      switch (name)
       {
       case 0x0D:
 	//
@@ -434,10 +422,10 @@ int cpqfcTS_GetNVRAM_data( UCHAR *wwnbuf
 
 	  while ( j<(i+len) ) {
 	    sub_name = (data_ptr[j] & 0x3f);
-	    sub_len  = data_ptr[j+1] + 
+	    sub_len  = data_ptr[j+1] +
 	               (data_ptr[j+2] << 8);
-            ptr_inc  = sub_len + 3; 
-	    switch (sub_name) 
+            ptr_inc  = sub_len + 3;
+	    switch (sub_name)
 	    {
 	    case 0x3C:
               memcpy( wwnbuf, &data_ptr[j+3], 8);
@@ -451,27 +439,23 @@ int cpqfcTS_GetNVRAM_data( UCHAR *wwnbuf
 	  break;
         default:
 	  break;
-      }  
-    }  
+      }
+    }
   //
     i += len;
-  }  // end while 
+  }  // end while
   return iReturn;
 }
 
-
-
-
-
 // define a short 5 micro sec delay, and longer (ms) delay
 
 static void i2c_delay(ULONG mstime)
 {
   ULONG i;
-  
+
 // NOTE: we only expect to use these delays when reading
 // our adapter's NVRAM, which happens only during adapter reset.
-// Delay technique from "Linux Device Drivers", A. Rubini 
+// Delay technique from "Linux Device Drivers", A. Rubini
 // (1st Ed.) pg 137.
 
 //  printk(" delay %lx  ", mstime);
@@ -483,11 +467,8 @@ static void i2c_delay(ULONG mstime)
 	
   }
   else  // 5 micro sec delay
-  
+
     udelay( 5 ); // micro secs
-  
+
 //  printk("done\n");
 }
-
-
-
--- a/drivers/scsi/cpqfcTSinit.c	2005-08-14 15:05:20.000000000 +0200
+++ b/drivers/scsi/cpqfcTSinit.c	2005-08-14 15:05:57.000000000 +0200
@@ -1,6 +1,6 @@
-/* Copyright(c) 2000, Compaq Computer Corporation 
- * Fibre Channel Host Bus Adapter 
- * 64-bit, 66MHz PCI 
+/* Copyright(c) 2000, Compaq Computer Corporation
+ * Fibre Channel Host Bus Adapter
+ * 64-bit, 66MHz PCI
  * Originally developed and tested on:
  * (front): [chip] Tachyon TS HPFC-5166A/1.2  L2C1090 ...
  *          SP# P225CXCBFIEL6T, Rev XC
@@ -24,15 +24,15 @@
  * QLogic CPQFCTS SCSI-FCP
  * Written by Erik H. Moe, [email protected]
  * Copyright 1995, Erik H. Moe
- * Renamed and updated to 1.3.x by Michael Griffith <[email protected]> 
+ * Renamed and updated to 1.3.x by Michael Griffith <[email protected]>
  * Chris Loveland <[email protected]> to support the isp2100 and isp2200
 */
 
 
-#include <linux/config.h>  
-#include <linux/interrupt.h>  
+#include <linux/config.h>
+#include <linux/interrupt.h>
 #include <linux/module.h>
-#include <linux/version.h> 
+#include <linux/version.h>
 #include <linux/blkdev.h>
 #include <linux/kernel.h>
 #include <linux/string.h>
@@ -61,10 +61,10 @@
 MODULE_AUTHOR("Compaq Computer Corporation");
 MODULE_DESCRIPTION("Driver for Compaq 64-bit/66Mhz PCI Fibre Channel HBA v. 2.5.4");
 MODULE_LICENSE("GPL");
-  
+
 int cpqfcTS_TargetDeviceReset( Scsi_Device *ScsiDev, unsigned int reset_flags);
 
-// This struct was originally defined in 
+// This struct was originally defined in
 // /usr/src/linux/include/linux/proc_fs.h
 // since it's only partially implemented, we only use first
 // few fields...
@@ -86,91 +86,91 @@ static int cpqfc_alloc_private_data_pool
 */
 static void Cpqfc_initHBAdata(CPQFCHBA *cpqfcHBAdata, struct pci_dev *PciDev )
 {
-             
+
   cpqfcHBAdata->PciDev = PciDev; // copy PCI info ptr
 
   // since x86 port space is 64k, we only need the lower 16 bits
-  cpqfcHBAdata->fcChip.Registers.IOBaseL = 
+  cpqfcHBAdata->fcChip.Registers.IOBaseL =
     PciDev->resource[1].start & PCI_BASE_ADDRESS_IO_MASK;
-  
-  cpqfcHBAdata->fcChip.Registers.IOBaseU = 
+
+  cpqfcHBAdata->fcChip.Registers.IOBaseU =
     PciDev->resource[2].start & PCI_BASE_ADDRESS_IO_MASK;
-  
+
   // 32-bit memory addresses
-  cpqfcHBAdata->fcChip.Registers.MemBase = 
+  cpqfcHBAdata->fcChip.Registers.MemBase =
     PciDev->resource[3].start & PCI_BASE_ADDRESS_MEM_MASK;
 
-  cpqfcHBAdata->fcChip.Registers.ReMapMemBase = 
+  cpqfcHBAdata->fcChip.Registers.ReMapMemBase =
     ioremap( PciDev->resource[3].start & PCI_BASE_ADDRESS_MEM_MASK,
              0x200);
-  
-  cpqfcHBAdata->fcChip.Registers.RAMBase = 
+
+  cpqfcHBAdata->fcChip.Registers.RAMBase =
     PciDev->resource[4].start;
-  
+
   cpqfcHBAdata->fcChip.Registers.SROMBase =  // NULL for HP TS adapter
     PciDev->resource[5].start;
-  
+
   // now the Tachlite chip registers
   // the REGISTER struct holds both the physical address & last
   // written value (some TL registers are WRITE ONLY)
 
-  cpqfcHBAdata->fcChip.Registers.SFQconsumerIndex.address = 
+  cpqfcHBAdata->fcChip.Registers.SFQconsumerIndex.address =
         cpqfcHBAdata->fcChip.Registers.ReMapMemBase + TL_MEM_SFQ_CONSUMER_INDEX;
 
-  cpqfcHBAdata->fcChip.Registers.ERQproducerIndex.address = 
+  cpqfcHBAdata->fcChip.Registers.ERQproducerIndex.address =
         cpqfcHBAdata->fcChip.Registers.ReMapMemBase + TL_MEM_ERQ_PRODUCER_INDEX;
-      
+
   // TL Frame Manager
-  cpqfcHBAdata->fcChip.Registers.FMconfig.address = 
+  cpqfcHBAdata->fcChip.Registers.FMconfig.address =
         cpqfcHBAdata->fcChip.Registers.ReMapMemBase + TL_MEM_FM_CONFIG;
-  cpqfcHBAdata->fcChip.Registers.FMcontrol.address = 
+  cpqfcHBAdata->fcChip.Registers.FMcontrol.address =
         cpqfcHBAdata->fcChip.Registers.ReMapMemBase + TL_MEM_FM_CONTROL;
-  cpqfcHBAdata->fcChip.Registers.FMstatus.address = 
+  cpqfcHBAdata->fcChip.Registers.FMstatus.address =
         cpqfcHBAdata->fcChip.Registers.ReMapMemBase + TL_MEM_FM_STATUS;
-  cpqfcHBAdata->fcChip.Registers.FMLinkStatus1.address = 
+  cpqfcHBAdata->fcChip.Registers.FMLinkStatus1.address =
         cpqfcHBAdata->fcChip.Registers.ReMapMemBase + TL_MEM_FM_LINK_STAT1;
-  cpqfcHBAdata->fcChip.Registers.FMLinkStatus2.address = 
+  cpqfcHBAdata->fcChip.Registers.FMLinkStatus2.address =
         cpqfcHBAdata->fcChip.Registers.ReMapMemBase + TL_MEM_FM_LINK_STAT2;
-  cpqfcHBAdata->fcChip.Registers.FMBB_CreditZero.address = 
+  cpqfcHBAdata->fcChip.Registers.FMBB_CreditZero.address =
         cpqfcHBAdata->fcChip.Registers.ReMapMemBase + TL_MEM_FM_BB_CREDIT0;
-      
+
       // TL Control Regs
-  cpqfcHBAdata->fcChip.Registers.TYconfig.address = 
+  cpqfcHBAdata->fcChip.Registers.TYconfig.address =
         cpqfcHBAdata->fcChip.Registers.ReMapMemBase + TL_MEM_TACH_CONFIG;
-  cpqfcHBAdata->fcChip.Registers.TYcontrol.address = 
+  cpqfcHBAdata->fcChip.Registers.TYcontrol.address =
         cpqfcHBAdata->fcChip.Registers.ReMapMemBase + TL_MEM_TACH_CONTROL;
-  cpqfcHBAdata->fcChip.Registers.TYstatus.address = 
+  cpqfcHBAdata->fcChip.Registers.TYstatus.address =
         cpqfcHBAdata->fcChip.Registers.ReMapMemBase + TL_MEM_TACH_STATUS;
-  cpqfcHBAdata->fcChip.Registers.rcv_al_pa.address = 
+  cpqfcHBAdata->fcChip.Registers.rcv_al_pa.address =
         cpqfcHBAdata->fcChip.Registers.ReMapMemBase + TL_MEM_FM_RCV_AL_PA;
-  cpqfcHBAdata->fcChip.Registers.ed_tov.address = 
+  cpqfcHBAdata->fcChip.Registers.ed_tov.address =
         cpqfcHBAdata->fcChip.Registers.ReMapMemBase + TL_MEM_FM_ED_TOV;
 
 
-  cpqfcHBAdata->fcChip.Registers.INTEN.address = 
+  cpqfcHBAdata->fcChip.Registers.INTEN.address =
 	        cpqfcHBAdata->fcChip.Registers.ReMapMemBase + IINTEN;
-  cpqfcHBAdata->fcChip.Registers.INTPEND.address = 
+  cpqfcHBAdata->fcChip.Registers.INTPEND.address =
 	        cpqfcHBAdata->fcChip.Registers.ReMapMemBase + IINTPEND;
-  cpqfcHBAdata->fcChip.Registers.INTSTAT.address = 
+  cpqfcHBAdata->fcChip.Registers.INTSTAT.address =
         cpqfcHBAdata->fcChip.Registers.ReMapMemBase + IINTSTAT;
 
   DEBUG_PCI(printk("  cpqfcHBAdata->fcChip.Registers. :\n"));
-  DEBUG_PCI(printk("    IOBaseL = %x\n", 
+  DEBUG_PCI(printk("    IOBaseL = %x\n",
     cpqfcHBAdata->fcChip.Registers.IOBaseL));
-  DEBUG_PCI(printk("    IOBaseU = %x\n", 
+  DEBUG_PCI(printk("    IOBaseU = %x\n",
     cpqfcHBAdata->fcChip.Registers.IOBaseU));
-  
+
   /* printk(" ioremap'd Membase: %p\n", cpqfcHBAdata->fcChip.Registers.ReMapMemBase); */
-  
-  DEBUG_PCI(printk("    SFQconsumerIndex.address = %p\n", 
+
+  DEBUG_PCI(printk("    SFQconsumerIndex.address = %p\n",
     cpqfcHBAdata->fcChip.Registers.SFQconsumerIndex.address));
-  DEBUG_PCI(printk("    ERQproducerIndex.address = %p\n", 
+  DEBUG_PCI(printk("    ERQproducerIndex.address = %p\n",
     cpqfcHBAdata->fcChip.Registers.ERQproducerIndex.address));
-  DEBUG_PCI(printk("    TYconfig.address = %p\n", 
+  DEBUG_PCI(printk("    TYconfig.address = %p\n",
     cpqfcHBAdata->fcChip.Registers.TYconfig.address));
-  DEBUG_PCI(printk("    FMconfig.address = %p\n", 
+  DEBUG_PCI(printk("    FMconfig.address = %p\n",
     cpqfcHBAdata->fcChip.Registers.FMconfig.address));
-  DEBUG_PCI(printk("    FMcontrol.address = %p\n", 
+  DEBUG_PCI(printk("    FMcontrol.address = %p\n",
     cpqfcHBAdata->fcChip.Registers.FMcontrol.address));
 
   // set default options for FC controller (chip)
@@ -190,15 +190,15 @@ static void Cpqfc_initHBAdata(CPQFCHBA *
   cpqfcHBAdata->fcChip.UnFreezeTachyon = CpqTsUnFreezeTachlite;
   cpqfcHBAdata->fcChip.CreateTachyonQues = CpqTsCreateTachLiteQues;
   cpqfcHBAdata->fcChip.DestroyTachyonQues = CpqTsDestroyTachLiteQues;
-  cpqfcHBAdata->fcChip.InitializeTachyon = CpqTsInitializeTachLite;  
-  cpqfcHBAdata->fcChip.LaserControl = CpqTsLaserControl;  
+  cpqfcHBAdata->fcChip.InitializeTachyon = CpqTsInitializeTachLite;
+  cpqfcHBAdata->fcChip.LaserControl = CpqTsLaserControl;
   cpqfcHBAdata->fcChip.ProcessIMQEntry = CpqTsProcessIMQEntry;
   cpqfcHBAdata->fcChip.InitializeFrameManager = CpqTsInitializeFrameManager;
   cpqfcHBAdata->fcChip.ReadWriteWWN = CpqTsReadWriteWWN;
   cpqfcHBAdata->fcChip.ReadWriteNVRAM = CpqTsReadWriteNVRAM;
 
       if (cpqfc_alloc_private_data_pool(cpqfcHBAdata) != 0) {
-		printk(KERN_WARNING 
+		printk(KERN_WARNING
 			"cpqfc: unable to allocate pool for passthru ioctls.  "
 			"Passthru ioctls disabled.\n");
       }
@@ -213,12 +213,12 @@ static void launch_FCworker_thread(struc
   CPQFCHBA *cpqfcHBAdata = (CPQFCHBA *)HostAdapter->hostdata;
 
   ENTER("launch_FC_worker_thread");
-             
+
   cpqfcHBAdata->notify_wt = &sem;
 
   /* must unlock before kernel_thread(), for it may cause a reschedule. */
   spin_unlock_irq(HostAdapter->host_lock);
-  kernel_thread((int (*)(void *))cpqfcTSWorkerThread, 
+  kernel_thread((int (*)(void *))cpqfcTSWorkerThread,
                           (void *) HostAdapter, 0);
   /*
    * Now wait for the kernel error thread to initialize itself
@@ -229,16 +229,16 @@ static void launch_FCworker_thread(struc
   cpqfcHBAdata->notify_wt = NULL;
 
   LEAVE("launch_FC_worker_thread");
- 
+
 }
 
 
-/* "Entry" point to discover if any supported PCI 
+/* "Entry" point to discover if any supported PCI
    bus adapter can be found
 */
 /* We're supporting:
  * Compaq 64-bit, 66MHz HBA with Tachyon TS
- * Agilent XL2 
+ * Agilent XL2
  * HP Tachyon
  */
 static struct pci_device_id cpqfc_boards[] __initdata = {
@@ -255,7 +255,7 @@ int cpqfcTS_detect(Scsi_Host_Template *S
   int NumberOfAdapters=0; // how many of our PCI adapters are found?
   struct pci_dev *PciDev = NULL;
   struct Scsi_Host *HostAdapter = NULL;
-  CPQFCHBA *cpqfcHBAdata = NULL; 
+  CPQFCHBA *cpqfcHBAdata = NULL;
   struct timer_list *cpqfcTStimer = NULL;
   int i;
 
@@ -271,7 +271,7 @@ int cpqfcTS_detect(Scsi_Host_Template *S
       }
 
       if (pci_set_dma_mask(PciDev, CPQFCTS_DMA_MASK) != 0) {
-	printk(KERN_WARNING 
+	printk(KERN_WARNING
 		"cpqfc: HBA cannot support required DMA mask, skipping.\n");
 	goto err_disable_dev;
       }
@@ -281,7 +281,7 @@ int cpqfcTS_detect(Scsi_Host_Template *S
 		      (ULONG)sizeof(CPQFCHBA)); */
 
       HostAdapter = scsi_register( ScsiHostTemplate, sizeof( CPQFCHBA ) );
-      
+
       if(HostAdapter == NULL) {
 	printk(KERN_WARNING
 		"cpqfc: can't register SCSI HBA, skipping.\n");
@@ -289,34 +289,34 @@ int cpqfcTS_detect(Scsi_Host_Template *S
       }
       DEBUG_PCI( printk("  HBA found!\n"));
       DEBUG_PCI( printk("  HostAdapter->PciDev->irq = %u\n", PciDev->irq) );
-      DEBUG_PCI(printk("  PciDev->baseaddress[0]= %lx\n", 
+      DEBUG_PCI(printk("  PciDev->baseaddress[0]= %lx\n",
 				PciDev->resource[0].start));
-      DEBUG_PCI(printk("  PciDev->baseaddress[1]= %lx\n", 
+      DEBUG_PCI(printk("  PciDev->baseaddress[1]= %lx\n",
 				PciDev->resource[1].start));
-      DEBUG_PCI(printk("  PciDev->baseaddress[2]= %lx\n", 
+      DEBUG_PCI(printk("  PciDev->baseaddress[2]= %lx\n",
 				PciDev->resource[2].start));
-      DEBUG_PCI(printk("  PciDev->baseaddress[3]= %lx\n", 
+      DEBUG_PCI(printk("  PciDev->baseaddress[3]= %lx\n",
 				PciDev->resource[3].start));
 
       HostAdapter->irq = PciDev->irq;  // copy for Scsi layers
-      
+
       // HP Tachlite uses two (255-byte) ranges of Port I/O (lower & upper),
       // for a total I/O port address space of 512 bytes.
       // mask out the I/O port address (lower) & record
       HostAdapter->io_port = (unsigned int)
 	     PciDev->resource[1].start & PCI_BASE_ADDRESS_IO_MASK;
       HostAdapter->n_io_port = 0xff;
-      
+
       // i.e., expect 128 targets (arbitrary number), while the
       //  RA-4000 supports 32 LUNs
-      HostAdapter->max_id =  0;   // incremented as devices log in    
+      HostAdapter->max_id =  0;   // incremented as devices log in
       HostAdapter->max_lun = CPQFCTS_MAX_LUN;         // LUNs per FC device
       HostAdapter->max_channel = CPQFCTS_MAX_CHANNEL; // multiple busses?
-      
+
       // get the pointer to our HBA specific data... (one for
       // each HBA on the PCI bus(ses)).
       cpqfcHBAdata = (CPQFCHBA *)HostAdapter->hostdata;
-      
+
       // make certain our data struct is clear
       memset( cpqfcHBAdata, 0, sizeof( CPQFCHBA ) );
 
@@ -326,7 +326,7 @@ int cpqfcTS_detect(Scsi_Host_Template *S
 
       cpqfcHBAdata->HostAdapter = HostAdapter; // back ptr
       Cpqfc_initHBAdata( cpqfcHBAdata, PciDev ); // fill MOST fields
-     
+
       cpqfcHBAdata->HBAnum = NumberOfAdapters;
       spin_lock_init(&cpqfcHBAdata->hba_spinlock);
 
@@ -350,7 +350,7 @@ int cpqfcTS_detect(Scsi_Host_Template *S
 			cpqfcHBAdata->fcChip.Registers.IOBaseU);
 	goto err_free_irq;
       }	
-      
+
       if( !request_region( cpqfcHBAdata->fcChip.Registers.IOBaseL,
       			   0xff, DEV_NAME ) )
       {
@@ -358,15 +358,15 @@ int cpqfcTS_detect(Scsi_Host_Template *S
 	      			cpqfcHBAdata->fcChip.Registers.IOBaseL);
 	goto err_release_region_U;
       }	
-      
+
       // OK, we have grabbed everything we need now.
       DEBUG_PCI(printk("  Reserved 255 I/O addresses @ %x\n",
         cpqfcHBAdata->fcChip.Registers.IOBaseL ));
       DEBUG_PCI(printk("  Reserved 255 I/O addresses @ %x\n",
         cpqfcHBAdata->fcChip.Registers.IOBaseU ));
 
-     
- 
+
+
       // start our kernel worker thread
 
       spin_lock_irq(HostAdapter->host_lock);
@@ -392,7 +392,7 @@ int cpqfcTS_detect(Scsi_Host_Template *S
       }
 
       cpqfcHBAdata->fcStatsTime = jiffies;  // (for FC Statistics delta)
-      
+
       // give our HBA time to initialize and login current devices...
       {
 	// The Brocade switch (e.g. 2400, 2010, etc.) as of March 2000,
@@ -411,13 +411,13 @@ int cpqfcTS_detect(Scsi_Host_Template *S
 
 	spin_unlock_irq(HostAdapter->host_lock);
 	stop_time = jiffies + 4*HZ;
-        while ( time_before(jiffies, stop_time) ) 
+        while ( time_before(jiffies, stop_time) )
 	  	schedule();  // (our worker task needs to run)
 
       }
-      
+
       spin_lock_irq(HostAdapter->host_lock);
-      NumberOfAdapters++; 
+      NumberOfAdapters++;
       spin_unlock_irq(HostAdapter->host_lock);
 
       continue;
@@ -438,7 +438,7 @@ err_continue:
   }
 
   LEAVE("cpqfcTS_detect");
- 
+
   return NumberOfAdapters;
 }
 
@@ -446,22 +446,22 @@ err_continue:
 static void my_ioctl_done (Scsi_Cmnd * SCpnt)
 {
     struct request * req;
-    
+
     req = SCpnt->request;
     req->rq_status = RQ_SCSI_DONE; /* Busy, but indicate request done */
-  
+
     if (req->CPQFC_WAITING != NULL)
 	CPQFC_COMPLETE(req->CPQFC_WAITING);
-}   
+}
 #endif
 
 static int cpqfc_alloc_private_data_pool(CPQFCHBA *hba)
 {
 	hba->private_data_bits = NULL;
 	hba->private_data_pool = NULL;
-	hba->private_data_bits = 
+	hba->private_data_bits =
 		kmalloc(((CPQFC_MAX_PASSTHRU_CMDS+BITS_PER_LONG-1) /
-				BITS_PER_LONG)*sizeof(unsigned long), 
+				BITS_PER_LONG)*sizeof(unsigned long),
 				GFP_KERNEL);
 	if (hba->private_data_bits == NULL)
 		return -1;
@@ -496,10 +496,10 @@ int is_private_data_of_cpqfc(CPQFCHBA *h
 	   forged to be somewhere in our pool..., though they'd
 	   normally have to be root already to do this.  */
 
-	return (pointer != NULL && 
-		pointer >= (void *) hba->private_data_pool && 
-		pointer < (void *) hba->private_data_pool + 
-			sizeof(*hba->private_data_pool) * 
+	return (pointer != NULL &&
+		pointer >= (void *) hba->private_data_pool &&
+		pointer < (void *) hba->private_data_pool +
+			sizeof(*hba->private_data_pool) *
 				CPQFC_MAX_PASSTHRU_CMDS);
 }
 
@@ -508,11 +508,11 @@ cpqfc_passthru_private_t *cpqfc_alloc_pr
 	int i;
 
 	do {
-		i = find_first_zero_bit(hba->private_data_bits, 
+		i = find_first_zero_bit(hba->private_data_bits,
 			CPQFC_MAX_PASSTHRU_CMDS);
 		if (i == CPQFC_MAX_PASSTHRU_CMDS)
 			return NULL;
-	} while ( test_and_set_bit(i & (BITS_PER_LONG - 1), 
+	} while ( test_and_set_bit(i & (BITS_PER_LONG - 1),
 			hba->private_data_bits+(i/BITS_PER_LONG)) != 0);
 	return &hba->private_data_pool[i];
 }
@@ -521,7 +521,7 @@ void cpqfc_free_private_data(CPQFCHBA *h
 {
 	int i;
 	i = data - hba->private_data_pool;
-	clear_bit(i&(BITS_PER_LONG-1), 
+	clear_bit(i&(BITS_PER_LONG-1),
 			hba->private_data_bits+(i/BITS_PER_LONG));
 }
 
@@ -584,7 +584,7 @@ int cpqfcTS_ioctl( struct scsi_device *S
 		kfree(buf);
 		return -ENOMEM;
 	}
-	ScsiPassThruReq->upper_private_data = 
+	ScsiPassThruReq->upper_private_data =
 			cpqfc_alloc_private_data(cpqfcHBAdata);
 	if (ScsiPassThruReq->upper_private_data == NULL) {
 		kfree(buf);
@@ -594,22 +594,22 @@ int cpqfcTS_ioctl( struct scsi_device *S
 
 	if (vendor_cmd->rw_flag == VENDOR_WRITE_OPCODE) {
 		if (vendor_cmd->len) { // Need data from user?
-        		if (copy_from_user(buf, vendor_cmd->bufp, 
+        		if (copy_from_user(buf, vendor_cmd->bufp,
 						vendor_cmd->len)) {
 				kfree(buf);
-				cpqfc_free_private_data(cpqfcHBAdata, 
+				cpqfc_free_private_data(cpqfcHBAdata,
 					ScsiPassThruReq->upper_private_data);
 				scsi_release_request(ScsiPassThruReq);
 				return( -EFAULT);
 			}
 		}
-		ScsiPassThruReq->sr_data_direction = DMA_TO_DEVICE; 
+		ScsiPassThruReq->sr_data_direction = DMA_TO_DEVICE;
 	} else if (vendor_cmd->rw_flag == VENDOR_READ_OPCODE) {
 		ScsiPassThruReq->sr_data_direction = DMA_FROM_DEVICE;
 	} else
 		// maybe this means a bug in the user app
 		ScsiPassThruReq->sr_data_direction = DMA_BIDIRECTIONAL;
-	    
+	
 	ScsiPassThruReq->sr_cmd_len = 0; // set correctly by scsi_do_req()
 	ScsiPassThruReq->sr_sense_buffer[0] = 0;
 	ScsiPassThruReq->sr_sense_buffer[2] = 0;
@@ -625,8 +625,8 @@ int cpqfcTS_ioctl( struct scsi_device *S
 	privatedata->pdrive = vendor_cmd->pdrive;
 	
         // eventually gets us to our own _quecommand routine
-	scsi_wait_req(ScsiPassThruReq, 
-		&vendor_cmd->cdb[0], buf, vendor_cmd->len, 
+	scsi_wait_req(ScsiPassThruReq,
+		&vendor_cmd->cdb[0], buf, vendor_cmd->len,
 		10*HZ,  // timeout
 		1);	// retries
         result = ScsiPassThruReq->sr_result;
@@ -635,12 +635,12 @@ int cpqfcTS_ioctl( struct scsi_device *S
         if( result != 0 )
 	{
 	  memcpy( vendor_cmd->sense_data, // see struct def - size=40
-		  ScsiPassThruReq->sr_sense_buffer, 
+		  ScsiPassThruReq->sr_sense_buffer,
 		  sizeof(ScsiPassThruReq->sr_sense_buffer) <
                   sizeof(vendor_cmd->sense_data)           ?
                   sizeof(ScsiPassThruReq->sr_sense_buffer) :
                   sizeof(vendor_cmd->sense_data)
-                ); 
+                );
 	}
         SDpnt = ScsiPassThruReq->sr_device;
 	/* upper_private_data is already freed in call_scsi_done() */
@@ -653,12 +653,12 @@ int cpqfcTS_ioctl( struct scsi_device *S
         if(  copy_to_user( vendor_cmd->bufp, buf, vendor_cmd->len))
 		result = -EFAULT;
 
-        if( buf) 
+        if( buf)
 	  kfree( buf);
 
         return result;
       }
-      
+
       case CPQFCTS_GETPCIINFO:
       {
 	cpqfc_pci_info_struct pciinfo;
@@ -669,10 +669,10 @@ int cpqfcTS_ioctl( struct scsi_device *S
          	
 	
         pciinfo.bus = cpqfcHBAdata->PciDev->bus->number;
-        pciinfo.dev_fn = cpqfcHBAdata->PciDev->devfn;  
+        pciinfo.dev_fn = cpqfcHBAdata->PciDev->devfn;
 	pciinfo.board_id = cpqfcHBAdata->PciDev->device |
-			  (cpqfcHBAdata->PciDev->vendor <<16); 
-	      
+			  (cpqfcHBAdata->PciDev->vendor <<16);
+	
         if(copy_to_user( arg, &pciinfo, sizeof(cpqfc_pci_info_struct)))
 		return( -EFAULT);
         return 0;
@@ -680,7 +680,7 @@ int cpqfcTS_ioctl( struct scsi_device *S
 
       case CPQFCTS_GETDRIVVER:
       {
-	DriverVer_type DriverVer = 
+	DriverVer_type DriverVer =
 		CPQFCTS_DRIVER_VER( VER_MAJOR,VER_MINOR,VER_SUBMINOR);
 	
 	if( !arg)
@@ -715,21 +715,21 @@ int cpqfcTS_ioctl( struct scsi_device *S
 	}
 	result = access_ok(VERIFY_WRITE, arg, sizeof(Scsi_FCTargAddress)) ? 0 : -EFAULT;
 	if (result) break;
- 
+
       put_user(pLoggedInPort->port_id,
 		&((Scsi_FCTargAddress *) arg)->host_port_id);
- 
+
       for( i=3,j=0; i>=0; i--)   	// copy the LOGIN port's WWN
-        put_user(pLoggedInPort->u.ucWWN[i], 
+        put_user(pLoggedInPort->u.ucWWN[i],
 		&((Scsi_FCTargAddress *) arg)->host_wwn[j++]);
       for( i=7; i>3; i--)		// copy the LOGIN port's WWN
-        put_user(pLoggedInPort->u.ucWWN[i], 
+        put_user(pLoggedInPort->u.ucWWN[i],
 		&((Scsi_FCTargAddress *) arg)->host_wwn[j++]);
         break;
 
 
       case CPQFC_IOCTL_FC_TDR:
-          
+
         result = cpqfcTS_TargetDeviceReset( ScsiDev, 0);
 
         break;
@@ -753,14 +753,14 @@ int cpqfcTS_ioctl( struct scsi_device *S
 
 int cpqfcTS_release(struct Scsi_Host *HostAdapter)
 {
-  CPQFCHBA *cpqfcHBAdata = (CPQFCHBA *)HostAdapter->hostdata; 
+  CPQFCHBA *cpqfcHBAdata = (CPQFCHBA *)HostAdapter->hostdata;
 
 
   ENTER("cpqfcTS_release");
 	
   DEBUG_PCI( printk(" cpqfcTS: delete timer...\n"));
-  del_timer( &cpqfcHBAdata->cpqfcTStimer);  
-    
+  del_timer( &cpqfcHBAdata->cpqfcTStimer);
+
   // disable the hardware...
   DEBUG_PCI( printk(" disable hardware, destroy queues, free mem\n"));
   cpqfcHBAdata->fcChip.ResetTachyon( cpqfcHBAdata, CLEAR_FCPORTS);
@@ -775,7 +775,7 @@ int cpqfcTS_release(struct Scsi_Host *Ho
     send_sig( SIGKILL, cpqfcHBAdata->worker_thread, 1);
     down( &sem);
     cpqfcHBAdata->notify_wt = NULL;
-    
+
   }
 
   cpqfc_free_private_data_pool(cpqfcHBAdata);
@@ -785,7 +785,7 @@ int cpqfcTS_release(struct Scsi_Host *Ho
   scsi_unregister( HostAdapter);
   release_region( cpqfcHBAdata->fcChip.Registers.IOBaseL, 0xff);
   release_region( cpqfcHBAdata->fcChip.Registers.IOBaseU, 0xff);
- /* we get "vfree: bad address" executing this - need to investigate... 
+ /* we get "vfree: bad address" executing this - need to investigate...
   if( (void*)((unsigned long)cpqfcHBAdata->fcChip.Registers.MemBase) !=
       cpqfcHBAdata->fcChip.Registers.ReMapMemBase)
     vfree( cpqfcHBAdata->fcChip.Registers.ReMapMemBase);
@@ -802,8 +802,8 @@ const char * cpqfcTS_info(struct Scsi_Ho
   static char buf[300];
   CPQFCHBA *cpqfcHBA;
   int BusSpeed, BusWidth;
-  
-  // get the pointer to our Scsi layer HBA buffer  
+
+  // get the pointer to our Scsi layer HBA buffer
   cpqfcHBA = (CPQFCHBA *)HostAdapter->hostdata;
 
   BusWidth = (cpqfcHBA->fcChip.Registers.PCIMCTR &0x4) > 0 ?
@@ -814,13 +814,13 @@ const char * cpqfcTS_info(struct Scsi_Ho
   else
     BusSpeed = 33;
 
-  sprintf(buf, 
+  sprintf(buf,
 "%s: WWN %08X%08X\n on PCI bus %d device 0x%02x irq %d IObaseL 0x%x, MEMBASE 0x%x\nPCI bus width %d bits, bus speed %d MHz\nFCP-SCSI Driver v%d.%d.%d",
-      cpqfcHBA->fcChip.Name, 
+      cpqfcHBA->fcChip.Name,
       cpqfcHBA->fcChip.Registers.wwn_hi,
       cpqfcHBA->fcChip.Registers.wwn_lo,
       cpqfcHBA->PciDev->bus->number,
-      cpqfcHBA->PciDev->device,  
+      cpqfcHBA->PciDev->device,
       HostAdapter->irq,
       cpqfcHBA->fcChip.Registers.IOBaseL,
       cpqfcHBA->fcChip.Registers.MemBase,
@@ -829,7 +829,7 @@ const char * cpqfcTS_info(struct Scsi_Ho
       VER_MAJOR, VER_MINOR, VER_SUBMINOR
 );
 
-  
+
   cpqfcTSDecodeGBICtype( &cpqfcHBA->fcChip, &buf[ strlen(buf)]);
   cpqfcTSGetLPSM( &cpqfcHBA->fcChip, &buf[ strlen(buf)]);
   return buf;
@@ -839,16 +839,16 @@ const char * cpqfcTS_info(struct Scsi_Ho
 // /proc/scsi support. The following routines allow us to do 'normal'
 // sprintf like calls to return the currently requested piece (buflenght
 // chars, starting at bufoffset) of the file. Although procfs allows for
-// a 1 Kb bytes overflow after te supplied buffer, I consider it bad 
+// a 1 Kb bytes overflow after te supplied buffer, I consider it bad
 // programming to use it to make programming a little simpler. This piece
-// of coding is borrowed from ncr53c8xx.c with some modifications 
+// of coding is borrowed from ncr53c8xx.c with some modifications
 //
 struct info_str
 {
         char *buffer;			// Pointer to output buffer
         int buflength;			// It's length
         int bufoffset;			// File offset corresponding with buf[0]
-	int buffillen;			// Current filled length 
+	int buffillen;			// Current filled length
         int filpos;			// Current file offset
 };
 
@@ -895,7 +895,7 @@ static int copy_info(struct info_str *in
 
 // Routine to get data for /proc RAM filesystem
 //
-int cpqfcTS_proc_info (struct Scsi_Host *host, char *buffer, char **start, off_t offset, int length, 
+int cpqfcTS_proc_info (struct Scsi_Host *host, char *buffer, char **start, off_t offset, int length,
 		       int inout)
 {
   struct scsi_cmnd *DumCmnd;
@@ -909,10 +909,10 @@ int cpqfcTS_proc_info (struct Scsi_Host 
 
   if (inout) return -EINVAL;
 
-  // get the pointer to our Scsi layer HBA buffer  
+  // get the pointer to our Scsi layer HBA buffer
   cpqfcHBA = (CPQFCHBA *)host->hostdata;
   fcChip = &cpqfcHBA->fcChip;
-  
+
   *start 	  = buffer;
 
   info.buffer     = buffer;
@@ -920,15 +920,15 @@ int cpqfcTS_proc_info (struct Scsi_Host 
   info.bufoffset  = offset;
   info.filpos     = 0;
   info.buffillen  = 0;
-  copy_info(&info, "Driver version = %d.%d.%d", VER_MAJOR, VER_MINOR, VER_SUBMINOR); 
+  copy_info(&info, "Driver version = %d.%d.%d", VER_MAJOR, VER_MINOR, VER_SUBMINOR);
   cpqfcTSDecodeGBICtype( &cpqfcHBA->fcChip, &buf[0]);
   cpqfcTSGetLPSM( &cpqfcHBA->fcChip, &buf[ strlen(buf)]);
-  copy_info(&info, "%s\n", buf); 
+  copy_info(&info, "%s\n", buf);
 
 #define DISPLAY_WWN_INFO
 #ifdef DISPLAY_WWN_INFO
   ScsiDev = scsi_get_host_dev (host);
-  if (!ScsiDev) 
+  if (!ScsiDev)
     return -ENOMEM;
   DumCmnd = scsi_get_command (ScsiDev, GFP_KERNEL);
   if (!DumCmnd) {
@@ -951,7 +951,7 @@ int cpqfcTS_proc_info (struct Scsi_Host 
           copy_info(&info, "%02X", pLoggedInPort->u.ucWWN[i]);
         for( i=7; i>3; i--)             // copy the LOGIN port's WWN
           copy_info(&info, "%02X", pLoggedInPort->u.ucWWN[i]);
-	copy_info(&info, " port_id: %06X\n", pLoggedInPort->port_id); 
+	copy_info(&info, " port_id: %06X\n", pLoggedInPort->port_id);
       }
     }
   }
@@ -962,18 +962,18 @@ int cpqfcTS_proc_info (struct Scsi_Host 
 
 
 
-  
-  
+
+
 // Unfortunately, the proc_info buffer isn't big enough
 // for everything we would like...
-// For FC stats, compile this and turn off WWN stuff above  
+// For FC stats, compile this and turn off WWN stuff above
 //#define DISPLAY_FC_STATS
 #ifdef DISPLAY_FC_STATS
 // get the Fibre Channel statistics
   {
     int DeltaSecs = (jiffies - cpqfcHBA->fcStatsTime) / HZ;
     int days,hours,minutes,secs;
-    
+
     days = DeltaSecs / (3600*24); // days
     hours = (DeltaSecs% (3600*24)) / 3600; // hours
     minutes = (DeltaSecs%3600 /60); // minutes
@@ -981,21 +981,21 @@ int cpqfcTS_proc_info (struct Scsi_Host 
 copy_info( &info, "Fibre Channel Stats (time dd:hh:mm:ss %02u:%02u:%02u:%02u\n",
       days, hours, minutes, secs);
   }
-    
+
   cpqfcHBA->fcStatsTime = jiffies;  // (for next delta)
 
   copy_info( &info, "  LinkUp           %9u     LinkDown      %u\n",
         fcChip->fcStats.linkUp, fcChip->fcStats.linkDown);
-        
+
   copy_info( &info, "  Loss of Signal   %9u     Loss of Sync  %u\n",
     fcChip->fcStats.LossofSignal, fcChip->fcStats.LossofSync);
-		  
+		
   copy_info( &info, "  Discarded Frames %9u     Bad CRC Frame %u\n",
     fcChip->fcStats.Dis_Frm, fcChip->fcStats.Bad_CRC);
 
   copy_info( &info, "  TACH LinkFailTX  %9u     TACH LinkFailRX     %u\n",
     fcChip->fcStats.linkFailTX, fcChip->fcStats.linkFailRX);
-  
+
   copy_info( &info, "  TACH RxEOFa      %9u     TACH Elastic Store  %u\n",
     fcChip->fcStats.Rx_EOFa, fcChip->fcStats.e_stores);
 
@@ -1003,11 +1003,11 @@ copy_info( &info, "Fibre Channel Stats (
     fcChip->fcStats.BB0_Timer*10, fcChip->fcStats.FMinits );
 	
   copy_info( &info, "  FC-2 Timeouts    %9u     FC-2 Logouts  %u\n",
-    fcChip->fcStats.timeouts, fcChip->fcStats.logouts); 
-        
+    fcChip->fcStats.timeouts, fcChip->fcStats.logouts);
+
   copy_info( &info, "  FC-2 Aborts      %9u     FC-4 Aborts   %u\n",
     fcChip->fcStats.FC2aborted, fcChip->fcStats.FC4aborted);
-   
+
   // clear the counters
   cpqfcTSClearLinkStatusCounters( fcChip);
 #endif
@@ -1172,7 +1172,7 @@ Original code from M. McGowen, Compaq
 void cpqfcTS_print_scsi_cmd(Scsi_Cmnd * cmd)
 {
 
-printk("cpqfcTS: (%s) chnl 0x%02x, trgt = 0x%02x, lun = 0x%02x, cmd_len = 0x%02x\n", 
+printk("cpqfcTS: (%s) chnl 0x%02x, trgt = 0x%02x, lun = 0x%02x, cmd_len = 0x%02x\n",
     ScsiToAscii( cmd->cmnd[0]), cmd->channel, cmd->target, cmd->lun, cmd->cmd_len);
 
 if( cmd->cmnd[0] == 0)   // Test Unit Ready?
@@ -1248,7 +1248,7 @@ static void QueLinkDownCmnd( CPQFCHBA *c
 
 // The file <scsi/scsi_host.h> says not to call scsi_done from
 // inside _queuecommand, so we'll do it from the heartbeat timer
-// (clarification: Turns out it's ok to call scsi_done from queuecommand 
+// (clarification: Turns out it's ok to call scsi_done from queuecommand
 // for cases that don't go to the hardware like scsi cmds destined
 // for LUNs we know don't exist, so this code might be simplified...)
 
@@ -1278,7 +1278,7 @@ int cpqfcTS_queuecommand(Scsi_Cmnd *Cmnd
   struct Scsi_Host *HostAdapter = Cmnd->device->host;
   CPQFCHBA *cpqfcHBAdata = (CPQFCHBA *)HostAdapter->hostdata;
   PTACHYON fcChip = &cpqfcHBAdata->fcChip;
-  TachFCHDR_GCMND fchs;  // only use for FC destination id field  
+  TachFCHDR_GCMND fchs;  // only use for FC destination id field
   PFC_LOGGEDIN_PORT pLoggedInPort;
   ULONG ulStatus, SESTtype;
   LONG ExchangeID;
@@ -1287,23 +1287,23 @@ int cpqfcTS_queuecommand(Scsi_Cmnd *Cmnd
 
 
   ENTER("cpqfcTS_queuecommand");
-      
+
   PCI_TRACEO( (ULONG)Cmnd, 0x98)
-      
-  
+
+
   Cmnd->scsi_done = done;
-#ifdef DEBUG_CMND  
+#ifdef DEBUG_CMND
   cpqfcTS_print_scsi_cmd( Cmnd);
 #endif
 
-  // prevent board contention with kernel thread...  
-  
+  // prevent board contention with kernel thread...
+
    if( cpqfcHBAdata->BoardLock )
   {
 //    printk(" @BrdLck Hld@ ");
     QueCmndOnBoardLock( cpqfcHBAdata, Cmnd);
   }
-  
+
   else
   {
 
@@ -1312,20 +1312,20 @@ int cpqfcTS_queuecommand(Scsi_Cmnd *Cmnd
     // we might have something pending in the LinkQ, which
     // might cause the WorkerTask to run.  In case that
     // happens, make sure we lock it out.
-    
-    
-    
-    PCI_TRACE( 0x98) 
+
+
+
+    PCI_TRACE( 0x98)
     CPQ_SPINLOCK_HBA( cpqfcHBAdata)
-    PCI_TRACE( 0x98) 
-	    
+    PCI_TRACE( 0x98)
+	
   // can we find an FC device mapping to this SCSI target?
     pLoggedInPort = fcFindLoggedInPort( fcChip,
       Cmnd,     // search Scsi Nexus
       0,        // DON'T search linked list for FC port id
       NULL,     // DON'T search linked list for FC WWN
       NULL);    // DON'T care about end of list
- 
+
     if( pLoggedInPort == NULL )      // not found!
     {
 //    printk(" @Q bad targ cmnd %p@ ", Cmnd);
@@ -1335,7 +1335,7 @@ int cpqfcTS_queuecommand(Scsi_Cmnd *Cmnd
     {
       printk(KERN_WARNING "cpqfc: Invalid LUN: %d\n", Cmnd->device->lun);
       QueBadTargetCmnd( cpqfcHBAdata, Cmnd);
-    } 
+    }
 
     else  // we know what FC device to send to...
     {
@@ -1352,7 +1352,7 @@ int cpqfcTS_queuecommand(Scsi_Cmnd *Cmnd
 
     // In this case (previous login OK), the device is temporarily
     // unavailable waiting for re-login, in which case we expect it
-    // to be back in between 25 - 500ms.  
+    // to be back in between 25 - 500ms.
     // If the FC port doesn't log back in within several seconds
     // (i.e. implicit "logout"), or we get an explicit logout,
     // we set "device_blocked" in Scsi_Device struct; in this
@@ -1376,15 +1376,15 @@ int cpqfcTS_queuecommand(Scsi_Cmnd *Cmnd
 
         if( Cmnd->cmnd[0] == WRITE_10 ||
   	  Cmnd->cmnd[0] == WRITE_6 ||
-	  Cmnd->cmnd[0] == WRITE_BUFFER ||      
-	  Cmnd->cmnd[0] == VENDOR_WRITE_OPCODE ||  // CPQ specific 
+	  Cmnd->cmnd[0] == WRITE_BUFFER ||
+	  Cmnd->cmnd[0] == VENDOR_WRITE_OPCODE ||  // CPQ specific
 	  Cmnd->cmnd[0] == MODE_SELECT )
         {
           SESTtype = SCSI_IWE; // data from HBA to Device
         }
         else
           SESTtype = SCSI_IRE; // data from Device to HBA
-    	  
+    	
         ulStatus = cpqfcTSBuildExchange(
           cpqfcHBAdata,
           SESTtype,     // e.g. Initiator Read Entry (IRE)
@@ -1393,7 +1393,7 @@ int cpqfcTS_queuecommand(Scsi_Cmnd *Cmnd
           &ExchangeID );// fcController->fcExchanges index, -1 if failed
 
         if( !ulStatus ) // Exchange setup?
-   
+
         {
           if( cpqfcHBAdata->BoardLock )
           {
@@ -1404,7 +1404,7 @@ int cpqfcTS_queuecommand(Scsi_Cmnd *Cmnd
 	  ulStatus = cpqfcTSStartExchange( cpqfcHBAdata, ExchangeID );
 	  if( !ulStatus )
           {
-            PCI_TRACEO( ExchangeID, 0xB8) 
+            PCI_TRACEO( ExchangeID, 0xB8)
           // submitted to Tach's Outbound Que (ERQ PI incremented)
           // waited for completion for ELS type (Login frames issued
           // synchronously)
@@ -1416,7 +1416,7 @@ int cpqfcTS_queuecommand(Scsi_Cmnd *Cmnd
             printk("quecommand: cpqfcTSStartExchange failed: %Xh\n", ulStatus );
           }
         }            // end good BuildExchange status
-        
+
         else  // SEST table probably full  -- why? hardware hang?
         {
 	  printk("quecommand: cpqfcTSBuildExchange faild: %Xh\n", ulStatus);
@@ -1427,10 +1427,10 @@ int cpqfcTS_queuecommand(Scsi_Cmnd *Cmnd
     CPQ_SPINUNLOCK_HBA( cpqfcHBAdata)
   }
 	
-  PCI_TRACEO( (ULONG)Cmnd, 0x9C) 
+  PCI_TRACEO( (ULONG)Cmnd, 0x9C)
   LEAVE("cpqfcTS_queuecommand");
   return 0;
-}    
+}
 
 
 // Entry point for upper Scsi layer intiated abort.  Typically
@@ -1449,12 +1449,12 @@ int cpqfcTS_abort(Scsi_Cmnd *Cmnd)
 //	printk(" cpqfcTS_abort called?? \n");
  	return 0;
 }
- 
+
 int cpqfcTS_eh_abort(Scsi_Cmnd *Cmnd)
 {
 
   struct Scsi_Host *HostAdapter = Cmnd->device->host;
-  // get the pointer to our Scsi layer HBA buffer  
+  // get the pointer to our Scsi layer HBA buffer
   CPQFCHBA *cpqfcHBAdata = (CPQFCHBA *)HostAdapter->hostdata;
   PTACHYON fcChip = &cpqfcHBAdata->fcChip;
   FC_EXCHANGES *Exchanges = fcChip->Exchanges;
@@ -1481,15 +1481,15 @@ int cpqfcTS_eh_abort(Scsi_Cmnd *Cmnd)
   {
     if( Exchanges->fcExchange[i].Cmnd == Cmnd )
     {
-      
+
       // found it!
       printk(" x_ID %Xh, type %Xh\n", i, Exchanges->fcExchange[i].type);
 
       Exchanges->fcExchange[i].status = INITIATOR_ABORT; // seconds default
       Exchanges->fcExchange[i].timeOut = 10; // seconds default (changed later)
 
-      // Since we need to immediately return the aborted Cmnd to Scsi 
-      // upper layers, we can't make future reference to any of its 
+      // Since we need to immediately return the aborted Cmnd to Scsi
+      // upper layers, we can't make future reference to any of its
       // fields (e.g the Nexus).
 
       cpqfcTSPutLinkQue( cpqfcHBAdata, BLS_ABTS, &i);
@@ -1502,10 +1502,10 @@ int cpqfcTS_eh_abort(Scsi_Cmnd *Cmnd)
   {
     // now search our non-SEST buffers (i.e. Cmnd waiting to
     // start on the HBA or waiting to complete with error for retry).
-    
+
     // first check BadTargetCmnd
     for( i=0; i< CPQFCTS_MAX_TARGET_ID; i++)
-    { 
+    {
       if( cpqfcHBAdata->BadTargetCmnd[i] == Cmnd )
       {
         cpqfcHBAdata->BadTargetCmnd[i] = NULL;
@@ -1518,7 +1518,7 @@ int cpqfcTS_eh_abort(Scsi_Cmnd *Cmnd)
 
     for( i=0; i < CPQFCTS_REQ_QUEUE_LEN; i++)
     {
-      if( cpqfcHBAdata->LinkDnCmnd[i] == Cmnd ) 
+      if( cpqfcHBAdata->LinkDnCmnd[i] == Cmnd )
       {
 	cpqfcHBAdata->LinkDnCmnd[i] = NULL;
 	printk("in LinkDnCmnd Q\n");
@@ -1536,18 +1536,18 @@ int cpqfcTS_eh_abort(Scsi_Cmnd *Cmnd)
 	goto Done;
       }
     }
-    
+
     Cmnd->result = DID_ERROR <<16;  // Hmmm...
     printk("Not found! ");
 //    panic("_abort");
   }
-  
+
 Done:
-  
+
 //    panic("_abort");
   LEAVE("cpqfcTS_eh_abort");
   return 0;  // (see scsi.h)
-}    
+}
 
 
 // FCP-SCSI Target Device Reset
@@ -1556,7 +1556,7 @@ Done:
 
 #ifdef SUPPORT_RESET
 
-int cpqfcTS_TargetDeviceReset( Scsi_Device *ScsiDev, 
+int cpqfcTS_TargetDeviceReset( Scsi_Device *ScsiDev,
                                unsigned int reset_flags)
 {
   int timeout = 10*HZ;
@@ -1566,9 +1566,9 @@ int cpqfcTS_TargetDeviceReset( Scsi_Devi
   Scsi_Cmnd * SCpnt;
   Scsi_Device * SDpnt;
 
-// FIXME, cpqfcTS_TargetDeviceReset needs to be fixed 
-// similarly to how the passthrough ioctl was fixed 
-// around the 2.5.30 kernel.  Scsi_Cmnd replaced with 
+// FIXME, cpqfcTS_TargetDeviceReset needs to be fixed
+// similarly to how the passthrough ioctl was fixed
+// around the 2.5.30 kernel.  Scsi_Cmnd replaced with
 // Scsi_Request, etc.
 // For now, so people don't fall into a hole...
 
@@ -1583,7 +1583,7 @@ int cpqfcTS_TargetDeviceReset( Scsi_Devi
   SCpnt = scsi_get_command(ScsiDev, GFP_KERNEL);
   {
     CPQFC_DECLARE_COMPLETION(wait);
-    
+
     SCpnt->SCp.buffers_residual = FCP_TARGET_RESET;
 
 	// FIXME: this would panic, SCpnt->request would be NULL.
@@ -1592,7 +1592,7 @@ int cpqfcTS_TargetDeviceReset( Scsi_Devi
 	CPQFC_WAIT_FOR_COMPLETION(&wait);
 	SCpnt->request->CPQFC_WAITING = NULL;
   }
-    
+
 
       if(driver_byte(SCpnt->result) != 0)
 	  switch(SCpnt->sense_buffer[2] & 0xf) {
@@ -1600,7 +1600,7 @@ int cpqfcTS_TargetDeviceReset( Scsi_Devi
 	    if(cmd[0] == ALLOW_MEDIUM_REMOVAL) dev->lockable = 0;
 	    else printk("SCSI device (ioctl) reports ILLEGAL REQUEST.\n");
 	    break;
-	case NOT_READY: // This happens if there is no disc in drive 
+	case NOT_READY: // This happens if there is no disc in drive
 	    if(dev->removable && (cmd[0] != TEST_UNIT_READY)){
 		printk(KERN_INFO "Device not ready.  Make sure there is a disc in the drive.\n");
 		break;
@@ -1609,8 +1609,8 @@ int cpqfcTS_TargetDeviceReset( Scsi_Devi
 	    if (dev->removable){
 		dev->changed = 1;
 		SCpnt->result = 0; // This is no longer considered an error
-		// gag this error, VFS will log it anyway /axboe 
-		// printk(KERN_INFO "Disc change detected.\n"); 
+		// gag this error, VFS will log it anyway /axboe
+		// printk(KERN_INFO "Disc change detected.\n");
 		break;
 	    };
 	default: // Fall through for non-removable media
@@ -1623,7 +1623,7 @@ int cpqfcTS_TargetDeviceReset( Scsi_Devi
 		   sense_class(SCpnt->sense_buffer[0]),
 		   sense_error(SCpnt->sense_buffer[0]),
 		   SCpnt->sense_buffer[2] & 0xf);
-	    
+	
       };
   result = SCpnt->result;
 
@@ -1636,7 +1636,7 @@ int cpqfcTS_TargetDeviceReset( Scsi_Devi
 }
 
 #else
-int cpqfcTS_TargetDeviceReset( Scsi_Device *ScsiDev, 
+int cpqfcTS_TargetDeviceReset( Scsi_Device *ScsiDev,
                                unsigned int reset_flags)
 {
 	return -ENOTSUPP;
@@ -1666,12 +1666,12 @@ int cpqfcTS_biosparam(struct scsi_device
 		sector_t capacity, int ip[])
 {
   int size = capacity;
-  
+
   ENTER("cpqfcTS_biosparam");
   ip[0] = 64;
   ip[1] = 32;
   ip[2] = size >> 11;
-  
+
   if( ip[2] > 1024 )
   {
     ip[0] = 255;
@@ -1681,12 +1681,12 @@ int cpqfcTS_biosparam(struct scsi_device
 
   LEAVE("cpqfcTS_biosparam");
   return 0;
-}    
+}
 
 
 
-irqreturn_t cpqfcTS_intr_handler( int irq, 
-		void *dev_id, 
+irqreturn_t cpqfcTS_intr_handler( int irq,
+		void *dev_id,
 		struct pt_regs *regs)
 {
 
@@ -1713,7 +1713,7 @@ irqreturn_t cpqfcTS_intr_handler( int ir
 
     if( IntPending & 0x4) // "INT" - Tach wrote to IMQ
     {
-      while( (++InfLoopBrk < INFINITE_IMQ_BREAK) && (MoreMessages ==1) ) 
+      while( (++InfLoopBrk < INFINITE_IMQ_BREAK) && (MoreMessages ==1) )
       {
         MoreMessages = CpqTsProcessIMQEntry( HostAdapter); // ret 0 when done
       }
@@ -1725,7 +1725,7 @@ irqreturn_t cpqfcTS_intr_handler( int ir
 
       else  // working normally - re-enable INTs and continue
         writeb( 0x1F, cpqfcHBA->fcChip.Registers.INTEN.address);
-    
+
     }  // (...ProcessIMQEntry() clears INT by writing IMQ consumer)
     else  // indications of errors or problems...
           // these usually indicate critical system hardware problems.
@@ -1753,11 +1753,11 @@ irqreturn_t cpqfcTS_intr_handler( int ir
 		if (pcistat & 0x0800) printk("Signalled Target Abort\n");
 	}
 	if (IntStat & 0x4) printk("(INT)\n");
-	if (IntStat & 0x8) 
+	if (IntStat & 0x8)
 		printk("CRS: PCI master address crossed 46 bit bouandary\n");
 	if (IntStat & 0x10) printk("MRE: external memory parity error.\n");
       }
-    }      
+    }
   }
   spin_unlock_irqrestore( HostAdapter->host_lock, flags);
   LEAVE("intr_handler");
@@ -1774,22 +1774,22 @@ int cpqfcTSDecodeGBICtype( PTACHYON fcCh
         // GPIO1, GPIO0, GPIO4 for MD2, MD1, MD0.  The input states appear
         // to be inverted -- i.e., a setting of 111 is read when there is NO
         // GBIC present.  The Module Def (MD) spec says 000 is "no GBIC"
-        // Hard code the bit states to detect Copper, 
+        // Hard code the bit states to detect Copper,
         // Long wave (single mode), Short wave (multi-mode), and absent GBIC
 
   ULONG ulBuff;
 
   sprintf( cErrorString, "\nGBIC detected: ");
 
-  ulBuff = fcChip->Registers.TYstatus.value & 0x13; 
+  ulBuff = fcChip->Registers.TYstatus.value & 0x13;
   switch( ulBuff )
   {
   case 0x13:  // GPIO4, GPIO1, GPIO0 = 111; no GBIC!
     sprintf( &cErrorString[ strlen( cErrorString)],
             "NONE! ");
-    return FALSE;          
-          
-       
+    return FALSE;
+
+
   case 0x11:   // Copper GBIC detected
     sprintf( &cErrorString[ strlen( cErrorString)],
             "Copper. ");
@@ -1806,7 +1806,7 @@ int cpqfcTSDecodeGBICtype( PTACHYON fcCh
   default:     // unknown GBIC - presumably it will work (?)
     sprintf( &cErrorString[ strlen( cErrorString)],
             "Unknown. ");
-          
+
     break;
   }  // end switch GBIC detection
 
@@ -1826,13 +1826,13 @@ int cpqfcTSGetLPSM( PTACHYON fcChip, cha
 
   int LinkUp;
 
-  if( fcChip->Registers.FMstatus.value & 0x80 ) 
+  if( fcChip->Registers.FMstatus.value & 0x80 )
     LinkUp = FALSE;
   else
     LinkUp = TRUE;
 
   sprintf( &cErrorString[ strlen( cErrorString)],
-    " LPSM %Xh ", 
+    " LPSM %Xh ",
      (fcChip->Registers.FMstatus.value >>4) & 0xf );
 
 
@@ -1940,7 +1940,7 @@ int cpqfcTSGetLPSM( PTACHYON fcChip, cha
 // we need about 8 allocations per HBA.  Figuring at most 10 HBAs per server
 // size the dynamic_mem array at 80.
 
-void* fcMemManager( struct pci_dev *pdev, ALIGNED_MEM *dynamic_mem, 
+void* fcMemManager( struct pci_dev *pdev, ALIGNED_MEM *dynamic_mem,
 		   ULONG n_alloc, ULONG ab, ULONG u32_AlignedAddress,
 			dma_addr_t *dma_handle)
 {
@@ -1964,8 +1964,8 @@ void* fcMemManager( struct pci_dev *pdev
       if( dynamic_mem[i].AlignedAddress == u32_AlignedAddress )
       {
         alloc_address = dynamic_mem[i].BaseAllocated; // 'success' status
-	pci_free_consistent(pdev,dynamic_mem[i].size, 
-				alloc_address, 
+	pci_free_consistent(pdev,dynamic_mem[i].size,
+				alloc_address,
 				dynamic_mem[i].dma_handle);
         dynamic_mem[i].BaseAllocated = 0;   // clear for next use
         dynamic_mem[i].AlignedAddress = 0;
@@ -1980,9 +1980,9 @@ void* fcMemManager( struct pci_dev *pdev
     t_alloc = n_alloc + (ab - allocBoundary); // pad bytes for alignment
 //    printk("pci_alloc_consistent() for Tach alignment: %ld bytes\n", t_alloc);
 
-// (would like to) allow thread block to free pages 
+// (would like to) allow thread block to free pages
     alloc_address =                  // total bytes (NumberOfBytes)
-      pci_alloc_consistent(pdev, t_alloc, &handle); 
+      pci_alloc_consistent(pdev, t_alloc, &handle);
 
                                   // now mask off least sig. bits of address
     if( alloc_address )           // (only if non-NULL)
@@ -1998,11 +1998,11 @@ void* fcMemManager( struct pci_dev *pdev
         {
           dynamic_mem[i].BaseAllocated = alloc_address;// address from O/S
           dynamic_mem[i].dma_handle = handle;
-	  if (dma_handle != NULL) 
+	  if (dma_handle != NULL)
 	  {
-//             printk("handle = %p, ab=%d, boundary = %d, mask=0x%08x\n", 
+//             printk("handle = %p, ab=%d, boundary = %d, mask=0x%08x\n",
 //			handle, ab, allocBoundary, mask);
-	    *dma_handle = (dma_addr_t) 
+	    *dma_handle = (dma_addr_t)
 		((((ULONG)handle) + (ab - allocBoundary)) & mask);
 	  }
           dynamic_mem[i].size = t_alloc;
@@ -2010,12 +2010,12 @@ void* fcMemManager( struct pci_dev *pdev
         }
       }
       ulAddress = (unsigned long)alloc_address;
-      
+
       ulAddress += (ab - allocBoundary);    // add the alignment bytes-
                                             // then truncate address...
       alloc_address = (void*)(ulAddress & mask);
-      
-      dynamic_mem[i].AlignedAddress = 
+
+      dynamic_mem[i].AlignedAddress =
 	(ULONG)(ulAddress & mask); // 32bit Tach address
       memset( alloc_address, 0, n_alloc );  // clear new memory
     }
@@ -2038,11 +2038,11 @@ static Scsi_Host_Template driver_templat
 	.ioctl                  = cpqfcTS_ioctl,
 	.queuecommand           = cpqfcTS_queuecommand,
 	.eh_device_reset_handler   = cpqfcTS_eh_device_reset,
-	.eh_abort_handler       = cpqfcTS_eh_abort, 
-	.bios_param             = cpqfcTS_biosparam, 
+	.eh_abort_handler       = cpqfcTS_eh_abort,
+	.bios_param             = cpqfcTS_biosparam,
 	.can_queue              = CPQFCTS_REQ_QUEUE_LEN,
-	.this_id                = -1, 
-	.sg_tablesize           = SG_ALL, 
+	.this_id                = -1,
+	.sg_tablesize           = SG_ALL,
 	.cmd_per_lun            = CPQFCTS_CMD_PER_LUN,
 	.use_clustering         = ENABLE_CLUSTERING,
 };
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux