[PATCH] aic94xx: Widens the Range of Recognized FLASH Manufactures

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

 



The 94xx controller is now being shipped with a wider range of FLASH
chip manufactures, this patch simply allows the aic94xx driver to
recognize the new manufacturers ids.


--Alexis



Signed-off-by: Alexis Bruemmer <alexisb@xxxxxxxxxx>

----

diff -aNurp linux-2.6.18-rc5-aic94xx-orig/drivers/scsi/aic94xx/aic94xx_sds.c linux-2.6.18-rc5-aic94xx-new/drivers/scsi/aic94xx/aic94xx_sds.c
--- linux-2.6.18-rc5-aic94xx-orig/drivers/scsi/aic94xx/aic94xx_sds.c	2006-08-28 14:29:30.000000000 -0700
+++ linux-2.6.18-rc5-aic94xx-new/drivers/scsi/aic94xx/aic94xx_sds.c	2006-09-05 09:11:34.000000000 -0700
@@ -376,7 +376,10 @@ out:
 /* ---------- FLASH stuff ---------- */
 
 #define FLASH_RESET			0xF0
-#define FLASH_MANUF_AMD                 1
+#define FLASH_MANUF_AMD			0x01
+#define FLASH_MANUF_ST			0x20
+#define FLASH_MANUF_FUJITSU		0x04
+#define FLASH_MANUF_MACRONIX		0xC2
 
 #define FLASH_SIZE                      0x200000
 #define FLASH_DIR_COOKIE                "*** ADAPTEC FLASH DIRECTORY *** "
@@ -663,7 +666,11 @@ static int asd_flash_getid(struct asd_ha
 	/* Get out of autoselect mode. */
 	err = asd_reset_flash(asd_ha);
 
-	if (asd_ha->hw_prof.flash.manuf == FLASH_MANUF_AMD) {
+	switch(asd_ha->hw_prof.flash.manuf) {
+	case FLASH_MANUF_AMD:
+	case FLASH_MANUF_ST:
+	case FLASH_MANUF_FUJITSU:
+	case FLASH_MANUF_MACRONIX:
 		ASD_DPRINTK("0Found FLASH(%d) manuf:%d, dev_id:0x%x, "
 			    "sec_prot:%d\n",
 			    asd_ha->hw_prof.flash.wide ? 16 : 8,
@@ -671,6 +678,9 @@ static int asd_flash_getid(struct asd_ha
 			    asd_ha->hw_prof.flash.dev_id,
 			    asd_ha->hw_prof.flash.sec_prot);
 		return 0;
+	default:
+		break;
+
 	}
 
 	/* Ok, try the sequence for byte mode of 160B and 800D.
@@ -684,7 +694,11 @@ static int asd_flash_getid(struct asd_ha
 	asd_ha->hw_prof.flash.sec_prot = asd_read_reg_byte(asd_ha, reg + 4);
 	err = asd_reset_flash(asd_ha);
 
-	if (asd_ha->hw_prof.flash.manuf == FLASH_MANUF_AMD) {
+	switch(asd_ha->hw_prof.flash.manuf) {
+	case FLASH_MANUF_AMD:
+	case FLASH_MANUF_ST:
+	case FLASH_MANUF_FUJITSU:
+	case FLASH_MANUF_MACRONIX:
 		ASD_DPRINTK("1Found FLASH(%d) manuf:%d, dev_id:0x%x, "
 			    "sec_prot:%d\n",
 			    asd_ha->hw_prof.flash.wide ? 16 : 8,
@@ -692,8 +706,12 @@ static int asd_flash_getid(struct asd_ha
 			    asd_ha->hw_prof.flash.dev_id,
 			    asd_ha->hw_prof.flash.sec_prot);
 		return 0;
+	default:
+		break;
+
 	}
 
+
 	return -ENOENT;
 }
 


-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux