[ARM] 4324/1: S3C24XX: remove clocks from s3c24xx_board
Remove the clocks from the s3c24xx_board as part of the process of simplifying the initialisation sequence by removing struct s3c24xx_board. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
Родитель
ef08574729
Коммит
ce89c206ac
|
@ -467,8 +467,6 @@ static struct clk *bast_clocks[] = {
|
|||
static struct s3c24xx_board bast_board __initdata = {
|
||||
.devices = bast_devices,
|
||||
.devices_count = ARRAY_SIZE(bast_devices),
|
||||
.clocks = bast_clocks,
|
||||
.clocks_count = ARRAY_SIZE(bast_clocks),
|
||||
};
|
||||
|
||||
static void __init bast_map_io(void)
|
||||
|
@ -486,6 +484,8 @@ static void __init bast_map_io(void)
|
|||
|
||||
s3c24xx_uclk.parent = &s3c24xx_clkout1;
|
||||
|
||||
s3c24xx_register_clocks(bast_clocks, ARRAY_SIZE(bast_clocks));
|
||||
|
||||
s3c_device_nand.dev.platform_data = &bast_nand_info;
|
||||
s3c_device_i2c.dev.platform_data = &bast_i2c_info;
|
||||
|
||||
|
|
|
@ -387,8 +387,6 @@ static struct clk *vr1000_clocks[] = {
|
|||
static struct s3c24xx_board vr1000_board __initdata = {
|
||||
.devices = vr1000_devices,
|
||||
.devices_count = ARRAY_SIZE(vr1000_devices),
|
||||
.clocks = vr1000_clocks,
|
||||
.clocks_count = ARRAY_SIZE(vr1000_clocks),
|
||||
};
|
||||
|
||||
static void vr1000_power_off(void)
|
||||
|
@ -412,6 +410,8 @@ static void __init vr1000_map_io(void)
|
|||
|
||||
s3c24xx_uclk.parent = &s3c24xx_clkout1;
|
||||
|
||||
s3c24xx_register_clocks(vr1000_clocks, ARRAY_SIZE(vr1000_clocks));
|
||||
|
||||
pm_power_off = vr1000_power_off;
|
||||
|
||||
s3c24xx_init_io(vr1000_iodesc, ARRAY_SIZE(vr1000_iodesc));
|
||||
|
|
|
@ -284,8 +284,6 @@ static struct clk *anubis_clocks[] = {
|
|||
static struct s3c24xx_board anubis_board __initdata = {
|
||||
.devices = anubis_devices,
|
||||
.devices_count = ARRAY_SIZE(anubis_devices),
|
||||
.clocks = anubis_clocks,
|
||||
.clocks_count = ARRAY_SIZE(anubis_clocks),
|
||||
};
|
||||
|
||||
static void __init anubis_map_io(void)
|
||||
|
@ -303,6 +301,8 @@ static void __init anubis_map_io(void)
|
|||
|
||||
s3c24xx_uclk.parent = &s3c24xx_clkout1;
|
||||
|
||||
s3c24xx_register_clocks(anubis_clocks, ARRAY_SIZE(anubis_clocks));
|
||||
|
||||
s3c_device_nand.dev.platform_data = &anubis_nand_info;
|
||||
|
||||
s3c24xx_init_io(anubis_iodesc, ARRAY_SIZE(anubis_iodesc));
|
||||
|
|
|
@ -254,8 +254,6 @@ static struct clk *osiris_clocks[] = {
|
|||
static struct s3c24xx_board osiris_board __initdata = {
|
||||
.devices = osiris_devices,
|
||||
.devices_count = ARRAY_SIZE(osiris_devices),
|
||||
.clocks = osiris_clocks,
|
||||
.clocks_count = ARRAY_SIZE(osiris_clocks),
|
||||
};
|
||||
|
||||
static void __init osiris_map_io(void)
|
||||
|
@ -275,6 +273,8 @@ static void __init osiris_map_io(void)
|
|||
|
||||
s3c24xx_uclk.parent = &s3c24xx_clkout1;
|
||||
|
||||
s3c24xx_register_clocks(osiris_clocks, ARRAY_SIZE(osiris_clocks));
|
||||
|
||||
s3c_device_nand.dev.platform_data = &osiris_nand_info;
|
||||
|
||||
s3c24xx_init_io(osiris_iodesc, ARRAY_SIZE(osiris_iodesc));
|
||||
|
|
|
@ -404,6 +404,18 @@ int s3c24xx_register_clock(struct clk *clk)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int s3c24xx_register_clocks(struct clk **clks, int nr_clks)
|
||||
{
|
||||
int fails = 0;
|
||||
|
||||
for (; nr_clks > 0; nr_clks--, clks++) {
|
||||
if (s3c24xx_register_clock(*clks) < 0)
|
||||
fails++;
|
||||
}
|
||||
|
||||
return fails;
|
||||
}
|
||||
|
||||
/* initalise all the clocks */
|
||||
|
||||
int __init s3c24xx_setup_clocks(unsigned long xtal,
|
||||
|
|
|
@ -187,16 +187,7 @@ 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++)
|
||||
s3c24xx_register_clock(*ptr);
|
||||
}
|
||||
}
|
||||
|
||||
/* cpu information */
|
||||
|
|
|
@ -56,6 +56,7 @@ extern struct mutex clocks_mutex;
|
|||
extern int s3c2410_clkcon_enable(struct clk *clk, int enable);
|
||||
|
||||
extern int s3c24xx_register_clock(struct clk *clk);
|
||||
extern int s3c24xx_register_clocks(struct clk **clk, int nr_clks);
|
||||
|
||||
extern int s3c24xx_setup_clocks(unsigned long xtal,
|
||||
unsigned long fclk,
|
||||
|
|
|
@ -49,9 +49,6 @@ extern void s3c24xx_init_uartdevs(char *name,
|
|||
struct s3c24xx_board {
|
||||
struct platform_device **devices;
|
||||
unsigned int devices_count;
|
||||
|
||||
struct clk **clocks;
|
||||
unsigned int clocks_count;
|
||||
};
|
||||
|
||||
extern void s3c24xx_set_board(struct s3c24xx_board *board);
|
||||
|
|
Загрузка…
Ссылка в новой задаче