driver core/platform_device_add_resources: set resource to NULL if !res
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Wed, 20 Apr 2011 07:44:44 +0000 (09:44 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sat, 23 Apr 2011 00:09:13 +0000 (17:09 -0700)
This makes the res = NULL case more consistant to the res != NULL case
as now both overwrite pdev->resource.

Reviewed-by: Viresh Kumar <viresh.kumar@st.com>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/base/platform.c

index 58ad8e8ad7a360c5d8bd17a62fe17579ca943878..667f282f8b7bfe08093a8fe668439442279f3357 100644 (file)
@@ -192,18 +192,17 @@ EXPORT_SYMBOL_GPL(platform_device_alloc);
 int platform_device_add_resources(struct platform_device *pdev,
                                  const struct resource *res, unsigned int num)
 {
-       struct resource *r;
+       struct resource *r = NULL;
 
-       if (!res)
-               return 0;
-
-       r = kmemdup(res, sizeof(struct resource) * num, GFP_KERNEL);
-       if (r) {
-               pdev->resource = r;
-               pdev->num_resources = num;
-               return 0;
+       if (res) {
+               r = kmemdup(res, sizeof(struct resource) * num, GFP_KERNEL);
+               if (!r)
+                       return -ENOMEM;
        }
-       return -ENOMEM;
+
+       pdev->resource = r;
+       pdev->num_resources = num;
+       return 0;
 }
 EXPORT_SYMBOL_GPL(platform_device_add_resources);