aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s3c2410/devs.c
diff options
context:
space:
mode:
authorBen Dooks <ben-linux@fluff.org>2005-10-28 10:31:45 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2005-10-28 10:31:45 -0400
commit893b03094c2ed929648d76a29cbbfc9e215e8636 (patch)
treeaff67b68cf24ac83316514051568f3643a48ebc6 /arch/arm/mach-s3c2410/devs.c
parent3b90c9c33361d49893645ffcebe6ca230f434705 (diff)
[ARM] 3045/2: S3C2410 - change init for lcd platform data
Patch from Ben Dooks Change set_s3c2410fb_info to s3c2410_fb_set_platdata and use kmalloc() for the copy of the information it is passed. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-s3c2410/devs.c')
-rw-r--r--arch/arm/mach-s3c2410/devs.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/arch/arm/mach-s3c2410/devs.c b/arch/arm/mach-s3c2410/devs.c
index 8a37236b04ab..08bc7d95a45d 100644
--- a/arch/arm/mach-s3c2410/devs.c
+++ b/arch/arm/mach-s3c2410/devs.c
@@ -103,14 +103,18 @@ struct platform_device s3c_device_lcd = {
103 103
104EXPORT_SYMBOL(s3c_device_lcd); 104EXPORT_SYMBOL(s3c_device_lcd);
105 105
106static struct s3c2410fb_mach_info s3c2410fb_info; 106void __init s3c24xx_fb_set_platdata(struct s3c2410fb_mach_info *pd)
107
108void __init set_s3c2410fb_info(struct s3c2410fb_mach_info *hard_s3c2410fb_info)
109{ 107{
110 memcpy(&s3c2410fb_info,hard_s3c2410fb_info,sizeof(struct s3c2410fb_mach_info)); 108 struct s3c2410fb_mach_info *npd;
111 s3c_device_lcd.dev.platform_data = &s3c2410fb_info; 109
110 npd = kmalloc(sizeof(*npd), GFP_KERNEL);
111 if (npd) {
112 memcpy(npd, pd, sizeof(*npd));
113 s3c_device_lcd.dev.platform_data = npd;
114 } else {
115 printk(KERN_ERR "no memory for LCD platform data\n");
116 }
112} 117}
113EXPORT_SYMBOL(set_s3c2410fb_info);
114 118
115/* NAND Controller */ 119/* NAND Controller */
116 120