From bac7c53380904ce442dad1cc9db58e3e53b10360 Mon Sep 17 00:00:00 2001 From: maximilian attems Date: Sun, 24 Sep 2006 07:11:09 +0000 Subject: [PATCH] advansys and fdomain pci_tbl got lost from sid branch, readd them, advansys patch based on merged upstream. svn path=/dists/trunk/linux-2.6/; revision=7501 --- debian/changelog | 3 +- .../bugfix/advansys-pci-id-table.patch | 221 ++++++++++++++++++ .../patches/bugfix/fdomain-pci-id-table.patch | 31 +++ debian/patches/series/1 | 3 +- 4 files changed, 256 insertions(+), 2 deletions(-) create mode 100644 debian/patches/bugfix/advansys-pci-id-table.patch create mode 100644 debian/patches/bugfix/fdomain-pci-id-table.patch diff --git a/debian/changelog b/debian/changelog index 45722bece..1154f6c4d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -37,6 +37,7 @@ linux-2.6 (2.6.18-1) UNRELEASED; urgency=low [ maximilian attems ] * Enable CONFIG_PRINTER=m for all powerpc flavours. * Enable the new alsa CONFIG_SND_AOA framework for powerpc. + * Add the merged advansys pci table patch. [ Bastian Blank ] * hppa: Use gcc-4.1. @@ -47,7 +48,7 @@ linux-2.6 (2.6.18-1) UNRELEASED; urgency=low * [alpha] Disabled CONFIG_AUDIT, broken. * [alpha] Added vserver flavour. - -- Bastian Blank Sat, 23 Sep 2006 23:15:42 +0200 + -- maximilian attems Sun, 24 Sep 2006 09:09:04 +0200 linux-2.6 (2.6.17-9) unstable; urgency=medium diff --git a/debian/patches/bugfix/advansys-pci-id-table.patch b/debian/patches/bugfix/advansys-pci-id-table.patch new file mode 100644 index 000000000..08de3a85e --- /dev/null +++ b/debian/patches/bugfix/advansys-pci-id-table.patch @@ -0,0 +1,221 @@ +From: Dave Jones +Date: Wed, 2 Aug 2006 21:11:49 +0000 (-0400) +Subject: [SCSI] advansys pci tweaks. +X-Git-Tag: v2.6.18-rc4 +X-Git-Url: http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=2672ea86be26353108a72a28910df4dc61cdb5e2 + +[SCSI] advansys pci tweaks. + +Remove a lot of duplicate #defines from the advansys driver, +and make them look like PCI IDs as defined elsewhere in the kernel. +Also add a module table so that it automatically gets picked up +by tools relying on modinfo output (like say, distro installers). + +Signed-off-by: Dave Jones +Signed-off-by: James Bottomley +--- + +--- a/drivers/scsi/advansys.c ++++ b/drivers/scsi/advansys.c +@@ -888,10 +888,6 @@ typedef unsigned char uchar; + #define ASC_PCI_ID2DEV(id) (((id) >> 11) & 0x1F) + #define ASC_PCI_ID2FUNC(id) (((id) >> 8) & 0x7) + #define ASC_PCI_MKID(bus, dev, func) ((((dev) & 0x1F) << 11) | (((func) & 0x7) << 8) | ((bus) & 0xFF)) +-#define ASC_PCI_VENDORID 0x10CD +-#define ASC_PCI_DEVICEID_1200A 0x1100 +-#define ASC_PCI_DEVICEID_1200B 0x1200 +-#define ASC_PCI_DEVICEID_ULTRA 0x1300 + #define ASC_PCI_REVISION_3150 0x02 + #define ASC_PCI_REVISION_3050 0x03 + +@@ -899,6 +895,14 @@ typedef unsigned char uchar; + #define ASC_DVCLIB_CALL_FAILED (0) + #define ASC_DVCLIB_CALL_ERROR (-1) + ++#define PCI_VENDOR_ID_ASP 0x10cd ++#define PCI_DEVICE_ID_ASP_1200A 0x1100 ++#define PCI_DEVICE_ID_ASP_ABP940 0x1200 ++#define PCI_DEVICE_ID_ASP_ABP940U 0x1300 ++#define PCI_DEVICE_ID_ASP_ABP940UW 0x2300 ++#define PCI_DEVICE_ID_38C0800_REV1 0x2500 ++#define PCI_DEVICE_ID_38C1600_REV1 0x2700 ++ + /* + * Enable CC_VERY_LONG_SG_LIST to support up to 64K element SG lists. + * The SRB structure will have to be changed and the ASC_SRB2SCSIQ() +@@ -1492,8 +1496,6 @@ typedef struct asc_dvc_cfg { + #define ASC_INIT_STATE_END_INQUIRY 0x0080 + #define ASC_INIT_RESET_SCSI_DONE 0x0100 + #define ASC_INIT_STATE_WITHOUT_EEP 0x8000 +-#define ASC_PCI_DEVICE_ID_REV_A 0x1100 +-#define ASC_PCI_DEVICE_ID_REV_B 0x1200 + #define ASC_BUG_FIX_IF_NOT_DWB 0x0001 + #define ASC_BUG_FIX_ASYN_USE_SYN 0x0002 + #define ASYN_SDTR_DATA_FIX_PCI_REV_AB 0x41 +@@ -2100,12 +2102,6 @@ STATIC ASC_DCNT AscGetMaxDmaCount(ushor + #define ADV_NUM_PAGE_CROSSING \ + ((ADV_SG_TOTAL_MEM_SIZE + (ADV_PAGE_SIZE - 1))/ADV_PAGE_SIZE) + +-/* a_condor.h */ +-#define ADV_PCI_VENDOR_ID 0x10CD +-#define ADV_PCI_DEVICE_ID_REV_A 0x2300 +-#define ADV_PCI_DEVID_38C0800_REV1 0x2500 +-#define ADV_PCI_DEVID_38C1600_REV1 0x2700 +- + #define ADV_EEP_DVC_CFG_BEGIN (0x00) + #define ADV_EEP_DVC_CFG_END (0x15) + #define ADV_EEP_DVC_CTL_BEGIN (0x16) /* location of OEM name */ +@@ -3569,14 +3565,7 @@ typedef struct scsi_cmnd REQ, *REQP; + #define PCI_MAX_SLOT 0x1F + #define PCI_MAX_BUS 0xFF + #define PCI_IOADDRESS_MASK 0xFFFE +-#define ASC_PCI_VENDORID 0x10CD + #define ASC_PCI_DEVICE_ID_CNT 6 /* PCI Device ID count. */ +-#define ASC_PCI_DEVICE_ID_1100 0x1100 +-#define ASC_PCI_DEVICE_ID_1200 0x1200 +-#define ASC_PCI_DEVICE_ID_1300 0x1300 +-#define ASC_PCI_DEVICE_ID_2300 0x2300 /* ASC-3550 */ +-#define ASC_PCI_DEVICE_ID_2500 0x2500 /* ASC-38C0800 */ +-#define ASC_PCI_DEVICE_ID_2700 0x2700 /* ASC-38C1600 */ + + #ifndef ADVANSYS_STATS + #define ASC_STATS(shp, counter) +@@ -4330,12 +4319,12 @@ advansys_detect(struct scsi_host_templat + struct pci_dev *pci_devp = NULL; + int pci_device_id_cnt = 0; + unsigned int pci_device_id[ASC_PCI_DEVICE_ID_CNT] = { +- ASC_PCI_DEVICE_ID_1100, +- ASC_PCI_DEVICE_ID_1200, +- ASC_PCI_DEVICE_ID_1300, +- ASC_PCI_DEVICE_ID_2300, +- ASC_PCI_DEVICE_ID_2500, +- ASC_PCI_DEVICE_ID_2700 ++ PCI_DEVICE_ID_ASP_1200A, ++ PCI_DEVICE_ID_ASP_ABP940, ++ PCI_DEVICE_ID_ASP_ABP940U, ++ PCI_DEVICE_ID_ASP_ABP940UW, ++ PCI_DEVICE_ID_38C0800_REV1, ++ PCI_DEVICE_ID_38C1600_REV1 + }; + ADV_PADDR pci_memory_address; + #endif /* CONFIG_PCI */ +@@ -4471,7 +4460,7 @@ advansys_detect(struct scsi_host_templat + + /* Find all PCI cards. */ + while (pci_device_id_cnt < ASC_PCI_DEVICE_ID_CNT) { +- if ((pci_devp = pci_find_device(ASC_PCI_VENDORID, ++ if ((pci_devp = pci_find_device(PCI_VENDOR_ID_ASP, + pci_device_id[pci_device_id_cnt], pci_devp)) == + NULL) { + pci_device_id_cnt++; +@@ -4575,9 +4564,9 @@ advansys_detect(struct scsi_host_templat + */ + #ifdef CONFIG_PCI + if (asc_bus[bus] == ASC_IS_PCI && +- (pci_devp->device == ASC_PCI_DEVICE_ID_2300 || +- pci_devp->device == ASC_PCI_DEVICE_ID_2500 || +- pci_devp->device == ASC_PCI_DEVICE_ID_2700)) ++ (pci_devp->device == PCI_DEVICE_ID_ASP_ABP940UW || ++ pci_devp->device == PCI_DEVICE_ID_38C0800_REV1 || ++ pci_devp->device == PCI_DEVICE_ID_38C1600_REV1)) + { + boardp->flags |= ASC_IS_WIDE_BOARD; + } +@@ -4600,11 +4589,11 @@ advansys_detect(struct scsi_host_templat + adv_dvc_varp->isr_callback = adv_isr_callback; + adv_dvc_varp->async_callback = adv_async_callback; + #ifdef CONFIG_PCI +- if (pci_devp->device == ASC_PCI_DEVICE_ID_2300) ++ if (pci_devp->device == PCI_DEVICE_ID_ASP_ABP940UW) + { + ASC_DBG(1, "advansys_detect: ASC-3550\n"); + adv_dvc_varp->chip_type = ADV_CHIP_ASC3550; +- } else if (pci_devp->device == ASC_PCI_DEVICE_ID_2500) ++ } else if (pci_devp->device == PCI_DEVICE_ID_38C0800_REV1) + { + ASC_DBG(1, "advansys_detect: ASC-38C0800\n"); + adv_dvc_varp->chip_type = ADV_CHIP_ASC38C0800; +@@ -11922,7 +11911,7 @@ AscInitGetConfig( + PCIRevisionID = DvcReadPCIConfigByte(asc_dvc, + AscPCIConfigRevisionIDRegister); + +- if (PCIVendorID != ASC_PCI_VENDORID) { ++ if (PCIVendorID != PCI_VENDOR_ID_ASP) { + warn_code |= ASC_WARN_SET_PCI_CONFIG_SPACE; + } + prevCmdRegBits = DvcReadPCIConfigByte(asc_dvc, +@@ -11942,15 +11931,15 @@ AscInitGetConfig( + warn_code |= ASC_WARN_SET_PCI_CONFIG_SPACE; + } + } +- if ((PCIDeviceID == ASC_PCI_DEVICEID_1200A) || +- (PCIDeviceID == ASC_PCI_DEVICEID_1200B)) { ++ if ((PCIDeviceID == PCI_DEVICE_ID_ASP_1200A) || ++ (PCIDeviceID == PCI_DEVICE_ID_ASP_ABP940)) { + DvcWritePCIConfigByte(asc_dvc, + AscPCIConfigLatencyTimer, 0x00); + if (DvcReadPCIConfigByte(asc_dvc, AscPCIConfigLatencyTimer) + != 0x00) { + warn_code |= ASC_WARN_SET_PCI_CONFIG_SPACE; + } +- } else if (PCIDeviceID == ASC_PCI_DEVICEID_ULTRA) { ++ } else if (PCIDeviceID == PCI_DEVICE_ID_ASP_ABP940U) { + if (DvcReadPCIConfigByte(asc_dvc, + AscPCIConfigLatencyTimer) < 0x20) { + DvcWritePCIConfigByte(asc_dvc, +@@ -12037,8 +12026,8 @@ AscInitFromAscDvcVar( + AscSetChipCfgMsw(iop_base, cfg_msw); + if ((asc_dvc->bus_type & ASC_IS_PCI_ULTRA) == ASC_IS_PCI_ULTRA) { + } else { +- if ((pci_device_id == ASC_PCI_DEVICE_ID_REV_A) || +- (pci_device_id == ASC_PCI_DEVICE_ID_REV_B)) { ++ if ((pci_device_id == PCI_DEVICE_ID_ASP_1200A) || ++ (pci_device_id == PCI_DEVICE_ID_ASP_ABP940)) { + asc_dvc->bug_fix_cntl |= ASC_BUG_FIX_IF_NOT_DWB; + asc_dvc->bug_fix_cntl |= ASC_BUG_FIX_ASYN_USE_SYN; + } +@@ -14275,8 +14264,8 @@ Default_38C0800_EEPROM_Config __initdata + 0, /* 55 reserved */ + 0, /* 56 cisptr_lsw */ + 0, /* 57 cisprt_msw */ +- ADV_PCI_VENDOR_ID, /* 58 subsysvid */ +- ADV_PCI_DEVID_38C0800_REV1, /* 59 subsysid */ ++ PCI_VENDOR_ID_ASP, /* 58 subsysvid */ ++ PCI_DEVICE_ID_38C0800_REV1, /* 59 subsysid */ + 0, /* 60 reserved */ + 0, /* 61 reserved */ + 0, /* 62 reserved */ +@@ -14405,8 +14394,8 @@ Default_38C1600_EEPROM_Config __initdata + 0, /* 55 reserved */ + 0, /* 56 cisptr_lsw */ + 0, /* 57 cisprt_msw */ +- ADV_PCI_VENDOR_ID, /* 58 subsysvid */ +- ADV_PCI_DEVID_38C1600_REV1, /* 59 subsysid */ ++ PCI_VENDOR_ID_ASP, /* 58 subsysvid */ ++ PCI_DEVICE_ID_38C1600_REV1, /* 59 subsysid */ + 0, /* 60 reserved */ + 0, /* 61 reserved */ + 0, /* 62 reserved */ +@@ -18225,3 +18214,22 @@ AdvInquiryHandling( + } + } + MODULE_LICENSE("Dual BSD/GPL"); ++ ++/* PCI Devices supported by this driver */ ++static struct pci_device_id advansys_pci_tbl[] __devinitdata = { ++ { PCI_VENDOR_ID_ASP, PCI_DEVICE_ID_ASP_1200A, ++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, ++ { PCI_VENDOR_ID_ASP, PCI_DEVICE_ID_ASP_ABP940, ++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, ++ { PCI_VENDOR_ID_ASP, PCI_DEVICE_ID_ASP_ABP940U, ++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, ++ { PCI_VENDOR_ID_ASP, PCI_DEVICE_ID_ASP_ABP940UW, ++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, ++ { PCI_VENDOR_ID_ASP, PCI_DEVICE_ID_38C0800_REV1, ++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, ++ { PCI_VENDOR_ID_ASP, PCI_DEVICE_ID_38C1600_REV1, ++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, ++ { } ++}; ++MODULE_DEVICE_TABLE(pci, advansys_pci_tbl); ++ diff --git a/debian/patches/bugfix/fdomain-pci-id-table.patch b/debian/patches/bugfix/fdomain-pci-id-table.patch new file mode 100644 index 000000000..c36f98500 --- /dev/null +++ b/debian/patches/bugfix/fdomain-pci-id-table.patch @@ -0,0 +1,31 @@ +From: Ben Collins +Date: Fri, 11 Nov 2005 20:01:26 +0000 (-0500) +Subject: [UBUNTU:scsi] Add basic hotplug support to fdomain +X-Git-Tag: v2.6.15-rc1 +X-Git-Url: http://kernel.org/git/?p=linux/kernel/git/bcollins/ubuntu-2.6.git;a=commitdiff;h=e82633eb19c4b390846a6eecd72204b696448954 + +[UBUNTU:scsi] Add basic hotplug support to some drivers + +UpstreamStatus: Unsubmitted + +Signed-off-by: Ben Collins +--- + +--- a/drivers/scsi/fdomain.c ++++ b/drivers/scsi/fdomain.c +@@ -1720,6 +1720,15 @@ static int fdomain_16x0_release(struct S + return 0; + } + ++#ifndef PCMCIA ++static struct pci_device_id fdomain_pci_tbl[] __devinitdata = { ++ { PCI_VENDOR_ID_FD, PCI_DEVICE_ID_FD_36C70, ++ PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0UL }, ++ { } ++}; ++MODULE_DEVICE_TABLE(pci, fdomain_pci_tbl); ++#endif ++ + struct scsi_host_template fdomain_driver_template = { + .module = THIS_MODULE, + .name = "fdomain", diff --git a/debian/patches/series/1 b/debian/patches/series/1 index a33bcbd60..6ddbc0697 100644 --- a/debian/patches/series/1 +++ b/debian/patches/series/1 @@ -31,4 +31,5 @@ + powerpc-serial.patch + powerpc-oldworld-boot-fix.patch + fs-asfs.patch - ++ bugfix/advansys-pci-id-table.patch ++ bugfix/fdomain-pci-id-table.patch