|
@@ -220,17 +220,16 @@ EXPORT_SYMBOL_GPL(platform_device_add_resources);
|
|
int platform_device_add_data(struct platform_device *pdev, const void *data,
|
|
int platform_device_add_data(struct platform_device *pdev, const void *data,
|
|
size_t size)
|
|
size_t size)
|
|
{
|
|
{
|
|
- void *d;
|
|
|
|
|
|
+ void *d = NULL;
|
|
|
|
|
|
- if (!data)
|
|
|
|
- return 0;
|
|
|
|
-
|
|
|
|
- d = kmemdup(data, size, GFP_KERNEL);
|
|
|
|
- if (d) {
|
|
|
|
- pdev->dev.platform_data = d;
|
|
|
|
- return 0;
|
|
|
|
|
|
+ if (data) {
|
|
|
|
+ d = kmemdup(data, size, GFP_KERNEL);
|
|
|
|
+ if (!d)
|
|
|
|
+ return -ENOMEM;
|
|
}
|
|
}
|
|
- return -ENOMEM;
|
|
|
|
|
|
+
|
|
|
|
+ pdev->dev.platform_data = d;
|
|
|
|
+ return 0;
|
|
}
|
|
}
|
|
EXPORT_SYMBOL_GPL(platform_device_add_data);
|
|
EXPORT_SYMBOL_GPL(platform_device_add_data);
|
|
|
|
|