• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/arch/arm/plat-samsung/
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