ARM: at91: make use of the new AIC driver for dt enabled boards

Remove selection of OLD_IRQ_AT91 when selecting dt boards.
Select ATMEL_AIC_IRQ for sama5 SoCs (a kernel compiled for this SoC will
always use ATMEL_AIC_IRQ driver).
Select ATMEL_AIC_IRQ for at91rm9200 and at91sam9 SoCs only if OLD_IRQ_AT91
is not selected (which means we are compiling a pure DT kernel, without
any legacy board support).

Remove specific irq init code in all dt board files: this init procedure
is automatically handled in of_irq_init which is called by the arm irq core
code and is in charge of calling the appropriate aic init functions.

Signed-off-by: Boris BREZILLON <boris.brezillon@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
This commit is contained in:
Boris BREZILLON 2014-07-10 19:14:21 +02:00 коммит произвёл Nicolas Ferre
Родитель 071926041e
Коммит 3b26f39b0a
4 изменённых файлов: 3 добавлений и 42 удалений

Просмотреть файл

@ -50,12 +50,14 @@ config HAVE_AT91_SMD
config SOC_AT91SAM9 config SOC_AT91SAM9
bool bool
select AT91_SAM9_TIME select AT91_SAM9_TIME
select ATMEL_AIC_IRQ if !OLD_IRQ_AT91
select CPU_ARM926T select CPU_ARM926T
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
config SOC_SAMA5 config SOC_SAMA5
bool bool
select AT91_SAM9_TIME select AT91_SAM9_TIME
select ATMEL_AIC5_IRQ
select CPU_V7 select CPU_V7
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
select USE_OF select USE_OF
@ -108,6 +110,7 @@ endif
if SOC_SAM_V4_V5 if SOC_SAM_V4_V5
config SOC_AT91RM9200 config SOC_AT91RM9200
bool "AT91RM9200" bool "AT91RM9200"
select ATMEL_AIC_IRQ if !OLD_IRQ_AT91
select CPU_ARM920T select CPU_ARM920T
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
select HAVE_AT91_DBGU0 select HAVE_AT91_DBGU0
@ -193,7 +196,6 @@ comment "Generic Board Type"
config MACH_AT91RM9200_DT config MACH_AT91RM9200_DT
bool "Atmel AT91RM9200 Evaluation Kits with device-tree support" bool "Atmel AT91RM9200 Evaluation Kits with device-tree support"
depends on SOC_AT91RM9200 depends on SOC_AT91RM9200
select OLD_IRQ_AT91
select USE_OF select USE_OF
help help
Select this if you want to experiment device-tree with Select this if you want to experiment device-tree with
@ -202,7 +204,6 @@ config MACH_AT91RM9200_DT
config MACH_AT91SAM9_DT config MACH_AT91SAM9_DT
bool "Atmel AT91SAM Evaluation Kits with device-tree support" bool "Atmel AT91SAM Evaluation Kits with device-tree support"
depends on SOC_AT91SAM9 depends on SOC_AT91SAM9
select OLD_IRQ_AT91
select USE_OF select USE_OF
help help
Select this if you want to experiment device-tree with Select this if you want to experiment device-tree with
@ -211,7 +212,6 @@ config MACH_AT91SAM9_DT
config MACH_SAMA5_DT config MACH_SAMA5_DT
bool "Atmel SAMA5 Evaluation Kits with device-tree support" bool "Atmel SAMA5 Evaluation Kits with device-tree support"
depends on SOC_SAMA5 depends on SOC_SAMA5
select OLD_IRQ_AT91
select USE_OF select USE_OF
select PHYLIB if NETDEVICES select PHYLIB if NETDEVICES
help help

Просмотреть файл

@ -24,17 +24,6 @@
#include "at91_aic.h" #include "at91_aic.h"
#include "generic.h" #include "generic.h"
static const struct of_device_id irq_of_match[] __initconst = {
{ .compatible = "atmel,at91rm9200-aic", .data = at91_aic_of_init },
{ /*sentinel*/ }
};
static void __init at91rm9200_dt_init_irq(void)
{
of_irq_init(irq_of_match);
}
static const char *at91rm9200_dt_board_compat[] __initdata = { static const char *at91rm9200_dt_board_compat[] __initdata = {
"atmel,at91rm9200", "atmel,at91rm9200",
NULL NULL
@ -43,8 +32,6 @@ static const char *at91rm9200_dt_board_compat[] __initdata = {
DT_MACHINE_START(at91rm9200_dt, "Atmel AT91RM9200 (Device Tree)") DT_MACHINE_START(at91rm9200_dt, "Atmel AT91RM9200 (Device Tree)")
.init_time = at91rm9200_timer_init, .init_time = at91rm9200_timer_init,
.map_io = at91_map_io, .map_io = at91_map_io,
.handle_irq = at91_aic_handle_irq,
.init_early = at91rm9200_dt_initialize, .init_early = at91rm9200_dt_initialize,
.init_irq = at91rm9200_dt_init_irq,
.dt_compat = at91rm9200_dt_board_compat, .dt_compat = at91rm9200_dt_board_compat,
MACHINE_END MACHINE_END

Просмотреть файл

@ -34,17 +34,6 @@ static void __init sam9_dt_timer_init(void)
at91sam926x_pit_init(); at91sam926x_pit_init();
} }
static const struct of_device_id irq_of_match[] __initconst = {
{ .compatible = "atmel,at91rm9200-aic", .data = at91_aic_of_init },
{ /*sentinel*/ }
};
static void __init at91_dt_init_irq(void)
{
of_irq_init(irq_of_match);
}
static const char *at91_dt_board_compat[] __initdata = { static const char *at91_dt_board_compat[] __initdata = {
"atmel,at91sam9", "atmel,at91sam9",
NULL NULL
@ -54,8 +43,6 @@ DT_MACHINE_START(at91sam_dt, "Atmel AT91SAM (Device Tree)")
/* Maintainer: Atmel */ /* Maintainer: Atmel */
.init_time = sam9_dt_timer_init, .init_time = sam9_dt_timer_init,
.map_io = at91_map_io, .map_io = at91_map_io,
.handle_irq = at91_aic_handle_irq,
.init_early = at91_dt_initialize, .init_early = at91_dt_initialize,
.init_irq = at91_dt_init_irq,
.dt_compat = at91_dt_board_compat, .dt_compat = at91_dt_board_compat,
MACHINE_END MACHINE_END

Просмотреть файл

@ -35,17 +35,6 @@ static void __init sama5_dt_timer_init(void)
at91sam926x_pit_init(); at91sam926x_pit_init();
} }
static const struct of_device_id irq_of_match[] __initconst = {
{ .compatible = "atmel,sama5d3-aic", .data = at91_aic5_of_init },
{ /*sentinel*/ }
};
static void __init at91_dt_init_irq(void)
{
of_irq_init(irq_of_match);
}
static int ksz9021rn_phy_fixup(struct phy_device *phy) static int ksz9021rn_phy_fixup(struct phy_device *phy)
{ {
int value; int value;
@ -82,9 +71,7 @@ DT_MACHINE_START(sama5_dt, "Atmel SAMA5 (Device Tree)")
/* Maintainer: Atmel */ /* Maintainer: Atmel */
.init_time = sama5_dt_timer_init, .init_time = sama5_dt_timer_init,
.map_io = at91_map_io, .map_io = at91_map_io,
.handle_irq = at91_aic5_handle_irq,
.init_early = at91_dt_initialize, .init_early = at91_dt_initialize,
.init_irq = at91_dt_init_irq,
.init_machine = sama5_dt_device_init, .init_machine = sama5_dt_device_init,
.dt_compat = sama5_dt_board_compat, .dt_compat = sama5_dt_board_compat,
MACHINE_END MACHINE_END