aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/spi
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-02-21 15:05:51 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2013-02-21 15:05:51 -0500
commit06991c28f37ad68e5c03777f5c3b679b56e3dac1 (patch)
tree4be75788e21c3c644fe6d39abf47693a171cf4f8 /drivers/spi
parent460dc1eecf37263c8e3b17685ef236f0d236facb (diff)
parent74fef7a8fd1d2bd94f925d6638bb4c3049e7c381 (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/spi')
-rw-r--r--drivers/spi/Kconfig17
-rw-r--r--drivers/spi/spi-ep93xx.c7
-rw-r--r--drivers/spi/spi-mxs.c6
-rw-r--r--drivers/spi/spi-omap2-mcspi.c7
-rw-r--r--drivers/spi/spi-s3c64xx.c7
-rw-r--r--drivers/spi/spi-sirf.c7
-rw-r--r--drivers/spi/spi-tegra20-sflash.c8
-rw-r--r--drivers/spi/spi-tegra20-slink.c8
-rw-r--r--drivers/spi/spi.c4
9 files changed, 31 insertions, 40 deletions
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
index e79884e997ae..f80eee74a311 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -88,7 +88,7 @@ config SPI_BFIN_SPORT
88 88
89config SPI_AU1550 89config SPI_AU1550
90 tristate "Au1550/Au1200/Au1300 SPI Controller" 90 tristate "Au1550/Au1200/Au1300 SPI Controller"
91 depends on MIPS_ALCHEMY && EXPERIMENTAL 91 depends on MIPS_ALCHEMY
92 select SPI_BITBANG 92 select SPI_BITBANG
93 help 93 help
94 If you say yes to this option, support will be included for the 94 If you say yes to this option, support will be included for the
@@ -188,7 +188,7 @@ config SPI_IMX
188 188
189config SPI_LM70_LLP 189config SPI_LM70_LLP
190 tristate "Parallel port adapter for LM70 eval board (DEVELOPMENT)" 190 tristate "Parallel port adapter for LM70 eval board (DEVELOPMENT)"
191 depends on PARPORT && EXPERIMENTAL 191 depends on PARPORT
192 select SPI_BITBANG 192 select SPI_BITBANG
193 help 193 help
194 This driver supports the NS LM70 LLP Evaluation Board, 194 This driver supports the NS LM70 LLP Evaluation Board,
@@ -204,7 +204,7 @@ config SPI_MPC52xx
204 204
205config SPI_MPC52xx_PSC 205config SPI_MPC52xx_PSC
206 tristate "Freescale MPC52xx PSC SPI controller" 206 tristate "Freescale MPC52xx PSC SPI controller"
207 depends on PPC_MPC52xx && EXPERIMENTAL 207 depends on PPC_MPC52xx
208 help 208 help
209 This enables using the Freescale MPC52xx Programmable Serial 209 This enables using the Freescale MPC52xx Programmable Serial
210 Controller in master SPI mode. 210 Controller in master SPI mode.
@@ -273,8 +273,8 @@ config SPI_OMAP_100K
273 OMAP SPI 100K master controller for omap7xx boards. 273 OMAP SPI 100K master controller for omap7xx boards.
274 274
275config SPI_ORION 275config SPI_ORION
276 tristate "Orion SPI master (EXPERIMENTAL)" 276 tristate "Orion SPI master"
277 depends on PLAT_ORION && EXPERIMENTAL 277 depends on PLAT_ORION
278 help 278 help
279 This enables using the SPI master controller on the Orion chips. 279 This enables using the SPI master controller on the Orion chips.
280 280
@@ -328,7 +328,7 @@ config SPI_RSPI
328 328
329config SPI_S3C24XX 329config SPI_S3C24XX
330 tristate "Samsung S3C24XX series SPI" 330 tristate "Samsung S3C24XX series SPI"
331 depends on ARCH_S3C24XX && EXPERIMENTAL 331 depends on ARCH_S3C24XX
332 select SPI_BITBANG 332 select SPI_BITBANG
333 help 333 help
334 SPI driver for Samsung S3C24XX series ARM SoCs 334 SPI driver for Samsung S3C24XX series ARM SoCs
@@ -443,7 +443,7 @@ config SPI_XCOMM
443 443
444config SPI_XILINX 444config SPI_XILINX
445 tristate "Xilinx SPI controller common module" 445 tristate "Xilinx SPI controller common module"
446 depends on HAS_IOMEM && EXPERIMENTAL 446 depends on HAS_IOMEM
447 select SPI_BITBANG 447 select SPI_BITBANG
448 help 448 help
449 This exposes the SPI controller IP from the Xilinx EDK. 449 This exposes the SPI controller IP from the Xilinx EDK.
@@ -455,7 +455,7 @@ config SPI_XILINX
455 455
456config SPI_NUC900 456config SPI_NUC900
457 tristate "Nuvoton NUC900 series SPI" 457 tristate "Nuvoton NUC900 series SPI"
458 depends on ARCH_W90X900 && EXPERIMENTAL 458 depends on ARCH_W90X900
459 select SPI_BITBANG 459 select SPI_BITBANG
460 help 460 help
461 SPI driver for Nuvoton NUC900 series ARM SoCs 461 SPI driver for Nuvoton NUC900 series ARM SoCs
@@ -489,7 +489,6 @@ comment "SPI Protocol Masters"
489 489
490config SPI_SPIDEV 490config SPI_SPIDEV
491 tristate "User mode SPI device driver support" 491 tristate "User mode SPI device driver support"
492 depends on EXPERIMENTAL
493 help 492 help
494 This supports user mode SPI protocol drivers. 493 This supports user mode SPI protocol drivers.
495 494
diff --git a/drivers/spi/spi-ep93xx.c b/drivers/spi/spi-ep93xx.c
index aecbff16ad60..d7bac60253c9 100644
--- a/drivers/spi/spi-ep93xx.c
+++ b/drivers/spi/spi-ep93xx.c
@@ -1085,10 +1085,9 @@ static int ep93xx_spi_probe(struct platform_device *pdev)
1085 1085
1086 espi->sspdr_phys = res->start + SSPDR; 1086 espi->sspdr_phys = res->start + SSPDR;
1087 1087
1088 espi->regs_base = devm_request_and_ioremap(&pdev->dev, res); 1088 espi->regs_base = devm_ioremap_resource(&pdev->dev, res);
1089 if (!espi->regs_base) { 1089 if (IS_ERR(espi->regs_base)) {
1090 dev_err(&pdev->dev, "failed to map resources\n"); 1090 error = PTR_ERR(espi->regs_base);
1091 error = -ENODEV;
1092 goto fail_put_clock; 1091 goto fail_put_clock;
1093 } 1092 }
1094 1093
diff --git a/drivers/spi/spi-mxs.c b/drivers/spi/spi-mxs.c
index e3d8b3197d22..22a0af0147fb 100644
--- a/drivers/spi/spi-mxs.c
+++ b/drivers/spi/spi-mxs.c
@@ -541,9 +541,9 @@ static int mxs_spi_probe(struct platform_device *pdev)
541 if (!iores || irq_err < 0 || irq_dma < 0) 541 if (!iores || irq_err < 0 || irq_dma < 0)
542 return -EINVAL; 542 return -EINVAL;
543 543
544 base = devm_request_and_ioremap(&pdev->dev, iores); 544 base = devm_ioremap_resource(&pdev->dev, iores);
545 if (!base) 545 if (IS_ERR(base))
546 return -EADDRNOTAVAIL; 546 return PTR_ERR(base);
547 547
548 pinctrl = devm_pinctrl_get_select_default(&pdev->dev); 548 pinctrl = devm_pinctrl_get_select_default(&pdev->dev);
549 if (IS_ERR(pinctrl)) 549 if (IS_ERR(pinctrl))
diff --git a/drivers/spi/spi-omap2-mcspi.c b/drivers/spi/spi-omap2-mcspi.c
index 69945b014c96..893c3d78e426 100644
--- a/drivers/spi/spi-omap2-mcspi.c
+++ b/drivers/spi/spi-omap2-mcspi.c
@@ -1222,10 +1222,9 @@ static int omap2_mcspi_probe(struct platform_device *pdev)
1222 r->end += regs_offset; 1222 r->end += regs_offset;
1223 mcspi->phys = r->start; 1223 mcspi->phys = r->start;
1224 1224
1225 mcspi->base = devm_request_and_ioremap(&pdev->dev, r); 1225 mcspi->base = devm_ioremap_resource(&pdev->dev, r);
1226 if (!mcspi->base) { 1226 if (IS_ERR(mcspi->base)) {
1227 dev_dbg(&pdev->dev, "can't ioremap MCSPI\n"); 1227 status = PTR_ERR(mcspi->base);
1228 status = -ENOMEM;
1229 goto free_master; 1228 goto free_master;
1230 } 1229 }
1231 1230
diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c
index 7cfbe9d3381f..e862ab8853aa 100644
--- a/drivers/spi/spi-s3c64xx.c
+++ b/drivers/spi/spi-s3c64xx.c
@@ -1241,10 +1241,9 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
1241 /* the spi->mode bits understood by this driver: */ 1241 /* the spi->mode bits understood by this driver: */
1242 master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH; 1242 master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH;
1243 1243
1244 sdd->regs = devm_request_and_ioremap(&pdev->dev, mem_res); 1244 sdd->regs = devm_ioremap_resource(&pdev->dev, mem_res);
1245 if (sdd->regs == NULL) { 1245 if (IS_ERR(sdd->regs)) {
1246 dev_err(&pdev->dev, "Unable to remap IO\n"); 1246 ret = PTR_ERR(sdd->regs);
1247 ret = -ENXIO;
1248 goto err0; 1247 goto err0;
1249 } 1248 }
1250 1249
diff --git a/drivers/spi/spi-sirf.c b/drivers/spi/spi-sirf.c
index 6a5626d146b7..f59d4177b419 100644
--- a/drivers/spi/spi-sirf.c
+++ b/drivers/spi/spi-sirf.c
@@ -534,10 +534,9 @@ static int spi_sirfsoc_probe(struct platform_device *pdev)
534 } 534 }
535 } 535 }
536 536
537 sspi->base = devm_request_and_ioremap(&pdev->dev, mem_res); 537 sspi->base = devm_ioremap_resource(&pdev->dev, mem_res);
538 if (!sspi->base) { 538 if (IS_ERR(sspi->base)) {
539 dev_err(&pdev->dev, "IO remap failed!\n"); 539 ret = PTR_ERR(sspi->base);
540 ret = -ENOMEM;
541 goto free_master; 540 goto free_master;
542 } 541 }
543 542
diff --git a/drivers/spi/spi-tegra20-sflash.c b/drivers/spi/spi-tegra20-sflash.c
index 9a42c158e245..8a61b27a9f2d 100644
--- a/drivers/spi/spi-tegra20-sflash.c
+++ b/drivers/spi/spi-tegra20-sflash.c
@@ -516,11 +516,9 @@ static int tegra_sflash_probe(struct platform_device *pdev)
516 ret = -ENODEV; 516 ret = -ENODEV;
517 goto exit_free_master; 517 goto exit_free_master;
518 } 518 }
519 tsd->base = devm_request_and_ioremap(&pdev->dev, r); 519 tsd->base = devm_ioremap_resource(&pdev->dev, r);
520 if (!tsd->base) { 520 if (IS_ERR(tsd->base)) {
521 dev_err(&pdev->dev, 521 ret = PTR_ERR(tsd->base);
522 "Cannot request memregion/iomap dma address\n");
523 ret = -EADDRNOTAVAIL;
524 goto exit_free_master; 522 goto exit_free_master;
525 } 523 }
526 524
diff --git a/drivers/spi/spi-tegra20-slink.c b/drivers/spi/spi-tegra20-slink.c
index 8d51db8dea6d..8458c4bf7172 100644
--- a/drivers/spi/spi-tegra20-slink.c
+++ b/drivers/spi/spi-tegra20-slink.c
@@ -1169,11 +1169,9 @@ static int tegra_slink_probe(struct platform_device *pdev)
1169 goto exit_free_master; 1169 goto exit_free_master;
1170 } 1170 }
1171 tspi->phys = r->start; 1171 tspi->phys = r->start;
1172 tspi->base = devm_request_and_ioremap(&pdev->dev, r); 1172 tspi->base = devm_ioremap_resource(&pdev->dev, r);
1173 if (!tspi->base) { 1173 if (IS_ERR(tspi->base)) {
1174 dev_err(&pdev->dev, 1174 ret = PTR_ERR(tspi->base);
1175 "Cannot request memregion/iomap dma address\n");
1176 ret = -EADDRNOTAVAIL;
1177 goto exit_free_master; 1175 goto exit_free_master;
1178 } 1176 }
1179 1177
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index 6f193b02a9e8..f996c600eb8c 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -1251,10 +1251,10 @@ int spi_master_resume(struct spi_master *master)
1251} 1251}
1252EXPORT_SYMBOL_GPL(spi_master_resume); 1252EXPORT_SYMBOL_GPL(spi_master_resume);
1253 1253
1254static int __spi_master_match(struct device *dev, void *data) 1254static int __spi_master_match(struct device *dev, const void *data)
1255{ 1255{
1256 struct spi_master *m; 1256 struct spi_master *m;
1257 u16 *bus_num = data; 1257 const u16 *bus_num = data;
1258 1258
1259 m = container_of(dev, struct spi_master, dev); 1259 m = container_of(dev, struct spi_master, dev);
1260 return m->bus_num == *bus_num; 1260 return m->bus_num == *bus_num;