aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char
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/char
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/char')
-rw-r--r--drivers/char/hw_random/exynos-rng.c9
-rw-r--r--drivers/char/hw_random/omap-rng.c6
-rw-r--r--drivers/char/hw_random/tx4939-rng.c7
3 files changed, 12 insertions, 10 deletions
diff --git a/drivers/char/hw_random/exynos-rng.c b/drivers/char/hw_random/exynos-rng.c
index 48bbfeca4b5d..4673fc4ad931 100644
--- a/drivers/char/hw_random/exynos-rng.c
+++ b/drivers/char/hw_random/exynos-rng.c
@@ -104,6 +104,7 @@ static int exynos_read(struct hwrng *rng, void *buf,
104static int exynos_rng_probe(struct platform_device *pdev) 104static int exynos_rng_probe(struct platform_device *pdev)
105{ 105{
106 struct exynos_rng *exynos_rng; 106 struct exynos_rng *exynos_rng;
107 struct resource *res;
107 108
108 exynos_rng = devm_kzalloc(&pdev->dev, sizeof(struct exynos_rng), 109 exynos_rng = devm_kzalloc(&pdev->dev, sizeof(struct exynos_rng),
109 GFP_KERNEL); 110 GFP_KERNEL);
@@ -120,10 +121,10 @@ static int exynos_rng_probe(struct platform_device *pdev)
120 return -ENOENT; 121 return -ENOENT;
121 } 122 }
122 123
123 exynos_rng->mem = devm_request_and_ioremap(&pdev->dev, 124 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
124 platform_get_resource(pdev, IORESOURCE_MEM, 0)); 125 exynos_rng->mem = devm_ioremap_resource(&pdev->dev, res);
125 if (!exynos_rng->mem) 126 if (IS_ERR(exynos_rng->mem))
126 return -EBUSY; 127 return PTR_ERR(exynos_rng->mem);
127 128
128 platform_set_drvdata(pdev, exynos_rng); 129 platform_set_drvdata(pdev, exynos_rng);
129 130
diff --git a/drivers/char/hw_random/omap-rng.c b/drivers/char/hw_random/omap-rng.c
index d8c54e253761..749dc16ca2cc 100644
--- a/drivers/char/hw_random/omap-rng.c
+++ b/drivers/char/hw_random/omap-rng.c
@@ -124,9 +124,9 @@ static int omap_rng_probe(struct platform_device *pdev)
124 goto err_ioremap; 124 goto err_ioremap;
125 } 125 }
126 126
127 priv->base = devm_request_and_ioremap(&pdev->dev, priv->mem_res); 127 priv->base = devm_ioremap_resource(&pdev->dev, priv->mem_res);
128 if (!priv->base) { 128 if (IS_ERR(priv->base)) {
129 ret = -ENOMEM; 129 ret = PTR_ERR(priv->base);
130 goto err_ioremap; 130 goto err_ioremap;
131 } 131 }
132 dev_set_drvdata(&pdev->dev, priv); 132 dev_set_drvdata(&pdev->dev, priv);
diff --git a/drivers/char/hw_random/tx4939-rng.c b/drivers/char/hw_random/tx4939-rng.c
index de473ef3882b..30991989d65b 100644
--- a/drivers/char/hw_random/tx4939-rng.c
+++ b/drivers/char/hw_random/tx4939-rng.c
@@ -7,6 +7,7 @@
7 * License. See the file "COPYING" in the main directory of this archive 7 * License. See the file "COPYING" in the main directory of this archive
8 * for more details. 8 * for more details.
9 */ 9 */
10#include <linux/err.h>
10#include <linux/module.h> 11#include <linux/module.h>
11#include <linux/kernel.h> 12#include <linux/kernel.h>
12#include <linux/init.h> 13#include <linux/init.h>
@@ -115,9 +116,9 @@ static int __init tx4939_rng_probe(struct platform_device *dev)
115 rngdev = devm_kzalloc(&dev->dev, sizeof(*rngdev), GFP_KERNEL); 116 rngdev = devm_kzalloc(&dev->dev, sizeof(*rngdev), GFP_KERNEL);
116 if (!rngdev) 117 if (!rngdev)
117 return -ENOMEM; 118 return -ENOMEM;
118 rngdev->base = devm_request_and_ioremap(&dev->dev, r); 119 rngdev->base = devm_ioremap_resource(&dev->dev, r);
119 if (!rngdev->base) 120 if (IS_ERR(rngdev->base))
120 return -EBUSY; 121 return PTR_ERR(rngdev->base);
121 122
122 rngdev->rng.name = dev_name(&dev->dev); 123 rngdev->rng.name = dev_name(&dev->dev);
123 rngdev->rng.data_present = tx4939_rng_data_present; 124 rngdev->rng.data_present = tx4939_rng_data_present;