diff options
Diffstat (limited to 'drivers/scsi/advansys.c')
-rw-r--r-- | drivers/scsi/advansys.c | 117 |
1 files changed, 62 insertions, 55 deletions
diff --git a/drivers/scsi/advansys.c b/drivers/scsi/advansys.c index 2a419634b25..773f02e3b10 100644 --- a/drivers/scsi/advansys.c +++ b/drivers/scsi/advansys.c | |||
@@ -371,7 +371,7 @@ | |||
371 | 371 | ||
372 | 1.5 (8/8/96): | 372 | 1.5 (8/8/96): |
373 | 1. Add support for ABP-940U (PCI Ultra) adapter. | 373 | 1. Add support for ABP-940U (PCI Ultra) adapter. |
374 | 2. Add support for IRQ sharing by setting the SA_SHIRQ flag for | 374 | 2. Add support for IRQ sharing by setting the IRQF_SHARED flag for |
375 | request_irq and supplying a dev_id pointer to both request_irq() | 375 | request_irq and supplying a dev_id pointer to both request_irq() |
376 | and free_irq(). | 376 | and free_irq(). |
377 | 3. In AscSearchIOPortAddr11() restore a call to check_region() which | 377 | 3. In AscSearchIOPortAddr11() restore a call to check_region() which |
@@ -504,9 +504,9 @@ | |||
504 | 3. For v2.1.93 and newer kernels use CONFIG_PCI and new PCI BIOS | 504 | 3. For v2.1.93 and newer kernels use CONFIG_PCI and new PCI BIOS |
505 | access functions. | 505 | access functions. |
506 | 4. Update board serial number printing. | 506 | 4. Update board serial number printing. |
507 | 5. Try allocating an IRQ both with and without the SA_INTERRUPT | 507 | 5. Try allocating an IRQ both with and without the IRQF_DISABLED |
508 | flag set to allow IRQ sharing with drivers that do not set | 508 | flag set to allow IRQ sharing with drivers that do not set |
509 | the SA_INTERRUPT flag. Also display a more descriptive error | 509 | the IRQF_DISABLED flag. Also display a more descriptive error |
510 | message if request_irq() fails. | 510 | message if request_irq() fails. |
511 | 6. Update to latest Asc and Adv Libraries. | 511 | 6. Update to latest Asc and Adv Libraries. |
512 | 512 | ||
@@ -754,7 +754,6 @@ | |||
754 | * --- Linux Include Files | 754 | * --- Linux Include Files |
755 | */ | 755 | */ |
756 | 756 | ||
757 | #include <linux/config.h> | ||
758 | #include <linux/module.h> | 757 | #include <linux/module.h> |
759 | 758 | ||
760 | #if defined(CONFIG_X86) && !defined(CONFIG_ISA) | 759 | #if defined(CONFIG_X86) && !defined(CONFIG_ISA) |
@@ -889,10 +888,6 @@ typedef unsigned char uchar; | |||
889 | #define ASC_PCI_ID2DEV(id) (((id) >> 11) & 0x1F) | 888 | #define ASC_PCI_ID2DEV(id) (((id) >> 11) & 0x1F) |
890 | #define ASC_PCI_ID2FUNC(id) (((id) >> 8) & 0x7) | 889 | #define ASC_PCI_ID2FUNC(id) (((id) >> 8) & 0x7) |
891 | #define ASC_PCI_MKID(bus, dev, func) ((((dev) & 0x1F) << 11) | (((func) & 0x7) << 8) | ((bus) & 0xFF)) | 890 | #define ASC_PCI_MKID(bus, dev, func) ((((dev) & 0x1F) << 11) | (((func) & 0x7) << 8) | ((bus) & 0xFF)) |
892 | #define ASC_PCI_VENDORID 0x10CD | ||
893 | #define ASC_PCI_DEVICEID_1200A 0x1100 | ||
894 | #define ASC_PCI_DEVICEID_1200B 0x1200 | ||
895 | #define ASC_PCI_DEVICEID_ULTRA 0x1300 | ||
896 | #define ASC_PCI_REVISION_3150 0x02 | 891 | #define ASC_PCI_REVISION_3150 0x02 |
897 | #define ASC_PCI_REVISION_3050 0x03 | 892 | #define ASC_PCI_REVISION_3050 0x03 |
898 | 893 | ||
@@ -900,6 +895,14 @@ typedef unsigned char uchar; | |||
900 | #define ASC_DVCLIB_CALL_FAILED (0) | 895 | #define ASC_DVCLIB_CALL_FAILED (0) |
901 | #define ASC_DVCLIB_CALL_ERROR (-1) | 896 | #define ASC_DVCLIB_CALL_ERROR (-1) |
902 | 897 | ||
898 | #define PCI_VENDOR_ID_ASP 0x10cd | ||
899 | #define PCI_DEVICE_ID_ASP_1200A 0x1100 | ||
900 | #define PCI_DEVICE_ID_ASP_ABP940 0x1200 | ||
901 | #define PCI_DEVICE_ID_ASP_ABP940U 0x1300 | ||
902 | #define PCI_DEVICE_ID_ASP_ABP940UW 0x2300 | ||
903 | #define PCI_DEVICE_ID_38C0800_REV1 0x2500 | ||
904 | #define PCI_DEVICE_ID_38C1600_REV1 0x2700 | ||
905 | |||
903 | /* | 906 | /* |
904 | * Enable CC_VERY_LONG_SG_LIST to support up to 64K element SG lists. | 907 | * Enable CC_VERY_LONG_SG_LIST to support up to 64K element SG lists. |
905 | * The SRB structure will have to be changed and the ASC_SRB2SCSIQ() | 908 | * The SRB structure will have to be changed and the ASC_SRB2SCSIQ() |
@@ -1493,8 +1496,6 @@ typedef struct asc_dvc_cfg { | |||
1493 | #define ASC_INIT_STATE_END_INQUIRY 0x0080 | 1496 | #define ASC_INIT_STATE_END_INQUIRY 0x0080 |
1494 | #define ASC_INIT_RESET_SCSI_DONE 0x0100 | 1497 | #define ASC_INIT_RESET_SCSI_DONE 0x0100 |
1495 | #define ASC_INIT_STATE_WITHOUT_EEP 0x8000 | 1498 | #define ASC_INIT_STATE_WITHOUT_EEP 0x8000 |
1496 | #define ASC_PCI_DEVICE_ID_REV_A 0x1100 | ||
1497 | #define ASC_PCI_DEVICE_ID_REV_B 0x1200 | ||
1498 | #define ASC_BUG_FIX_IF_NOT_DWB 0x0001 | 1499 | #define ASC_BUG_FIX_IF_NOT_DWB 0x0001 |
1499 | #define ASC_BUG_FIX_ASYN_USE_SYN 0x0002 | 1500 | #define ASC_BUG_FIX_ASYN_USE_SYN 0x0002 |
1500 | #define ASYN_SDTR_DATA_FIX_PCI_REV_AB 0x41 | 1501 | #define ASYN_SDTR_DATA_FIX_PCI_REV_AB 0x41 |
@@ -2101,12 +2102,6 @@ STATIC ASC_DCNT AscGetMaxDmaCount(ushort); | |||
2101 | #define ADV_NUM_PAGE_CROSSING \ | 2102 | #define ADV_NUM_PAGE_CROSSING \ |
2102 | ((ADV_SG_TOTAL_MEM_SIZE + (ADV_PAGE_SIZE - 1))/ADV_PAGE_SIZE) | 2103 | ((ADV_SG_TOTAL_MEM_SIZE + (ADV_PAGE_SIZE - 1))/ADV_PAGE_SIZE) |
2103 | 2104 | ||
2104 | /* a_condor.h */ | ||
2105 | #define ADV_PCI_VENDOR_ID 0x10CD | ||
2106 | #define ADV_PCI_DEVICE_ID_REV_A 0x2300 | ||
2107 | #define ADV_PCI_DEVID_38C0800_REV1 0x2500 | ||
2108 | #define ADV_PCI_DEVID_38C1600_REV1 0x2700 | ||
2109 | |||
2110 | #define ADV_EEP_DVC_CFG_BEGIN (0x00) | 2105 | #define ADV_EEP_DVC_CFG_BEGIN (0x00) |
2111 | #define ADV_EEP_DVC_CFG_END (0x15) | 2106 | #define ADV_EEP_DVC_CFG_END (0x15) |
2112 | #define ADV_EEP_DVC_CTL_BEGIN (0x16) /* location of OEM name */ | 2107 | #define ADV_EEP_DVC_CTL_BEGIN (0x16) /* location of OEM name */ |
@@ -3570,14 +3565,7 @@ typedef struct scsi_cmnd REQ, *REQP; | |||
3570 | #define PCI_MAX_SLOT 0x1F | 3565 | #define PCI_MAX_SLOT 0x1F |
3571 | #define PCI_MAX_BUS 0xFF | 3566 | #define PCI_MAX_BUS 0xFF |
3572 | #define PCI_IOADDRESS_MASK 0xFFFE | 3567 | #define PCI_IOADDRESS_MASK 0xFFFE |
3573 | #define ASC_PCI_VENDORID 0x10CD | ||
3574 | #define ASC_PCI_DEVICE_ID_CNT 6 /* PCI Device ID count. */ | 3568 | #define ASC_PCI_DEVICE_ID_CNT 6 /* PCI Device ID count. */ |
3575 | #define ASC_PCI_DEVICE_ID_1100 0x1100 | ||
3576 | #define ASC_PCI_DEVICE_ID_1200 0x1200 | ||
3577 | #define ASC_PCI_DEVICE_ID_1300 0x1300 | ||
3578 | #define ASC_PCI_DEVICE_ID_2300 0x2300 /* ASC-3550 */ | ||
3579 | #define ASC_PCI_DEVICE_ID_2500 0x2500 /* ASC-38C0800 */ | ||
3580 | #define ASC_PCI_DEVICE_ID_2700 0x2700 /* ASC-38C1600 */ | ||
3581 | 3569 | ||
3582 | #ifndef ADVANSYS_STATS | 3570 | #ifndef ADVANSYS_STATS |
3583 | #define ASC_STATS(shp, counter) | 3571 | #define ASC_STATS(shp, counter) |
@@ -4331,12 +4319,12 @@ advansys_detect(struct scsi_host_template *tpnt) | |||
4331 | struct pci_dev *pci_devp = NULL; | 4319 | struct pci_dev *pci_devp = NULL; |
4332 | int pci_device_id_cnt = 0; | 4320 | int pci_device_id_cnt = 0; |
4333 | unsigned int pci_device_id[ASC_PCI_DEVICE_ID_CNT] = { | 4321 | unsigned int pci_device_id[ASC_PCI_DEVICE_ID_CNT] = { |
4334 | ASC_PCI_DEVICE_ID_1100, | 4322 | PCI_DEVICE_ID_ASP_1200A, |
4335 | ASC_PCI_DEVICE_ID_1200, | 4323 | PCI_DEVICE_ID_ASP_ABP940, |
4336 | ASC_PCI_DEVICE_ID_1300, | 4324 | PCI_DEVICE_ID_ASP_ABP940U, |
4337 | ASC_PCI_DEVICE_ID_2300, | 4325 | PCI_DEVICE_ID_ASP_ABP940UW, |
4338 | ASC_PCI_DEVICE_ID_2500, | 4326 | PCI_DEVICE_ID_38C0800_REV1, |
4339 | ASC_PCI_DEVICE_ID_2700 | 4327 | PCI_DEVICE_ID_38C1600_REV1 |
4340 | }; | 4328 | }; |
4341 | ADV_PADDR pci_memory_address; | 4329 | ADV_PADDR pci_memory_address; |
4342 | #endif /* CONFIG_PCI */ | 4330 | #endif /* CONFIG_PCI */ |
@@ -4472,7 +4460,7 @@ advansys_detect(struct scsi_host_template *tpnt) | |||
4472 | 4460 | ||
4473 | /* Find all PCI cards. */ | 4461 | /* Find all PCI cards. */ |
4474 | while (pci_device_id_cnt < ASC_PCI_DEVICE_ID_CNT) { | 4462 | while (pci_device_id_cnt < ASC_PCI_DEVICE_ID_CNT) { |
4475 | if ((pci_devp = pci_find_device(ASC_PCI_VENDORID, | 4463 | if ((pci_devp = pci_find_device(PCI_VENDOR_ID_ASP, |
4476 | pci_device_id[pci_device_id_cnt], pci_devp)) == | 4464 | pci_device_id[pci_device_id_cnt], pci_devp)) == |
4477 | NULL) { | 4465 | NULL) { |
4478 | pci_device_id_cnt++; | 4466 | pci_device_id_cnt++; |
@@ -4576,9 +4564,9 @@ advansys_detect(struct scsi_host_template *tpnt) | |||
4576 | */ | 4564 | */ |
4577 | #ifdef CONFIG_PCI | 4565 | #ifdef CONFIG_PCI |
4578 | if (asc_bus[bus] == ASC_IS_PCI && | 4566 | if (asc_bus[bus] == ASC_IS_PCI && |
4579 | (pci_devp->device == ASC_PCI_DEVICE_ID_2300 || | 4567 | (pci_devp->device == PCI_DEVICE_ID_ASP_ABP940UW || |
4580 | pci_devp->device == ASC_PCI_DEVICE_ID_2500 || | 4568 | pci_devp->device == PCI_DEVICE_ID_38C0800_REV1 || |
4581 | pci_devp->device == ASC_PCI_DEVICE_ID_2700)) | 4569 | pci_devp->device == PCI_DEVICE_ID_38C1600_REV1)) |
4582 | { | 4570 | { |
4583 | boardp->flags |= ASC_IS_WIDE_BOARD; | 4571 | boardp->flags |= ASC_IS_WIDE_BOARD; |
4584 | } | 4572 | } |
@@ -4601,11 +4589,11 @@ advansys_detect(struct scsi_host_template *tpnt) | |||
4601 | adv_dvc_varp->isr_callback = adv_isr_callback; | 4589 | adv_dvc_varp->isr_callback = adv_isr_callback; |
4602 | adv_dvc_varp->async_callback = adv_async_callback; | 4590 | adv_dvc_varp->async_callback = adv_async_callback; |
4603 | #ifdef CONFIG_PCI | 4591 | #ifdef CONFIG_PCI |
4604 | if (pci_devp->device == ASC_PCI_DEVICE_ID_2300) | 4592 | if (pci_devp->device == PCI_DEVICE_ID_ASP_ABP940UW) |
4605 | { | 4593 | { |
4606 | ASC_DBG(1, "advansys_detect: ASC-3550\n"); | 4594 | ASC_DBG(1, "advansys_detect: ASC-3550\n"); |
4607 | adv_dvc_varp->chip_type = ADV_CHIP_ASC3550; | 4595 | adv_dvc_varp->chip_type = ADV_CHIP_ASC3550; |
4608 | } else if (pci_devp->device == ASC_PCI_DEVICE_ID_2500) | 4596 | } else if (pci_devp->device == PCI_DEVICE_ID_38C0800_REV1) |
4609 | { | 4597 | { |
4610 | ASC_DBG(1, "advansys_detect: ASC-38C0800\n"); | 4598 | ASC_DBG(1, "advansys_detect: ASC-38C0800\n"); |
4611 | adv_dvc_varp->chip_type = ADV_CHIP_ASC38C0800; | 4599 | adv_dvc_varp->chip_type = ADV_CHIP_ASC38C0800; |
@@ -5203,19 +5191,19 @@ advansys_detect(struct scsi_host_template *tpnt) | |||
5203 | /* Register IRQ Number. */ | 5191 | /* Register IRQ Number. */ |
5204 | ASC_DBG1(2, "advansys_detect: request_irq() %d\n", shp->irq); | 5192 | ASC_DBG1(2, "advansys_detect: request_irq() %d\n", shp->irq); |
5205 | /* | 5193 | /* |
5206 | * If request_irq() fails with the SA_INTERRUPT flag set, | 5194 | * If request_irq() fails with the IRQF_DISABLED flag set, |
5207 | * then try again without the SA_INTERRUPT flag set. This | 5195 | * then try again without the IRQF_DISABLED flag set. This |
5208 | * allows IRQ sharing to work even with other drivers that | 5196 | * allows IRQ sharing to work even with other drivers that |
5209 | * do not set the SA_INTERRUPT flag. | 5197 | * do not set the IRQF_DISABLED flag. |
5210 | * | 5198 | * |
5211 | * If SA_INTERRUPT is not set, then interrupts are enabled | 5199 | * If IRQF_DISABLED is not set, then interrupts are enabled |
5212 | * before the driver interrupt function is called. | 5200 | * before the driver interrupt function is called. |
5213 | */ | 5201 | */ |
5214 | if (((ret = request_irq(shp->irq, advansys_interrupt, | 5202 | if (((ret = request_irq(shp->irq, advansys_interrupt, |
5215 | SA_INTERRUPT | (share_irq == TRUE ? SA_SHIRQ : 0), | 5203 | IRQF_DISABLED | (share_irq == TRUE ? IRQF_SHARED : 0), |
5216 | "advansys", boardp)) != 0) && | 5204 | "advansys", boardp)) != 0) && |
5217 | ((ret = request_irq(shp->irq, advansys_interrupt, | 5205 | ((ret = request_irq(shp->irq, advansys_interrupt, |
5218 | (share_irq == TRUE ? SA_SHIRQ : 0), | 5206 | (share_irq == TRUE ? IRQF_SHARED : 0), |
5219 | "advansys", boardp)) != 0)) | 5207 | "advansys", boardp)) != 0)) |
5220 | { | 5208 | { |
5221 | if (ret == -EBUSY) { | 5209 | if (ret == -EBUSY) { |
@@ -11923,7 +11911,7 @@ AscInitGetConfig( | |||
11923 | PCIRevisionID = DvcReadPCIConfigByte(asc_dvc, | 11911 | PCIRevisionID = DvcReadPCIConfigByte(asc_dvc, |
11924 | AscPCIConfigRevisionIDRegister); | 11912 | AscPCIConfigRevisionIDRegister); |
11925 | 11913 | ||
11926 | if (PCIVendorID != ASC_PCI_VENDORID) { | 11914 | if (PCIVendorID != PCI_VENDOR_ID_ASP) { |
11927 | warn_code |= ASC_WARN_SET_PCI_CONFIG_SPACE; | 11915 | warn_code |= ASC_WARN_SET_PCI_CONFIG_SPACE; |
11928 | } | 11916 | } |
11929 | prevCmdRegBits = DvcReadPCIConfigByte(asc_dvc, | 11917 | prevCmdRegBits = DvcReadPCIConfigByte(asc_dvc, |
@@ -11943,15 +11931,15 @@ AscInitGetConfig( | |||
11943 | warn_code |= ASC_WARN_SET_PCI_CONFIG_SPACE; | 11931 | warn_code |= ASC_WARN_SET_PCI_CONFIG_SPACE; |
11944 | } | 11932 | } |
11945 | } | 11933 | } |
11946 | if ((PCIDeviceID == ASC_PCI_DEVICEID_1200A) || | 11934 | if ((PCIDeviceID == PCI_DEVICE_ID_ASP_1200A) || |
11947 | (PCIDeviceID == ASC_PCI_DEVICEID_1200B)) { | 11935 | (PCIDeviceID == PCI_DEVICE_ID_ASP_ABP940)) { |
11948 | DvcWritePCIConfigByte(asc_dvc, | 11936 | DvcWritePCIConfigByte(asc_dvc, |
11949 | AscPCIConfigLatencyTimer, 0x00); | 11937 | AscPCIConfigLatencyTimer, 0x00); |
11950 | if (DvcReadPCIConfigByte(asc_dvc, AscPCIConfigLatencyTimer) | 11938 | if (DvcReadPCIConfigByte(asc_dvc, AscPCIConfigLatencyTimer) |
11951 | != 0x00) { | 11939 | != 0x00) { |
11952 | warn_code |= ASC_WARN_SET_PCI_CONFIG_SPACE; | 11940 | warn_code |= ASC_WARN_SET_PCI_CONFIG_SPACE; |
11953 | } | 11941 | } |
11954 | } else if (PCIDeviceID == ASC_PCI_DEVICEID_ULTRA) { | 11942 | } else if (PCIDeviceID == PCI_DEVICE_ID_ASP_ABP940U) { |
11955 | if (DvcReadPCIConfigByte(asc_dvc, | 11943 | if (DvcReadPCIConfigByte(asc_dvc, |
11956 | AscPCIConfigLatencyTimer) < 0x20) { | 11944 | AscPCIConfigLatencyTimer) < 0x20) { |
11957 | DvcWritePCIConfigByte(asc_dvc, | 11945 | DvcWritePCIConfigByte(asc_dvc, |
@@ -12038,8 +12026,8 @@ AscInitFromAscDvcVar( | |||
12038 | AscSetChipCfgMsw(iop_base, cfg_msw); | 12026 | AscSetChipCfgMsw(iop_base, cfg_msw); |
12039 | if ((asc_dvc->bus_type & ASC_IS_PCI_ULTRA) == ASC_IS_PCI_ULTRA) { | 12027 | if ((asc_dvc->bus_type & ASC_IS_PCI_ULTRA) == ASC_IS_PCI_ULTRA) { |
12040 | } else { | 12028 | } else { |
12041 | if ((pci_device_id == ASC_PCI_DEVICE_ID_REV_A) || | 12029 | if ((pci_device_id == PCI_DEVICE_ID_ASP_1200A) || |
12042 | (pci_device_id == ASC_PCI_DEVICE_ID_REV_B)) { | 12030 | (pci_device_id == PCI_DEVICE_ID_ASP_ABP940)) { |
12043 | asc_dvc->bug_fix_cntl |= ASC_BUG_FIX_IF_NOT_DWB; | 12031 | asc_dvc->bug_fix_cntl |= ASC_BUG_FIX_IF_NOT_DWB; |
12044 | asc_dvc->bug_fix_cntl |= ASC_BUG_FIX_ASYN_USE_SYN; | 12032 | asc_dvc->bug_fix_cntl |= ASC_BUG_FIX_ASYN_USE_SYN; |
12045 | } | 12033 | } |
@@ -12374,7 +12362,7 @@ AscInitFromEEP(ASC_DVC_VAR *asc_dvc) | |||
12374 | ASC_PRINT1( | 12362 | ASC_PRINT1( |
12375 | "AscInitFromEEP: Failed to re-write EEPROM with %d errors.\n", i); | 12363 | "AscInitFromEEP: Failed to re-write EEPROM with %d errors.\n", i); |
12376 | } else { | 12364 | } else { |
12377 | ASC_PRINT("AscInitFromEEP: Succesfully re-wrote EEPROM."); | 12365 | ASC_PRINT("AscInitFromEEP: Successfully re-wrote EEPROM.\n"); |
12378 | } | 12366 | } |
12379 | } | 12367 | } |
12380 | return (warn_code); | 12368 | return (warn_code); |
@@ -14276,8 +14264,8 @@ Default_38C0800_EEPROM_Config __initdata = { | |||
14276 | 0, /* 55 reserved */ | 14264 | 0, /* 55 reserved */ |
14277 | 0, /* 56 cisptr_lsw */ | 14265 | 0, /* 56 cisptr_lsw */ |
14278 | 0, /* 57 cisprt_msw */ | 14266 | 0, /* 57 cisprt_msw */ |
14279 | ADV_PCI_VENDOR_ID, /* 58 subsysvid */ | 14267 | PCI_VENDOR_ID_ASP, /* 58 subsysvid */ |
14280 | ADV_PCI_DEVID_38C0800_REV1, /* 59 subsysid */ | 14268 | PCI_DEVICE_ID_38C0800_REV1, /* 59 subsysid */ |
14281 | 0, /* 60 reserved */ | 14269 | 0, /* 60 reserved */ |
14282 | 0, /* 61 reserved */ | 14270 | 0, /* 61 reserved */ |
14283 | 0, /* 62 reserved */ | 14271 | 0, /* 62 reserved */ |
@@ -14406,8 +14394,8 @@ Default_38C1600_EEPROM_Config __initdata = { | |||
14406 | 0, /* 55 reserved */ | 14394 | 0, /* 55 reserved */ |
14407 | 0, /* 56 cisptr_lsw */ | 14395 | 0, /* 56 cisptr_lsw */ |
14408 | 0, /* 57 cisprt_msw */ | 14396 | 0, /* 57 cisprt_msw */ |
14409 | ADV_PCI_VENDOR_ID, /* 58 subsysvid */ | 14397 | PCI_VENDOR_ID_ASP, /* 58 subsysvid */ |
14410 | ADV_PCI_DEVID_38C1600_REV1, /* 59 subsysid */ | 14398 | PCI_DEVICE_ID_38C1600_REV1, /* 59 subsysid */ |
14411 | 0, /* 60 reserved */ | 14399 | 0, /* 60 reserved */ |
14412 | 0, /* 61 reserved */ | 14400 | 0, /* 61 reserved */ |
14413 | 0, /* 62 reserved */ | 14401 | 0, /* 62 reserved */ |
@@ -17316,7 +17304,7 @@ AdvWaitEEPCmd(AdvPortAddr iop_base) | |||
17316 | /* | 17304 | /* |
17317 | * Write the EEPROM from 'cfg_buf'. | 17305 | * Write the EEPROM from 'cfg_buf'. |
17318 | */ | 17306 | */ |
17319 | void | 17307 | void __init |
17320 | AdvSet3550EEPConfig(AdvPortAddr iop_base, ADVEEP_3550_CONFIG *cfg_buf) | 17308 | AdvSet3550EEPConfig(AdvPortAddr iop_base, ADVEEP_3550_CONFIG *cfg_buf) |
17321 | { | 17309 | { |
17322 | ushort *wbuf; | 17310 | ushort *wbuf; |
@@ -17383,7 +17371,7 @@ AdvSet3550EEPConfig(AdvPortAddr iop_base, ADVEEP_3550_CONFIG *cfg_buf) | |||
17383 | /* | 17371 | /* |
17384 | * Write the EEPROM from 'cfg_buf'. | 17372 | * Write the EEPROM from 'cfg_buf'. |
17385 | */ | 17373 | */ |
17386 | void | 17374 | void __init |
17387 | AdvSet38C0800EEPConfig(AdvPortAddr iop_base, | 17375 | AdvSet38C0800EEPConfig(AdvPortAddr iop_base, |
17388 | ADVEEP_38C0800_CONFIG *cfg_buf) | 17376 | ADVEEP_38C0800_CONFIG *cfg_buf) |
17389 | { | 17377 | { |
@@ -17451,7 +17439,7 @@ AdvSet38C0800EEPConfig(AdvPortAddr iop_base, | |||
17451 | /* | 17439 | /* |
17452 | * Write the EEPROM from 'cfg_buf'. | 17440 | * Write the EEPROM from 'cfg_buf'. |
17453 | */ | 17441 | */ |
17454 | void | 17442 | void __init |
17455 | AdvSet38C1600EEPConfig(AdvPortAddr iop_base, | 17443 | AdvSet38C1600EEPConfig(AdvPortAddr iop_base, |
17456 | ADVEEP_38C1600_CONFIG *cfg_buf) | 17444 | ADVEEP_38C1600_CONFIG *cfg_buf) |
17457 | { | 17445 | { |
@@ -18226,3 +18214,22 @@ AdvInquiryHandling( | |||
18226 | } | 18214 | } |
18227 | } | 18215 | } |
18228 | MODULE_LICENSE("Dual BSD/GPL"); | 18216 | MODULE_LICENSE("Dual BSD/GPL"); |
18217 | |||
18218 | /* PCI Devices supported by this driver */ | ||
18219 | static struct pci_device_id advansys_pci_tbl[] __devinitdata = { | ||
18220 | { PCI_VENDOR_ID_ASP, PCI_DEVICE_ID_ASP_1200A, | ||
18221 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | ||
18222 | { PCI_VENDOR_ID_ASP, PCI_DEVICE_ID_ASP_ABP940, | ||
18223 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | ||
18224 | { PCI_VENDOR_ID_ASP, PCI_DEVICE_ID_ASP_ABP940U, | ||
18225 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | ||
18226 | { PCI_VENDOR_ID_ASP, PCI_DEVICE_ID_ASP_ABP940UW, | ||
18227 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | ||
18228 | { PCI_VENDOR_ID_ASP, PCI_DEVICE_ID_38C0800_REV1, | ||
18229 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | ||
18230 | { PCI_VENDOR_ID_ASP, PCI_DEVICE_ID_38C1600_REV1, | ||
18231 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | ||
18232 | { } | ||
18233 | }; | ||
18234 | MODULE_DEVICE_TABLE(pci, advansys_pci_tbl); | ||
18235 | |||