#include <asm/arch/regs-gpio.h>
#include "cpu.h"
-#include "clock.h"
#include "s3c2410.h"
#include "s3c2440.h"
.name = name_s3c2410
},
{
- .idcode = 0x32410002,
+ .idcode = 0x3241002,
.idmask = 0xffffffff,
.map_io = s3c2410_map_io,
.init = s3c2410_init,
int count;
tab = cpu_ids;
- for (count = 0; count < ARRAY_SIZE(cpu_ids); count++, tab++) {
+ for (count = 0; count < ARRAY_SIZE(cpu_ids); count++) {
if ((idcode & tab->idmask) == tab->idcode)
return tab;
}
return NULL;
}
-/* board information */
-
-static struct s3c24xx_board *board;
-
-void s3c24xx_set_board(struct s3c24xx_board *b)
-{
- int i;
-
- board = b;
-
- if (b->clocks_count != 0) {
- struct clk **ptr = b->clocks;;
-
- for (i = b->clocks_count; i > 0; i--, ptr++)
- s3c2410_register_clock(*ptr);
- }
-}
-
-/* cpu information */
-
static struct cpu_table *cpu;
void __init s3c24xx_init_io(struct map_desc *mach_desc, int size)
static int __init s3c_arch_init(void)
{
- int ret;
-
// do the correct init for cpu
if (cpu == NULL)
panic("s3c_arch_init: NULL cpu\n");
- ret = (cpu->init)();
- if (ret != 0)
- return ret;
-
- if (board != NULL) {
- struct platform_device **ptr = board->devices;
- int i;
-
- for (i = 0; i < board->devices_count; i++, ptr++) {
- ret = platform_device_register(*ptr);
-
- if (ret) {
- printk(KERN_ERR "s3c24xx: failed to add board device %s (%d) @%p\n", (*ptr)->name, ret, *ptr);
- }
- }
-
- /* mask any error, we may not need all these board
- * devices */
- ret = 0;
- }
-
- return ret;
+ return (cpu->init)();
}
arch_initcall(s3c_arch_init);