Root/arch/arm/plat-samsung/platformdata.c

1/* linux/arch/arm/plat-samsung/platformdata.c
2 *
3 * Copyright 2010 Ben Dooks <ben-linux <at> fluff.org>
4 *
5 * Helper for platform data setting
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
10*/
11
12#include <linux/kernel.h>
13#include <linux/string.h>
14#include <linux/platform_device.h>
15
16#include <plat/devs.h>
17
18void __init *s3c_set_platdata(void *pd, size_t pdsize,
19                  struct platform_device *pdev)
20{
21    void *npd;
22
23    if (!pd) {
24        /* too early to use dev_name(), may not be registered */
25        printk(KERN_ERR "%s: no platform data supplied\n", pdev->name);
26        return NULL;
27    }
28
29    npd = kmemdup(pd, pdsize, GFP_KERNEL);
30    if (!npd) {
31        printk(KERN_ERR "%s: cannot clone platform data\n", pdev->name);
32        return NULL;
33    }
34
35    pdev->dev.platform_data = npd;
36    return npd;
37}
38

Archive Download this file



interactive