# --- SDE-COPYRIGHT-NOTE-BEGIN --- # This copyright note is auto-generated by ./scripts/Create-CopyPatch. # # Filename: package/.../linux26mm/unbreak-advansys-scsi.patch.disabled # 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. # --- SDE-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 --- 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() *