Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

[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
Loading
Loading
Loading
Loading
+10 −6
Original line number Original line Diff line number Diff line
@@ -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 */


+2 −1
Original line number Original line Diff line number Diff line
@@ -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)


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")
+2 −1
Original line number Original line Diff line number Diff line
@@ -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 {
	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 */