]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/message/fusion/mptbase.h
driver core: remove KOBJ_NAME_LEN define
[linux-2.6-omap-h63xx.git] / drivers / message / fusion / mptbase.h
index d83ea96fe135bd92136bfe1a2141cc315f0bafa0..dff048cfa101d78d09a878f1845d3480e88b5388 100644 (file)
@@ -5,7 +5,7 @@
  *          LSIFC9xx/LSI409xx Fibre Channel
  *      running LSI Fusion MPT (Message Passing Technology) firmware.
  *
- *  Copyright (c) 1999-2007 LSI Corporation
+ *  Copyright (c) 1999-2008 LSI Corporation
  *  (mailto:DL-MPTFusionLinux@lsi.com)
  *
  */
@@ -51,6 +51,7 @@
 
 #include <linux/kernel.h>
 #include <linux/pci.h>
+#include <linux/mutex.h>
 
 #include "lsi/mpi_type.h"
 #include "lsi/mpi.h"           /* Fusion MPI(nterface) basic defs */
 #endif
 
 #ifndef COPYRIGHT
-#define COPYRIGHT      "Copyright (c) 1999-2007 " MODULEAUTHOR
+#define COPYRIGHT      "Copyright (c) 1999-2008 " MODULEAUTHOR
 #endif
 
-#define MPT_LINUX_VERSION_COMMON       "3.04.06"
-#define MPT_LINUX_PACKAGE_NAME         "@(#)mptlinux-3.04.06"
+#define MPT_LINUX_VERSION_COMMON       "3.04.07"
+#define MPT_LINUX_PACKAGE_NAME         "@(#)mptlinux-3.04.07"
 #define WHAT_MAGIC_STRING              "@" "(" "#" ")"
 
 #define show_mptmod_ver(s,ver)  \
 /* debug print string length used for events and iocstatus */
 # define EVENT_DESCR_STR_SZ             100
 
+#define MPT_POLLING_INTERVAL           1000    /* in milliseconds */
+
 #ifdef __KERNEL__      /* { */
 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
 
@@ -531,7 +534,7 @@ struct inactive_raid_component_info {
 typedef        struct _RaidCfgData {
        IOCPage2_t      *pIocPg2;               /* table of Raid Volumes */
        IOCPage3_t      *pIocPg3;               /* table of physical disks */
-       struct semaphore        inactive_list_mutex;
+       struct mutex    inactive_list_mutex;
        struct list_head        inactive_list; /* link list for physical
                                                disk that belong in
                                                inactive volumes */
@@ -630,6 +633,7 @@ typedef struct _MPT_ADAPTER
        int                      mtrr_reg;
        struct pci_dev          *pcidev;        /* struct pci_dev pointer */
        int                     bars;           /* bitmask of BAR's that must be configured */
+       int                     msi_enable;
        u8                      __iomem *memmap;        /* mmap address */
        struct Scsi_Host        *sh;            /* Scsi Host pointer */
        SpiCfgData              spi_data;       /* Scsi config. data */
@@ -693,7 +697,6 @@ typedef struct _MPT_ADAPTER
        struct mutex             sas_discovery_mutex;
        u8                       sas_discovery_runtime;
        u8                       sas_discovery_ignore_events;
-       u16                      handle;
        int                      sas_index; /* index refrencing */
        MPT_SAS_MGMT             sas_mgmt;
        struct work_struct       sas_persist_task;
@@ -704,10 +707,16 @@ typedef struct _MPT_ADAPTER
        u8                       fc_link_speed[2];
        spinlock_t               fc_rescan_work_lock;
        struct work_struct       fc_rescan_work;
-       char                     fc_rescan_work_q_name[KOBJ_NAME_LEN];
+       char                     fc_rescan_work_q_name[20];
        struct workqueue_struct *fc_rescan_work_q;
        struct scsi_cmnd        **ScsiLookup;
        spinlock_t                scsi_lookup_lock;
+
+       char                     reset_work_q_name[20];
+       struct workqueue_struct *reset_work_q;
+       struct delayed_work      fault_reset_work;
+       spinlock_t               fault_reset_work_lock;
+
 } MPT_ADAPTER;
 
 /*
@@ -918,12 +927,11 @@ extern int         mpt_raid_phys_disk_pg0(MPT_ADAPTER *ioc, u8 phys_disk_num, pRaidPhys
  *  Public data decl's...
  */
 extern struct list_head          ioc_list;
-extern struct proc_dir_entry   *mpt_proc_root_dir;
 
 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
 #endif         /* } __KERNEL__ */
 
-#if defined(__alpha__) || defined(__sparc_v9__) || defined(__ia64__) || defined(__x86_64__) || defined(__powerpc__)
+#ifdef CONFIG_64BIT
 #define CAST_U32_TO_PTR(x)     ((void *)(u64)x)
 #define CAST_PTR_TO_U32(x)     ((u32)(u64)x)
 #else