init.c (89a7301f21fb00e753089671eb9e4132aab8ea08) | init.c (dc00c8b6940aa10ab1ce6a4d10b1bfe7b848781b) |
---|---|
1/* 2 * This file is provided under a dual BSD/GPLv2 license. When using or 3 * redistributing this file, you may do so under either license. 4 * 5 * GPL LICENSE SUMMARY 6 * 7 * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved. 8 * --- 71 unchanged lines hidden (view full) --- 80 { PCI_VDEVICE(INTEL, 0x1D6A),}, 81 {} 82}; 83 84MODULE_DEVICE_TABLE(pci, isci_id_table); 85 86/* linux isci specific settings */ 87 | 1/* 2 * This file is provided under a dual BSD/GPLv2 license. When using or 3 * redistributing this file, you may do so under either license. 4 * 5 * GPL LICENSE SUMMARY 6 * 7 * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved. 8 * --- 71 unchanged lines hidden (view full) --- 80 { PCI_VDEVICE(INTEL, 0x1D6A),}, 81 {} 82}; 83 84MODULE_DEVICE_TABLE(pci, isci_id_table); 85 86/* linux isci specific settings */ 87 |
88int isci_si_rev = ISCI_SI_REVA2; 89module_param(isci_si_rev, int, 0); 90MODULE_PARM_DESC(isci_si_rev, "(deprecated) override default si rev (0: A0 1: A2 2: B0)"); 91 | |
92unsigned char no_outbound_task_to = 20; 93module_param(no_outbound_task_to, byte, 0); 94MODULE_PARM_DESC(no_outbound_task_to, "No Outbound Task Timeout (1us incr)"); 95 96u16 ssp_max_occ_to = 20; 97module_param(ssp_max_occ_to, ushort, 0); 98MODULE_PARM_DESC(ssp_max_occ_to, "SSP Max occupancy timeout (100us incr)"); 99 --- 330 unchanged lines hidden (view full) --- 430 err_shost_remove: 431 scsi_remove_host(shost); 432 err_shost: 433 scsi_host_put(shost); 434 435 return NULL; 436} 437 | 88unsigned char no_outbound_task_to = 20; 89module_param(no_outbound_task_to, byte, 0); 90MODULE_PARM_DESC(no_outbound_task_to, "No Outbound Task Timeout (1us incr)"); 91 92u16 ssp_max_occ_to = 20; 93module_param(ssp_max_occ_to, ushort, 0); 94MODULE_PARM_DESC(ssp_max_occ_to, "SSP Max occupancy timeout (100us incr)"); 95 --- 330 unchanged lines hidden (view full) --- 426 err_shost_remove: 427 scsi_remove_host(shost); 428 err_shost: 429 scsi_host_put(shost); 430 431 return NULL; 432} 433 |
438static void check_si_rev(struct pci_dev *pdev) 439{ 440 switch (pdev->revision) { 441 case 0: 442 case 1: 443 /* if the id is ambiguous don't update isci_si_rev */ 444 break; 445 case 3: 446 isci_si_rev = ISCI_SI_REVA2; 447 break; 448 case 4: 449 isci_si_rev = ISCI_SI_REVB0; 450 break; 451 default: 452 case 5: 453 isci_si_rev = ISCI_SI_REVC0; 454 break; 455 } 456 457 dev_info(&pdev->dev, "driver configured for %s silicon (rev: %d)\n", 458 isci_si_rev == ISCI_SI_REVA0 ? "A0" : 459 isci_si_rev == ISCI_SI_REVA2 ? "A2" : 460 isci_si_rev == ISCI_SI_REVB0 ? "B0" : "C0", pdev->revision); 461 462} 463 | |
464static int __devinit isci_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) 465{ 466 struct isci_pci_info *pci_info; 467 int err, i; 468 struct isci_host *isci_host; 469 const struct firmware *fw = NULL; 470 struct isci_orom *orom = NULL; 471 char *source = "(platform)"; 472 | 434static int __devinit isci_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) 435{ 436 struct isci_pci_info *pci_info; 437 int err, i; 438 struct isci_host *isci_host; 439 const struct firmware *fw = NULL; 440 struct isci_orom *orom = NULL; 441 char *source = "(platform)"; 442 |
473 check_si_rev(pdev); | 443 dev_info(&pdev->dev, "driver configured for rev: %d silicon\n", 444 pdev->revision); |
474 475 pci_info = devm_kzalloc(&pdev->dev, sizeof(*pci_info), GFP_KERNEL); 476 if (!pci_info) 477 return -ENOMEM; 478 pci_set_drvdata(pdev, pci_info); 479 480 if (efi_enabled) 481 orom = isci_get_efi_var(pdev); --- 113 unchanged lines hidden --- | 445 446 pci_info = devm_kzalloc(&pdev->dev, sizeof(*pci_info), GFP_KERNEL); 447 if (!pci_info) 448 return -ENOMEM; 449 pci_set_drvdata(pdev, pci_info); 450 451 if (efi_enabled) 452 orom = isci_get_efi_var(pdev); --- 113 unchanged lines hidden --- |