diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-21 15:05:51 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-21 15:05:51 -0500 |
commit | 06991c28f37ad68e5c03777f5c3b679b56e3dac1 (patch) | |
tree | 4be75788e21c3c644fe6d39abf47693a171cf4f8 /drivers/scsi | |
parent | 460dc1eecf37263c8e3b17685ef236f0d236facb (diff) | |
parent | 74fef7a8fd1d2bd94f925d6638bb4c3049e7c381 (diff) |
Merge tag 'driver-core-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
Pull driver core patches from Greg Kroah-Hartman:
"Here is the big driver core merge for 3.9-rc1
There are two major series here, both of which touch lots of drivers
all over the kernel, and will cause you some merge conflicts:
- add a new function called devm_ioremap_resource() to properly be
able to check return values.
- remove CONFIG_EXPERIMENTAL
Other than those patches, there's not much here, some minor fixes and
updates"
Fix up trivial conflicts
* tag 'driver-core-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (221 commits)
base: memory: fix soft/hard_offline_page permissions
drivercore: Fix ordering between deferred_probe and exiting initcalls
backlight: fix class_find_device() arguments
TTY: mark tty_get_device call with the proper const values
driver-core: constify data for class_find_device()
firmware: Ignore abort check when no user-helper is used
firmware: Reduce ifdef CONFIG_FW_LOADER_USER_HELPER
firmware: Make user-mode helper optional
firmware: Refactoring for splitting user-mode helper code
Driver core: treat unregistered bus_types as having no devices
watchdog: Convert to devm_ioremap_resource()
thermal: Convert to devm_ioremap_resource()
spi: Convert to devm_ioremap_resource()
power: Convert to devm_ioremap_resource()
mtd: Convert to devm_ioremap_resource()
mmc: Convert to devm_ioremap_resource()
mfd: Convert to devm_ioremap_resource()
media: Convert to devm_ioremap_resource()
iommu: Convert to devm_ioremap_resource()
drm: Convert to devm_ioremap_resource()
...
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/Kconfig | 18 | ||||
-rw-r--r-- | drivers/scsi/arm/Kconfig | 10 | ||||
-rw-r--r-- | drivers/scsi/device_handler/Kconfig | 4 | ||||
-rw-r--r-- | drivers/scsi/hosts.c | 4 | ||||
-rw-r--r-- | drivers/scsi/osd/osd_uld.c | 26 | ||||
-rw-r--r-- | drivers/scsi/scsi_transport_iscsi.c | 4 |
6 files changed, 29 insertions, 37 deletions
diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig index 142f632e2a2e..d56b2534f3eb 100644 --- a/drivers/scsi/Kconfig +++ b/drivers/scsi/Kconfig | |||
@@ -42,7 +42,7 @@ config SCSI_DMA | |||
42 | 42 | ||
43 | config SCSI_TGT | 43 | config 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 | ||
1394 | config SCSI_DC395x | 1394 | config 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 | ||
1620 | config SCSI_A4000T | 1620 | config 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 | ||
1631 | config SCSI_ZORRO7XX | 1631 | config 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 | ||
1809 | config SCSI_VIRTIO | 1809 | config 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 | ||
66 | comment "The following drivers are not fully supported" | 66 | comment "The following drivers are not fully supported" |
67 | depends on ARCH_ACORN && EXPERIMENTAL | 67 | depends on ARCH_ACORN |
68 | 68 | ||
69 | config SCSI_CUMANA_1 | 69 | config 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 | ||
77 | config SCSI_OAK1 | 77 | config 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 | ||
34 | config SCSI_DH_ALUA | 34 | config 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 | } |
469 | EXPORT_SYMBOL(scsi_unregister); | 469 | EXPORT_SYMBOL(scsi_unregister); |
470 | 470 | ||
471 | static int __scsi_host_match(struct device *dev, void *data) | 471 | static 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/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 | ||
271 | struct find_oud_t { | 271 | static 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 | |||
277 | int _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 | */ |
302 | struct osd_dev *osduld_info_lookup(const struct osd_dev_info *odi) | 294 | struct 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 | ||
186 | static int iscsi_match_epid(struct device *dev, void *data) | 186 | static 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 | } |