diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2011-04-20 09:44:42 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-04-22 17:09:11 -0700 |
commit | 27a33f9e8fb203e71925257cf039fe6ec623c5d1 (patch) | |
tree | 4aa52696ba58a294c854ddc61422d6c47a1963d6 /drivers/base | |
parent | 7f100d1566d6ee353a43be92599511fc438ec281 (diff) | |
download | kernel_samsung_crespo-27a33f9e8fb203e71925257cf039fe6ec623c5d1.zip kernel_samsung_crespo-27a33f9e8fb203e71925257cf039fe6ec623c5d1.tar.gz kernel_samsung_crespo-27a33f9e8fb203e71925257cf039fe6ec623c5d1.tar.bz2 |
driver core/platform_device_add_data: set platform_data to NULL if !data
This makes the data = NULL case more consistent to the data != NULL case.
The functional change is that now
platform_device_add_data(somepdev, NULL, somesize)
sets pdev->dev.platform_data to NULL instead of not touching it.
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>
Diffstat (limited to 'drivers/base')
-rw-r--r-- | drivers/base/platform.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/base/platform.c b/drivers/base/platform.c index 9e0e4fc..65cb4c3 100644 --- a/drivers/base/platform.c +++ b/drivers/base/platform.c @@ -220,17 +220,16 @@ EXPORT_SYMBOL_GPL(platform_device_add_resources); int platform_device_add_data(struct platform_device *pdev, const void *data, 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); |