X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fscsi%2Fips.c;h=f96c4906693b5653cc944d79f722dc4a8c515042;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=b2e7c233cf090db0841475491500d9f93437636c;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/drivers/scsi/ips.c b/drivers/scsi/ips.c index b2e7c233c..f96c49066 100644 --- a/drivers/scsi/ips.c +++ b/drivers/scsi/ips.c @@ -133,6 +133,10 @@ /* 6.10.00 - Remove 1G Addressing Limitations */ /* 6.11.xx - Get VersionInfo buffer off the stack ! DDTS 60401 */ /* 6.11.xx - Make Logical Drive Info structure safe for DMA DDTS 60639 */ +/* 7.10.xx - Add highmem_io flag in SCSI Templete for 2.4 kernels */ +/* - Fix path/name for scsi_hosts.h include for 2.6 kernels */ +/* - Fix sort order of 7k */ +/* - Remove 3 unused "inline" functions */ /*****************************************************************************/ /* @@ -176,7 +180,13 @@ #include #include "scsi.h" + +#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,5,0) +#include "hosts.h" +#else #include +#endif + #include "ips.h" #include @@ -191,14 +201,14 @@ #ifdef MODULE static char *ips = NULL; -MODULE_PARM(ips, "s"); +module_param(ips, charp, 0); #endif /* * DRIVER_VER */ -#define IPS_VERSION_HIGH "7.00" -#define IPS_VERSION_LOW ".15 " +#define IPS_VERSION_HIGH "7.10" +#define IPS_VERSION_LOW ".18 " #if !defined(__i386__) && !defined(__ia64__) && !defined(__x86_64__) #warning "This driver has only been tested on the x86/ia64/x86_64 platforms" @@ -278,6 +288,9 @@ static Scsi_Host_Template ips_driver_template = { #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) .use_new_eh_code = 1, #endif +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,20) && LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) + .highmem_io = 1, +#endif }; IPS_DEFINE_COMPAT_TABLE( Compatable ); /* Version Compatability Table */ @@ -6904,7 +6917,6 @@ ips_order_controllers(void) for (j = position; j < ips_num_controllers; j++) { switch (ips_ha[j]->ad_type) { case IPS_ADTYPE_SERVERAID6M: - case IPS_ADTYPE_SERVERAID7k: case IPS_ADTYPE_SERVERAID7M: if (nvram->adapter_order[i] == 'M') { ips_shift_controllers(position, @@ -6925,6 +6937,7 @@ ips_order_controllers(void) case IPS_ADTYPE_SERVERAID6I: case IPS_ADTYPE_SERVERAID5I2: case IPS_ADTYPE_SERVERAID5I1: + case IPS_ADTYPE_SERVERAID7k: if (nvram->adapter_order[i] == 'S') { ips_shift_controllers(position, j); @@ -7162,8 +7175,8 @@ ips_init_phase1(struct pci_dev *pci_dev, int *indexPtr) int j; int index; dma_addr_t dma_address; - char *ioremap_ptr; - char *mem_ptr; + char __iomem *ioremap_ptr; + char __iomem *mem_ptr; uint32_t IsDead; METHOD_TRACE("ips_init_phase1", 1); @@ -7453,6 +7466,13 @@ ips_init_phase2(int index) MODULE_LICENSE("GPL"); #endif +MODULE_DESCRIPTION("IBM ServeRAID Adapter Driver " IPS_VER_STRING); + +#ifdef MODULE_VERSION +MODULE_VERSION(IPS_VER_STRING); +#endif + + /* * Overrides for Emacs so that we almost follow Linus's tabbing style. * Emacs will notice this stuff at the end of the file and automatically