Index: oldkernel/linux/Documentation/cpqarray.txt diff -u linux/Documentation/cpqarray.txt:1.1.1.1 linux/Documentation/cpqarray.txt:1.2 --- linux/Documentation/cpqarray.txt:1.1.1.1 Wed May 31 12:33:54 2000 +++ linux/Documentation/cpqarray.txt Thu Jun 1 15:01:35 2000 @@ -1,11 +1,5 @@ This driver is for Compaq's SMART2 Intellegent Disk Array Controllers. -WARNING: --------- - -This driver comes with NO WARRANTY. It is not officially supported by -Compaq. Do not call technical support. Use at your own risk. - Supported Cards: ---------------- @@ -22,6 +16,7 @@ * Integrated Smart Array Controller * SA 4200 * SA 4250ES + * SA 431 It should also work with some really old Disk array adapters, but I am unable to test against these cards: Index: oldkernel/linux/drivers/block/cpqarray.c diff -u linux/drivers/block/cpqarray.c:1.1.1.1 linux/drivers/block/cpqarray.c:1.2 --- linux/drivers/block/cpqarray.c:1.1.1.1 Wed May 31 12:33:50 2000 +++ linux/drivers/block/cpqarray.c Thu Jun 1 15:01:35 2000 @@ -41,8 +41,8 @@ #define SMART2_DRIVER_VERSION(maj,min,submin) ((maj<<16)|(min<<8)|(submin)) -#define DRIVER_NAME "Compaq SMART2 Driver (v 1.0.5)" -#define DRIVER_VERSION SMART2_DRIVER_VERSION(1,0,5) +#define DRIVER_NAME "Compaq SMART2 Driver (v 1.0.6)" +#define DRIVER_VERSION SMART2_DRIVER_VERSION(1,0,6) #define MAJOR_NR COMPAQ_SMART2_MAJOR #include #include @@ -84,6 +84,7 @@ { 0x40400E11, "Integrated Array", &smart4_access }, { 0x40500E11, "Smart Array 4200", &smart4_access }, { 0x40510E11, "Smart Array 4250ES", &smart4_access }, + { 0x40580E11, "Smart Array 431", &smart4_access }, }; static struct hd_struct * ida; @@ -1223,7 +1224,7 @@ return(error); } copy_from_user(p, (void*)io->sg[0].addr, io->sg[0].size); - c->req.bp = virt_to_bus(&(io->c)); + c->req.hdr.blk = virt_to_bus(&(io->c)); c->req.sg[0].size = io->sg[0].size; c->req.sg[0].addr = virt_to_bus(p); c->req.hdr.sg_cnt = 1; Index: oldkernel/linux/drivers/block/cpqarray.h diff -u linux/drivers/block/cpqarray.h:1.2 linux/drivers/block/cpqarray.h:1.3 --- linux/drivers/block/cpqarray.h:1.2 Thu Jun 1 14:53:31 2000 +++ linux/drivers/block/cpqarray.h Thu Jun 1 15:01:35 2000 @@ -30,7 +30,6 @@ #include #include #include -#include #include #endif Index: oldkernel/linux/drivers/block/ida_cmd.h diff -u linux/drivers/block/ida_cmd.h:1.1.1.1 linux/drivers/block/ida_cmd.h:1.2 --- linux/drivers/block/ida_cmd.h:1.1.1.1 Wed May 31 12:33:50 2000 +++ linux/drivers/block/ida_cmd.h Thu Jun 1 15:01:35 2000 @@ -191,7 +191,7 @@ __u8 expn_fail; __u8 unit_flags; __u16 big_fail_map[8]; - __u16 big_remap_map[8]; + __u16 big_remap_map[128]; __u16 big_repl_map[8]; __u16 big_act_spare_map[8]; __u8 big_spar_repl_map[128]; @@ -336,7 +336,7 @@ __u32 sense_info; __u8 sense_code; __u8 sense_qual; - __u8 residual; + __u32 residual; __u8 reserved[4]; __u8 cdb[12]; } scsi_param_t; Index: oldkernel/linux/init/main.c diff -u linux/init/main.c:1.3 linux/init/main.c:1.4 --- linux/init/main.c:1.3 Thu Jun 1 14:51:29 2000 +++ linux/init/main.c Thu Jun 1 15:01:35 2000 @@ -488,6 +488,24 @@ { "rd/c0d14p",0x3070 }, { "rd/c0d15p",0x3078 }, #endif +#if defined(CONFIG_BLK_CPQ_DA) || defined(CONFIG_BLK_CPQ_DA_MODULE) + { "ida/c0d0p",0x4800 }, + { "ida/c0d1p",0x4810 }, + { "ida/c0d2p",0x4820 }, + { "ida/c0d3p",0x4830 }, + { "ida/c0d4p",0x4840 }, + { "ida/c0d5p",0x4850 }, + { "ida/c0d6p",0x4860 }, + { "ida/c0d7p",0x4870 }, + { "ida/c0d8p",0x4880 }, + { "ida/c0d9p",0x4890 }, + { "ida/c0d10p",0x48A0 }, + { "ida/c0d11p",0x48B0 }, + { "ida/c0d12p",0x48C0 }, + { "ida/c0d13p",0x48D0 }, + { "ida/c0d14p",0x48E0 }, + { "ida/c0d15p",0x48F0 }, +#endif #ifdef CONFIG_ATARI_ACSI { "ada", 0x1c00 }, { "adb", 0x1c10 },