[ARM] S3C2410: mach-bast.c registering i2c data too early
The BAST support code is calling s3c_i2c0_set_platdata() from the map_io() entry, instead of the bast_init() code. This causes the registration to fail due to kmalloc() not being available at the time. This fixes the following error: s3c_i2c0_set_platdata: no memory for platform data Signed-off-by: Ben Dooks <ben-linux@fluff.org>
This commit is contained in:
Родитель
871fcd7cf7
Коммит
a8af6de00f
|
@ -588,8 +588,6 @@ static void __init bast_map_io(void)
|
||||||
|
|
||||||
s3c_device_nand.dev.platform_data = &bast_nand_info;
|
s3c_device_nand.dev.platform_data = &bast_nand_info;
|
||||||
|
|
||||||
s3c_i2c0_set_platdata(&bast_i2c_info);
|
|
||||||
|
|
||||||
s3c24xx_init_io(bast_iodesc, ARRAY_SIZE(bast_iodesc));
|
s3c24xx_init_io(bast_iodesc, ARRAY_SIZE(bast_iodesc));
|
||||||
s3c24xx_init_clocks(0);
|
s3c24xx_init_clocks(0);
|
||||||
s3c24xx_init_uarts(bast_uartcfgs, ARRAY_SIZE(bast_uartcfgs));
|
s3c24xx_init_uarts(bast_uartcfgs, ARRAY_SIZE(bast_uartcfgs));
|
||||||
|
@ -602,6 +600,7 @@ static void __init bast_init(void)
|
||||||
sysdev_class_register(&bast_pm_sysclass);
|
sysdev_class_register(&bast_pm_sysclass);
|
||||||
sysdev_register(&bast_pm_sysdev);
|
sysdev_register(&bast_pm_sysdev);
|
||||||
|
|
||||||
|
s3c_i2c0_set_platdata(&bast_i2c_info);
|
||||||
s3c24xx_fb_set_platdata(&bast_fb_info);
|
s3c24xx_fb_set_platdata(&bast_fb_info);
|
||||||
platform_add_devices(bast_devices, ARRAY_SIZE(bast_devices));
|
platform_add_devices(bast_devices, ARRAY_SIZE(bast_devices));
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче