aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/Kconfig18
-rw-r--r--drivers/scsi/arm/Kconfig10
-rw-r--r--drivers/scsi/device_handler/Kconfig4
-rw-r--r--drivers/scsi/hosts.c4
-rw-r--r--drivers/scsi/isci/init.c2
-rw-r--r--drivers/scsi/osd/osd_uld.c26
-rw-r--r--drivers/scsi/scsi_transport_iscsi.c4
-rw-r--r--drivers/scsi/storvsc_drv.c12
8 files changed, 36 insertions, 44 deletions
diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
index 65e764cb33af..db95c547c09d 100644
--- a/drivers/scsi/Kconfig
+++ b/drivers/scsi/Kconfig
@@ -42,7 +42,7 @@ config SCSI_DMA
42 42
43config SCSI_TGT 43config SCSI_TGT
44 tristate "SCSI target support" 44 tristate "SCSI target support"
45 depends on SCSI && EXPERIMENTAL 45 depends on SCSI
46 ---help--- 46 ---help---
47 If you want to use SCSI target mode drivers enable this option. 47 If you want to use SCSI target mode drivers enable this option.
48 If you choose M, the module will be called scsi_tgt. 48 If you choose M, the module will be called scsi_tgt.
@@ -1392,8 +1392,8 @@ config SCSI_SYM53C416
1392 module will be called sym53c416. 1392 module will be called sym53c416.
1393 1393
1394config SCSI_DC395x 1394config SCSI_DC395x
1395 tristate "Tekram DC395(U/UW/F) and DC315(U) SCSI support (EXPERIMENTAL)" 1395 tristate "Tekram DC395(U/UW/F) and DC315(U) SCSI support"
1396 depends on PCI && SCSI && EXPERIMENTAL 1396 depends on PCI && SCSI
1397 ---help--- 1397 ---help---
1398 This driver supports PCI SCSI host adapters based on the ASIC 1398 This driver supports PCI SCSI host adapters based on the ASIC
1399 TRM-S1040 chip, e.g Tekram DC395(U/UW/F) and DC315(U) variants. 1399 TRM-S1040 chip, e.g Tekram DC395(U/UW/F) and DC315(U) variants.
@@ -1618,8 +1618,8 @@ config GVP11_SCSI
1618 module will be called gvp11. 1618 module will be called gvp11.
1619 1619
1620config SCSI_A4000T 1620config SCSI_A4000T
1621 tristate "A4000T NCR53c710 SCSI support (EXPERIMENTAL)" 1621 tristate "A4000T NCR53c710 SCSI support"
1622 depends on AMIGA && SCSI && EXPERIMENTAL 1622 depends on AMIGA && SCSI
1623 select SCSI_SPI_ATTRS 1623 select SCSI_SPI_ATTRS
1624 help 1624 help
1625 If you have an Amiga 4000T and have SCSI devices connected to the 1625 If you have an Amiga 4000T and have SCSI devices connected to the
@@ -1629,8 +1629,8 @@ config SCSI_A4000T
1629 module will be called a4000t. 1629 module will be called a4000t.
1630 1630
1631config SCSI_ZORRO7XX 1631config SCSI_ZORRO7XX
1632 tristate "Zorro NCR53c710 SCSI support (EXPERIMENTAL)" 1632 tristate "Zorro NCR53c710 SCSI support"
1633 depends on ZORRO && SCSI && EXPERIMENTAL 1633 depends on ZORRO && SCSI
1634 select SCSI_SPI_ATTRS 1634 select SCSI_SPI_ATTRS
1635 help 1635 help
1636 Support for various NCR53c710-based SCSI controllers on Zorro 1636 Support for various NCR53c710-based SCSI controllers on Zorro
@@ -1807,8 +1807,8 @@ config SCSI_BFA_FC
1807 be called bfa. 1807 be called bfa.
1808 1808
1809config SCSI_VIRTIO 1809config SCSI_VIRTIO
1810 tristate "virtio-scsi support (EXPERIMENTAL)" 1810 tristate "virtio-scsi support"
1811 depends on EXPERIMENTAL && VIRTIO 1811 depends on VIRTIO
1812 help 1812 help
1813 This is the virtual HBA driver for virtio. If the kernel will 1813 This is the virtual HBA driver for virtio. If the kernel will
1814 be used in a virtual machine, say Y or M. 1814 be used in a virtual machine, say Y or M.
diff --git a/drivers/scsi/arm/Kconfig b/drivers/scsi/arm/Kconfig
index a8587f1f5e7e..cfd172a439c9 100644
--- a/drivers/scsi/arm/Kconfig
+++ b/drivers/scsi/arm/Kconfig
@@ -64,19 +64,19 @@ config SCSI_POWERTECSCSI
64 you have one of these, say Y. If unsure, say N. 64 you have one of these, say Y. If unsure, say N.
65 65
66comment "The following drivers are not fully supported" 66comment "The following drivers are not fully supported"
67 depends on ARCH_ACORN && EXPERIMENTAL 67 depends on ARCH_ACORN
68 68
69config SCSI_CUMANA_1 69config SCSI_CUMANA_1
70 tristate "CumanaSCSI I support (EXPERIMENTAL)" 70 tristate "CumanaSCSI I support"
71 depends on ARCH_ACORN && EXPERIMENTAL && SCSI 71 depends on ARCH_ACORN && SCSI
72 select SCSI_SPI_ATTRS 72 select SCSI_SPI_ATTRS
73 help 73 help
74 This enables support for the Cumana SCSI I card. If you have an 74 This enables support for the Cumana SCSI I card. If you have an
75 Acorn system with one of these, say Y. If unsure, say N. 75 Acorn system with one of these, say Y. If unsure, say N.
76 76
77config SCSI_OAK1 77config SCSI_OAK1
78 tristate "Oak SCSI support (EXPERIMENTAL)" 78 tristate "Oak SCSI support"
79 depends on ARCH_ACORN && EXPERIMENTAL && SCSI 79 depends on ARCH_ACORN && SCSI
80 select SCSI_SPI_ATTRS 80 select SCSI_SPI_ATTRS
81 help 81 help
82 This enables support for the Oak SCSI card. If you have an Acorn 82 This enables support for the Oak SCSI card. If you have an Acorn
diff --git a/drivers/scsi/device_handler/Kconfig b/drivers/scsi/device_handler/Kconfig
index 67070257919f..69abd0ad48e2 100644
--- a/drivers/scsi/device_handler/Kconfig
+++ b/drivers/scsi/device_handler/Kconfig
@@ -32,8 +32,8 @@ config SCSI_DH_EMC
32 If you have a EMC CLARiiON select y. Otherwise, say N. 32 If you have a EMC CLARiiON select y. Otherwise, say N.
33 33
34config SCSI_DH_ALUA 34config SCSI_DH_ALUA
35 tristate "SPC-3 ALUA Device Handler (EXPERIMENTAL)" 35 tristate "SPC-3 ALUA Device Handler"
36 depends on SCSI_DH && EXPERIMENTAL 36 depends on SCSI_DH
37 help 37 help
38 SCSI Device handler for generic SPC-3 Asymmetric Logical Unit 38 SCSI Device handler for generic SPC-3 Asymmetric Logical Unit
39 Access (ALUA). 39 Access (ALUA).
diff --git a/drivers/scsi/hosts.c b/drivers/scsi/hosts.c
index 593085a52275..df0c3c71ea43 100644
--- a/drivers/scsi/hosts.c
+++ b/drivers/scsi/hosts.c
@@ -468,10 +468,10 @@ void scsi_unregister(struct Scsi_Host *shost)
468} 468}
469EXPORT_SYMBOL(scsi_unregister); 469EXPORT_SYMBOL(scsi_unregister);
470 470
471static int __scsi_host_match(struct device *dev, void *data) 471static int __scsi_host_match(struct device *dev, const void *data)
472{ 472{
473 struct Scsi_Host *p; 473 struct Scsi_Host *p;
474 unsigned short *hostnum = (unsigned short *)data; 474 const unsigned short *hostnum = data;
475 475
476 p = class_to_shost(dev); 476 p = class_to_shost(dev);
477 return p->host_no == *hostnum; 477 return p->host_no == *hostnum;
diff --git a/drivers/scsi/isci/init.c b/drivers/scsi/isci/init.c
index d73fdcfeb45a..2839baa82a5a 100644
--- a/drivers/scsi/isci/init.c
+++ b/drivers/scsi/isci/init.c
@@ -633,7 +633,7 @@ static int isci_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
633 return -ENOMEM; 633 return -ENOMEM;
634 pci_set_drvdata(pdev, pci_info); 634 pci_set_drvdata(pdev, pci_info);
635 635
636 if (efi_enabled) 636 if (efi_enabled(EFI_RUNTIME_SERVICES))
637 orom = isci_get_efi_var(pdev); 637 orom = isci_get_efi_var(pdev);
638 638
639 if (!orom) 639 if (!orom)
diff --git a/drivers/scsi/osd/osd_uld.c b/drivers/scsi/osd/osd_uld.c
index 43754176a7b7..0fab6b5c7b82 100644
--- a/drivers/scsi/osd/osd_uld.c
+++ b/drivers/scsi/osd/osd_uld.c
@@ -268,18 +268,11 @@ static inline bool _the_same_or_null(const u8 *a1, unsigned a1_len,
268 return 0 == memcmp(a1, a2, a1_len); 268 return 0 == memcmp(a1, a2, a1_len);
269} 269}
270 270
271struct find_oud_t { 271static int _match_odi(struct device *dev, const void *find_data)
272 const struct osd_dev_info *odi;
273 struct device *dev;
274 struct osd_uld_device *oud;
275} ;
276
277int _mach_odi(struct device *dev, void *find_data)
278{ 272{
279 struct osd_uld_device *oud = container_of(dev, struct osd_uld_device, 273 struct osd_uld_device *oud = container_of(dev, struct osd_uld_device,
280 class_dev); 274 class_dev);
281 struct find_oud_t *fot = find_data; 275 const struct osd_dev_info *odi = find_data;
282 const struct osd_dev_info *odi = fot->odi;
283 276
284 if (_the_same_or_null(oud->odi.systemid, oud->odi.systemid_len, 277 if (_the_same_or_null(oud->odi.systemid, oud->odi.systemid_len,
285 odi->systemid, odi->systemid_len) && 278 odi->systemid, odi->systemid_len) &&
@@ -287,7 +280,6 @@ int _mach_odi(struct device *dev, void *find_data)
287 odi->osdname, odi->osdname_len)) { 280 odi->osdname, odi->osdname_len)) {
288 OSD_DEBUG("found device sysid_len=%d osdname=%d\n", 281 OSD_DEBUG("found device sysid_len=%d osdname=%d\n",
289 odi->systemid_len, odi->osdname_len); 282 odi->systemid_len, odi->osdname_len);
290 fot->oud = oud;
291 return 1; 283 return 1;
292 } else { 284 } else {
293 return 0; 285 return 0;
@@ -301,19 +293,19 @@ int _mach_odi(struct device *dev, void *find_data)
301 */ 293 */
302struct osd_dev *osduld_info_lookup(const struct osd_dev_info *odi) 294struct osd_dev *osduld_info_lookup(const struct osd_dev_info *odi)
303{ 295{
304 struct find_oud_t find = {.odi = odi}; 296 struct device *dev = class_find_device(&osd_uld_class, NULL, odi, _match_odi);
305 297 if (likely(dev)) {
306 find.dev = class_find_device(&osd_uld_class, NULL, &find, _mach_odi);
307 if (likely(find.dev)) {
308 struct osd_dev_handle *odh = kzalloc(sizeof(*odh), GFP_KERNEL); 298 struct osd_dev_handle *odh = kzalloc(sizeof(*odh), GFP_KERNEL);
299 struct osd_uld_device *oud = container_of(dev,
300 struct osd_uld_device, class_dev);
309 301
310 if (unlikely(!odh)) { 302 if (unlikely(!odh)) {
311 put_device(find.dev); 303 put_device(dev);
312 return ERR_PTR(-ENOMEM); 304 return ERR_PTR(-ENOMEM);
313 } 305 }
314 306
315 odh->od = find.oud->od; 307 odh->od = oud->od;
316 odh->oud = find.oud; 308 odh->oud = oud;
317 309
318 return &odh->od; 310 return &odh->od;
319 } 311 }
diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c
index 31969f2e13ce..59d427bf08e2 100644
--- a/drivers/scsi/scsi_transport_iscsi.c
+++ b/drivers/scsi/scsi_transport_iscsi.c
@@ -183,10 +183,10 @@ static struct attribute_group iscsi_endpoint_group = {
183 183
184#define ISCSI_MAX_EPID -1 184#define ISCSI_MAX_EPID -1
185 185
186static int iscsi_match_epid(struct device *dev, void *data) 186static int iscsi_match_epid(struct device *dev, const void *data)
187{ 187{
188 struct iscsi_endpoint *ep = iscsi_dev_to_endpoint(dev); 188 struct iscsi_endpoint *ep = iscsi_dev_to_endpoint(dev);
189 uint64_t *epid = (uint64_t *) data; 189 const uint64_t *epid = data;
190 190
191 return *epid == ep->id; 191 return *epid == ep->id;
192} 192}
diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
index 01440782feb2..270b3cf6f372 100644
--- a/drivers/scsi/storvsc_drv.c
+++ b/drivers/scsi/storvsc_drv.c
@@ -1410,13 +1410,13 @@ enum {
1410 1410
1411static const struct hv_vmbus_device_id id_table[] = { 1411static const struct hv_vmbus_device_id id_table[] = {
1412 /* SCSI guid */ 1412 /* SCSI guid */
1413 { VMBUS_DEVICE(0xd9, 0x63, 0x61, 0xba, 0xa1, 0x04, 0x29, 0x4d, 1413 { HV_SCSI_GUID,
1414 0xb6, 0x05, 0x72, 0xe2, 0xff, 0xb1, 0xdc, 0x7f) 1414 .driver_data = SCSI_GUID
1415 .driver_data = SCSI_GUID }, 1415 },
1416 /* IDE guid */ 1416 /* IDE guid */
1417 { VMBUS_DEVICE(0x32, 0x26, 0x41, 0x32, 0xcb, 0x86, 0xa2, 0x44, 1417 { HV_IDE_GUID,
1418 0x9b, 0x5c, 0x50, 0xd1, 0x41, 0x73, 0x54, 0xf5) 1418 .driver_data = IDE_GUID
1419 .driver_data = IDE_GUID }, 1419 },
1420 { }, 1420 { },
1421}; 1421};
1422 1422