Commit 893b0309 authored by Ben Dooks's avatar Ben Dooks Committed by Russell King

[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: default avatarBen Dooks <ben-linux@fluff.org>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 3b90c9c3
...@@ -103,14 +103,18 @@ struct platform_device s3c_device_lcd = { ...@@ -103,14 +103,18 @@ struct platform_device s3c_device_lcd = {
EXPORT_SYMBOL(s3c_device_lcd); EXPORT_SYMBOL(s3c_device_lcd);
static struct s3c2410fb_mach_info s3c2410fb_info; void __init s3c24xx_fb_set_platdata(struct s3c2410fb_mach_info *pd)
void __init set_s3c2410fb_info(struct s3c2410fb_mach_info *hard_s3c2410fb_info)
{ {
memcpy(&s3c2410fb_info,hard_s3c2410fb_info,sizeof(struct s3c2410fb_mach_info)); struct s3c2410fb_mach_info *npd;
s3c_device_lcd.dev.platform_data = &s3c2410fb_info;
npd = kmalloc(sizeof(*npd), GFP_KERNEL);
if (npd) {
memcpy(npd, pd, sizeof(*npd));
s3c_device_lcd.dev.platform_data = npd;
} else {
printk(KERN_ERR "no memory for LCD platform data\n");
}
} }
EXPORT_SYMBOL(set_s3c2410fb_info);
/* NAND Controller */ /* NAND Controller */
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
* 14-Jan-2005 BJD Added clock init * 14-Jan-2005 BJD Added clock init
* 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA
* 20-Sep-2005 BJD Added static to non-exported items * 20-Sep-2005 BJD Added static to non-exported items
* 26-Oct-2005 BJD Changed name of fb init call
*/ */
#include <linux/kernel.h> #include <linux/kernel.h>
...@@ -164,7 +165,7 @@ static void __init h1940_init_irq(void) ...@@ -164,7 +165,7 @@ static void __init h1940_init_irq(void)
static void __init h1940_init(void) static void __init h1940_init(void)
{ {
set_s3c2410fb_info(&h1940_lcdcfg); s3c24xx_fb_set_platdata(&h1940_lcdcfg);
} }
MACHINE_START(H1940, "IPAQ-H1940") MACHINE_START(H1940, "IPAQ-H1940")
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
* 07-Sep-2004 RTP Created file * 07-Sep-2004 RTP Created file
* 03-Nov-2004 BJD Updated and minor cleanups * 03-Nov-2004 BJD Updated and minor cleanups
* 03-Aug-2005 RTP Renamed to fb.h * 03-Aug-2005 RTP Renamed to fb.h
* 26-Oct-2005 BJD Changed name of platdata init
*/ */
#ifndef __ASM_ARM_FB_H #ifndef __ASM_ARM_FB_H
...@@ -64,6 +65,6 @@ struct s3c2410fb_mach_info { ...@@ -64,6 +65,6 @@ struct s3c2410fb_mach_info {
unsigned long lpcsel; unsigned long lpcsel;
}; };
void __init set_s3c2410fb_info(struct s3c2410fb_mach_info *hard_s3c2410fb_info); extern void __init s3c24xx_fb_set_platdata(struct s3c2410fb_mach_info *);
#endif /* __ASM_ARM_FB_H */ #endif /* __ASM_ARM_FB_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment