diff options
author | Andrew Morton <akpm@linux-foundation.org> | 2009-08-06 19:00:44 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-09-15 12:50:48 -0400 |
commit | daa4122673f002911122cac2b996bd36b6c01b32 (patch) | |
tree | cd99fcfdedcaf94efc60585968c60ed417f1430c | |
parent | 4622709445705c1e423d2addcfd8ccae052fe0ba (diff) |
driver core: platform_device_add_data(): use kmemdup()
Instead of open-coding it.
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | drivers/base/platform.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/base/platform.c b/drivers/base/platform.c index 0f7d434ce983..ed156a13aa40 100644 --- a/drivers/base/platform.c +++ b/drivers/base/platform.c | |||
@@ -10,6 +10,7 @@ | |||
10 | * information. | 10 | * information. |
11 | */ | 11 | */ |
12 | 12 | ||
13 | #include <linux/string.h> | ||
13 | #include <linux/platform_device.h> | 14 | #include <linux/platform_device.h> |
14 | #include <linux/module.h> | 15 | #include <linux/module.h> |
15 | #include <linux/init.h> | 16 | #include <linux/init.h> |
@@ -213,14 +214,13 @@ EXPORT_SYMBOL_GPL(platform_device_add_resources); | |||
213 | int platform_device_add_data(struct platform_device *pdev, const void *data, | 214 | int platform_device_add_data(struct platform_device *pdev, const void *data, |
214 | size_t size) | 215 | size_t size) |
215 | { | 216 | { |
216 | void *d; | 217 | void *d = kmemdup(data, size, GFP_KERNEL); |
217 | 218 | ||
218 | d = kmalloc(size, GFP_KERNEL); | ||
219 | if (d) { | 219 | if (d) { |
220 | memcpy(d, data, size); | ||
221 | pdev->dev.platform_data = d; | 220 | pdev->dev.platform_data = d; |
221 | return 0; | ||
222 | } | 222 | } |
223 | return d ? 0 : -ENOMEM; | 223 | return -ENOMEM; |
224 | } | 224 | } |
225 | EXPORT_SYMBOL_GPL(platform_device_add_data); | 225 | EXPORT_SYMBOL_GPL(platform_device_add_data); |
226 | 226 | ||