aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-at91
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2014-12-02 06:54:57 -0500
committerNicolas Ferre <nicolas.ferre@atmel.com>2014-12-02 10:59:06 -0500
commit865a381223cff0d6d976d9bbe1d57a9288ba147b (patch)
treed92e438785fd5bc63f6c180f585dd21e4f4a75da /arch/arm/mach-at91
parente093d7cf37ec9ff24b0631b0a2e405a7cf7574db (diff)
ARM: at91: cleanup initilisation code by removing dead code
The AT91-specific SoC strucutre "struct at91_init_soc" was filled with specific !DT initilisation functions. Now that we got rid of the !DT board file description, remove unneeded functions. Signed-off-by: Arnd Bergmann <arnd@arndb.de> [nicolas.ferre@atmel.com: split patch] Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Diffstat (limited to 'arch/arm/mach-at91')
-rw-r--r--arch/arm/mach-at91/generic.h13
-rw-r--r--arch/arm/mach-at91/setup.c54
-rw-r--r--arch/arm/mach-at91/soc.h6
3 files changed, 0 insertions, 73 deletions
diff --git a/arch/arm/mach-at91/generic.h b/arch/arm/mach-at91/generic.h
index eb81940f9848..6c5e67b0edfe 100644
--- a/arch/arm/mach-at91/generic.h
+++ b/arch/arm/mach-at91/generic.h
@@ -22,19 +22,13 @@ extern void __init at91_init_sram(int bank, unsigned long base,
22 22
23 /* Processors */ 23 /* Processors */
24extern void __init at91rm9200_set_type(int type); 24extern void __init at91rm9200_set_type(int type);
25extern void __init at91_initialize(unsigned long main_clock);
26extern void __init at91rm9200_dt_initialize(void); 25extern void __init at91rm9200_dt_initialize(void);
27extern void __init at91_dt_initialize(void); 26extern void __init at91_dt_initialize(void);
28 27
29 /* Interrupts */ 28 /* Interrupts */
30extern void __init at91_init_irq_default(void);
31extern void __init at91_init_interrupts(unsigned int priority[]);
32extern void __init at91_sysirq_mask_rtc(u32 rtc_base); 29extern void __init at91_sysirq_mask_rtc(u32 rtc_base);
33extern void __init at91_sysirq_mask_rtt(u32 rtt_base); 30extern void __init at91_sysirq_mask_rtt(u32 rtt_base);
34 31
35 /* Devices */
36extern void __init at91_register_devices(void);
37
38 /* Timer */ 32 /* Timer */
39extern void __init at91_init_time(void); 33extern void __init at91_init_time(void);
40extern void at91rm9200_ioremap_st(u32 addr); 34extern void at91rm9200_ioremap_st(u32 addr);
@@ -42,19 +36,12 @@ extern void at91rm9200_timer_init(void);
42extern void at91sam926x_ioremap_pit(u32 addr); 36extern void at91sam926x_ioremap_pit(u32 addr);
43extern void at91sam926x_pit_init(int irq); 37extern void at91sam926x_pit_init(int irq);
44 38
45 /* Power Management */
46extern void at91_irq_suspend(void);
47extern void at91_irq_resume(void);
48
49/* idle */ 39/* idle */
50extern void at91sam9_idle(void); 40extern void at91sam9_idle(void);
51 41
52/* Matrix */ 42/* Matrix */
53extern void at91_ioremap_matrix(u32 base_addr); 43extern void at91_ioremap_matrix(u32 base_addr);
54 44
55/* Ram Controler */
56extern void at91_ioremap_ramc(int id, u32 addr, u32 size);
57
58 /* GPIO */ 45 /* GPIO */
59#define AT91RM9200_PQFP 3 /* AT91RM9200 PQFP package has 3 banks */ 46#define AT91RM9200_PQFP 3 /* AT91RM9200 PQFP package has 3 banks */
60#define AT91RM9200_BGA 4 /* AT91RM9200 BGA package has 4 banks */ 47#define AT91RM9200_BGA 4 /* AT91RM9200 BGA package has 4 banks */
diff --git a/arch/arm/mach-at91/setup.c b/arch/arm/mach-at91/setup.c
index 6c3013e3309b..ce25e85720fb 100644
--- a/arch/arm/mach-at91/setup.c
+++ b/arch/arm/mach-at91/setup.c
@@ -42,31 +42,9 @@ void __init at91rm9200_set_type(int type)
42 at91_get_soc_subtype(&at91_soc_initdata)); 42 at91_get_soc_subtype(&at91_soc_initdata));
43} 43}
44 44
45void __init at91_init_irq_default(void)
46{
47 at91_init_interrupts(at91_boot_soc.default_irq_priority);
48}
49
50void __init at91_init_interrupts(unsigned int *priority)
51{
52 /* Enable GPIO interrupts */
53 at91_gpio_irq_setup();
54}
55
56void __iomem *at91_ramc_base[2]; 45void __iomem *at91_ramc_base[2];
57EXPORT_SYMBOL_GPL(at91_ramc_base); 46EXPORT_SYMBOL_GPL(at91_ramc_base);
58 47
59void __init at91_ioremap_ramc(int id, u32 addr, u32 size)
60{
61 if (id < 0 || id > 1) {
62 pr_emerg("Wrong RAM controller id (%d), cannot continue\n", id);
63 BUG();
64 }
65 at91_ramc_base[id] = ioremap(addr, size);
66 if (!at91_ramc_base[id])
67 panic(pr_fmt("Impossible to ioremap ramc.%d 0x%x\n"), id, addr);
68}
69
70static struct map_desc sram_desc[2] __initdata; 48static struct map_desc sram_desc[2] __initdata;
71 49
72void __init at91_init_sram(int bank, unsigned long base, unsigned int length) 50void __init at91_init_sram(int bank, unsigned long base, unsigned int length)
@@ -414,7 +392,6 @@ void __init at91_ioremap_matrix(u32 base_addr)
414 panic(pr_fmt("Impossible to ioremap at91_matrix_base\n")); 392 panic(pr_fmt("Impossible to ioremap at91_matrix_base\n"));
415} 393}
416 394
417#if defined(CONFIG_OF)
418static struct of_device_id ramc_ids[] = { 395static struct of_device_id ramc_ids[] = {
419 { .compatible = "atmel,at91rm9200-sdramc", .data = at91rm9200_standby }, 396 { .compatible = "atmel,at91rm9200-sdramc", .data = at91rm9200_standby },
420 { .compatible = "atmel,at91sam9260-sdramc", .data = at91sam9_sdram_standby }, 397 { .compatible = "atmel,at91sam9260-sdramc", .data = at91sam9_sdram_standby },
@@ -456,10 +433,6 @@ void __init at91rm9200_dt_initialize(void)
456{ 433{
457 at91_dt_ramc(); 434 at91_dt_ramc();
458 435
459 /* Register the processor-specific clocks */
460 if (at91_boot_soc.register_clocks)
461 at91_boot_soc.register_clocks();
462
463 at91_boot_soc.init(); 436 at91_boot_soc.init();
464} 437}
465 438
@@ -467,33 +440,6 @@ void __init at91_dt_initialize(void)
467{ 440{
468 at91_dt_ramc(); 441 at91_dt_ramc();
469 442
470 /* Register the processor-specific clocks */
471 if (at91_boot_soc.register_clocks)
472 at91_boot_soc.register_clocks();
473
474 if (at91_boot_soc.init) 443 if (at91_boot_soc.init)
475 at91_boot_soc.init(); 444 at91_boot_soc.init();
476} 445}
477#endif
478
479void __init at91_initialize(unsigned long main_clock)
480{
481 at91_boot_soc.ioremap_registers();
482
483 /* Register the processor-specific clocks */
484 at91_boot_soc.register_clocks();
485
486 at91_boot_soc.init();
487
488 pinctrl_provide_dummies();
489}
490
491void __init at91_register_devices(void)
492{
493 at91_boot_soc.register_devices();
494}
495
496void __init at91_init_time(void)
497{
498 at91_boot_soc.init_time();
499}
diff --git a/arch/arm/mach-at91/soc.h b/arch/arm/mach-at91/soc.h
index 9a8fd97a8bef..ae6c0b2f1146 100644
--- a/arch/arm/mach-at91/soc.h
+++ b/arch/arm/mach-at91/soc.h
@@ -6,14 +6,8 @@
6 6
7struct at91_init_soc { 7struct at91_init_soc {
8 int builtin; 8 int builtin;
9 u32 extern_irq;
10 unsigned int *default_irq_priority;
11 void (*map_io)(void); 9 void (*map_io)(void);
12 void (*ioremap_registers)(void);
13 void (*register_clocks)(void);
14 void (*register_devices)(void);
15 void (*init)(void); 10 void (*init)(void);
16 void (*init_time)(void);
17}; 11};
18 12
19extern struct at91_init_soc at91_boot_soc; 13extern struct at91_init_soc at91_boot_soc;