diff options
author | Ben Dooks <ben-linux@fluff.org> | 2005-10-28 10:31:45 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2005-10-28 10:31:45 -0400 |
commit | 893b03094c2ed929648d76a29cbbfc9e215e8636 (patch) | |
tree | aff67b68cf24ac83316514051568f3643a48ebc6 | |
parent | 3b90c9c33361d49893645ffcebe6ca230f434705 (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>
-rw-r--r-- | arch/arm/mach-s3c2410/devs.c | 16 | ||||
-rw-r--r-- | arch/arm/mach-s3c2410/mach-h1940.c | 3 | ||||
-rw-r--r-- | include/asm-arm/arch-s3c2410/fb.h | 3 |
3 files changed, 14 insertions, 8 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 | ||
diff --git a/arch/arm/mach-s3c2410/mach-h1940.c b/arch/arm/mach-s3c2410/mach-h1940.c index fb3cb01266e5..7efeaaad2361 100644 --- a/arch/arm/mach-s3c2410/mach-h1940.c +++ b/arch/arm/mach-s3c2410/mach-h1940.c | |||
@@ -25,6 +25,7 @@ | |||
25 | * 14-Jan-2005 BJD Added clock init | 25 | * 14-Jan-2005 BJD Added clock init |
26 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA | 26 | * 10-Mar-2005 LCVR Changed S3C2410_VA to S3C24XX_VA |
27 | * 20-Sep-2005 BJD Added static to non-exported items | 27 | * 20-Sep-2005 BJD Added static to non-exported items |
28 | * 26-Oct-2005 BJD Changed name of fb init call | ||
28 | */ | 29 | */ |
29 | 30 | ||
30 | #include <linux/kernel.h> | 31 | #include <linux/kernel.h> |
@@ -164,7 +165,7 @@ static void __init h1940_init_irq(void) | |||
164 | 165 | ||
165 | static void __init h1940_init(void) | 166 | static void __init h1940_init(void) |
166 | { | 167 | { |
167 | set_s3c2410fb_info(&h1940_lcdcfg); | 168 | s3c24xx_fb_set_platdata(&h1940_lcdcfg); |
168 | } | 169 | } |
169 | 170 | ||
170 | MACHINE_START(H1940, "IPAQ-H1940") | 171 | MACHINE_START(H1940, "IPAQ-H1940") |
diff --git a/include/asm-arm/arch-s3c2410/fb.h b/include/asm-arm/arch-s3c2410/fb.h index ac57bc887d82..4790491ba9d0 100644 --- a/include/asm-arm/arch-s3c2410/fb.h +++ b/include/asm-arm/arch-s3c2410/fb.h | |||
@@ -13,6 +13,7 @@ | |||
13 | * 07-Sep-2004 RTP Created file | 13 | * 07-Sep-2004 RTP Created file |
14 | * 03-Nov-2004 BJD Updated and minor cleanups | 14 | * 03-Nov-2004 BJD Updated and minor cleanups |
15 | * 03-Aug-2005 RTP Renamed to fb.h | 15 | * 03-Aug-2005 RTP Renamed to fb.h |
16 | * 26-Oct-2005 BJD Changed name of platdata init | ||
16 | */ | 17 | */ |
17 | 18 | ||
18 | #ifndef __ASM_ARM_FB_H | 19 | #ifndef __ASM_ARM_FB_H |
@@ -64,6 +65,6 @@ struct s3c2410fb_mach_info { | |||
64 | unsigned long lpcsel; | 65 | unsigned long lpcsel; |
65 | }; | 66 | }; |
66 | 67 | ||
67 | void __init set_s3c2410fb_info(struct s3c2410fb_mach_info *hard_s3c2410fb_info); | 68 | extern void __init s3c24xx_fb_set_platdata(struct s3c2410fb_mach_info *); |
68 | 69 | ||
69 | #endif /* __ASM_ARM_FB_H */ | 70 | #endif /* __ASM_ARM_FB_H */ |