You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

83 lines
3.0 KiB

# --- T2-COPYRIGHT-NOTE-BEGIN ---
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
#
# T2 SDE: package/.../linux26/unbreak-advansys-scsi.patch
# Copyright (C) 2004 - 2006 The T2 SDE Project
#
# More information can be found in the files COPYING and README.
#
# This patch file is dual-licensed. It is available under the license the
# patched project is licensed under, as long as it is an OpenSource license
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
# of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
# --- T2-COPYRIGHT-NOTE-END ---
Aside from tons of compiler warning, I have not found out via google, why the
AdvanSys driver is marked broken.
It compiles and if it will not work with the ABP940-U I have lying around I'll
have to fix it up ...
- Rene Rebe <rene@exactcode.de>
--- linux-2.6.16/drivers/scsi/Kconfig.orig 2006-05-03 19:50:59.113854500 +0200
+++ linux-2.6.16/drivers/scsi/Kconfig 2006-05-03 19:54:52.256425000 +0200
@@ -458,7 +458,7 @@
tristate "AdvanSys SCSI support"
depends on SCSI
depends on ISA || EISA || PCI
- depends on BROKEN || X86_32
+ depends on X86_32
help
This is a driver for all SCSI host adapters manufactured by
AdvanSys. It is documented in the kernel source in
--- linux-2.6.11/drivers/scsi/advansys.c 2005-03-02 08:37:52.000000000 +0100
+++ linux-2.6.11-fixed/drivers/scsi/advansys.c 2005-05-23 11:09:06.000000000 +0200
@@ -2056,11 +2056,11 @@
/*
* Define Adv Library required memory access macros.
*/
-#define ADV_MEM_READB(addr) readb(addr)
-#define ADV_MEM_READW(addr) readw(addr)
-#define ADV_MEM_WRITEB(addr, byte) writeb(byte, addr)
-#define ADV_MEM_WRITEW(addr, word) writew(word, addr)
-#define ADV_MEM_WRITEDW(addr, dword) writel(dword, addr)
+#define ADV_MEM_READB(addr) readb((void*)addr)
+#define ADV_MEM_READW(addr) readw((void*)addr)
+#define ADV_MEM_WRITEB(addr, byte) writeb(byte, (void*)addr)
+#define ADV_MEM_WRITEW(addr, word) writew(word, (void*)addr)
+#define ADV_MEM_WRITEDW(addr, dword) writel(dword, (void*)addr)
#define ADV_CARRIER_COUNT (ASC_DEF_MAX_HOST_QNG + 15)
@@ -4295,6 +4295,27 @@
}
#endif /* CONFIG_PROC_FS */
+/* this is just preleminary, so we can auto detect the PCI cards - the driver
+ should be converted to the new module API ... -ReneR */
+
+static struct pci_device_id advansys_id_table[] __devinitdata = {
+ { ASC_PCI_VENDORID, ASC_PCI_DEVICE_ID_1100,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
+ { ASC_PCI_VENDORID, ASC_PCI_DEVICE_ID_1200,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
+ { ASC_PCI_VENDORID, ASC_PCI_DEVICE_ID_1300,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
+ { ASC_PCI_VENDORID, ASC_PCI_DEVICE_ID_2300,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
+ { ASC_PCI_VENDORID, ASC_PCI_DEVICE_ID_2500,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
+ { ASC_PCI_VENDORID, ASC_PCI_DEVICE_ID_2700,
+ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL },
+ { 0, }
+};
+
+MODULE_DEVICE_TABLE(pci, advansys_id_table);
+
/*
* advansys_detect()
*