diff options
Diffstat (limited to 'arch/arm/mach-s3c2410/devs.c')
-rw-r--r-- | arch/arm/mach-s3c2410/devs.c | 16 |
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 | ||
104 | EXPORT_SYMBOL(s3c_device_lcd); | 104 | EXPORT_SYMBOL(s3c_device_lcd); |
105 | 105 | ||
106 | static struct s3c2410fb_mach_info s3c2410fb_info; | 106 | void __init s3c24xx_fb_set_platdata(struct s3c2410fb_mach_info *pd) |
107 | |||
108 | void __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 | } |
113 | EXPORT_SYMBOL(set_s3c2410fb_info); | ||
114 | 118 | ||
115 | /* NAND Controller */ | 119 | /* NAND Controller */ |
116 | 120 | ||