You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge remote-tracking branch 'arm-soc/irqchip/gic-vic-move' into kvm-arm/vgic
This commit is contained in:
@@ -4209,6 +4209,7 @@ M: Thomas Gleixner <tglx@linutronix.de>
|
||||
S: Maintained
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
|
||||
F: kernel/irq/
|
||||
F: drivers/irqchip/
|
||||
|
||||
IRQ DOMAINS (IRQ NUMBER MAPPING LIBRARY)
|
||||
M: Benjamin Herrenschmidt <benh@kernel.crashing.org>
|
||||
|
||||
@@ -1,26 +1,3 @@
|
||||
config ARM_GIC
|
||||
bool
|
||||
select IRQ_DOMAIN
|
||||
select MULTI_IRQ_HANDLER
|
||||
|
||||
config GIC_NON_BANKED
|
||||
bool
|
||||
|
||||
config ARM_VIC
|
||||
bool
|
||||
select IRQ_DOMAIN
|
||||
select MULTI_IRQ_HANDLER
|
||||
|
||||
config ARM_VIC_NR
|
||||
int
|
||||
default 4 if ARCH_S5PV210
|
||||
default 3 if ARCH_S5PC100
|
||||
default 2
|
||||
depends on ARM_VIC
|
||||
help
|
||||
The maximum number of VICs available in the system, for
|
||||
power management.
|
||||
|
||||
config ICST
|
||||
bool
|
||||
|
||||
|
||||
@@ -2,8 +2,6 @@
|
||||
# Makefile for the linux kernel.
|
||||
#
|
||||
|
||||
obj-$(CONFIG_ARM_GIC) += gic.o
|
||||
obj-$(CONFIG_ARM_VIC) += vic.o
|
||||
obj-$(CONFIG_ICST) += icst.o
|
||||
obj-$(CONFIG_SA1111) += sa1111.o
|
||||
obj-$(CONFIG_PCI_HOST_VIA82C505) += via82c505.o
|
||||
|
||||
@@ -22,6 +22,7 @@ extern int show_fiq_list(struct seq_file *, int);
|
||||
|
||||
#ifdef CONFIG_MULTI_IRQ_HANDLER
|
||||
extern void (*handle_arch_irq)(struct pt_regs *);
|
||||
extern void set_handle_irq(void (*handle_irq)(struct pt_regs *));
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
||||
@@ -117,6 +117,16 @@ void __init init_IRQ(void)
|
||||
machine_desc->init_irq();
|
||||
}
|
||||
|
||||
#ifdef CONFIG_MULTI_IRQ_HANDLER
|
||||
void __init set_handle_irq(void (*handle_irq)(struct pt_regs *))
|
||||
{
|
||||
if (handle_arch_irq)
|
||||
return;
|
||||
|
||||
handle_arch_irq = handle_irq;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SPARSE_IRQ
|
||||
int __init arch_probe_nr_irqs(void)
|
||||
{
|
||||
|
||||
@@ -416,7 +416,8 @@ static void (*smp_cross_call)(const struct cpumask *, unsigned int);
|
||||
|
||||
void __init set_smp_cross_call(void (*fn)(const struct cpumask *, unsigned int))
|
||||
{
|
||||
smp_cross_call = fn;
|
||||
if (!smp_cross_call)
|
||||
smp_cross_call = fn;
|
||||
}
|
||||
|
||||
void arch_send_call_function_ipi_mask(const struct cpumask *mask)
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
|
||||
#include <asm/smp_twd.h>
|
||||
#include <asm/localtimer.h>
|
||||
#include <asm/hardware/gic.h>
|
||||
|
||||
/* set up by the platform code */
|
||||
static void __iomem *twd_base;
|
||||
|
||||
@@ -11,22 +11,15 @@
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/irqchip.h>
|
||||
|
||||
#include <asm/mach/arch.h>
|
||||
#include <asm/hardware/gic.h>
|
||||
|
||||
#include <asm/mach/time.h>
|
||||
|
||||
static const struct of_device_id irq_match[] = {
|
||||
{.compatible = "arm,cortex-a9-gic", .data = gic_of_init, },
|
||||
{}
|
||||
};
|
||||
|
||||
static void timer_init(void)
|
||||
{
|
||||
}
|
||||
@@ -35,11 +28,6 @@ static struct sys_timer timer = {
|
||||
.init = timer_init,
|
||||
};
|
||||
|
||||
static void __init init_irq(void)
|
||||
{
|
||||
of_irq_init(irq_match);
|
||||
}
|
||||
|
||||
static void __init board_init(void)
|
||||
{
|
||||
of_platform_populate(NULL, of_default_bus_match_table, NULL,
|
||||
@@ -49,9 +37,8 @@ static void __init board_init(void)
|
||||
static const char * const bcm11351_dt_compat[] = { "bcm,bcm11351", NULL, };
|
||||
|
||||
DT_MACHINE_START(BCM11351_DT, "Broadcom Application Processor")
|
||||
.init_irq = init_irq,
|
||||
.init_irq = irqchip_init,
|
||||
.timer = &timer,
|
||||
.init_machine = board_init,
|
||||
.dt_compat = bcm11351_dt_compat,
|
||||
.handle_irq = gic_handle_irq,
|
||||
MACHINE_END
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
#include <linux/usb/ohci_pdriver.h>
|
||||
#include <asm/setup.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/hardware/gic.h>
|
||||
#include <asm/mach/arch.h>
|
||||
#include <asm/mach/map.h>
|
||||
#include <asm/mach/time.h>
|
||||
@@ -251,7 +250,6 @@ MACHINE_START(CNS3420VB, "Cavium Networks CNS3420 Validation Board")
|
||||
.map_io = cns3420_map_io,
|
||||
.init_irq = cns3xxx_init_irq,
|
||||
.timer = &cns3xxx_timer,
|
||||
.handle_irq = gic_handle_irq,
|
||||
.init_machine = cns3420_init,
|
||||
.restart = cns3xxx_restart,
|
||||
MACHINE_END
|
||||
|
||||
@@ -12,10 +12,10 @@
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/clockchips.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/irqchip/arm-gic.h>
|
||||
#include <asm/mach/map.h>
|
||||
#include <asm/mach/time.h>
|
||||
#include <asm/mach/irq.h>
|
||||
#include <asm/hardware/gic.h>
|
||||
#include <asm/hardware/cache-l2x0.h>
|
||||
#include <mach/cns3xxx.h>
|
||||
#include "core.h"
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
|
||||
#include <mach/hardware.h>
|
||||
|
||||
#include <asm/hardware/vic.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
|
||||
@@ -39,7 +38,6 @@ MACHINE_START(ADSSPHERE, "ADS Sphere board")
|
||||
.atag_offset = 0x100,
|
||||
.map_io = ep93xx_map_io,
|
||||
.init_irq = ep93xx_init_irq,
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = adssphere_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
#include <linux/i2c-gpio.h>
|
||||
#include <linux/spi/spi.h>
|
||||
#include <linux/export.h>
|
||||
#include <linux/irqchip/arm-vic.h>
|
||||
|
||||
#include <mach/hardware.h>
|
||||
#include <linux/platform_data/video-ep93xx.h>
|
||||
@@ -44,8 +45,6 @@
|
||||
#include <asm/mach/map.h>
|
||||
#include <asm/mach/time.h>
|
||||
|
||||
#include <asm/hardware/vic.h>
|
||||
|
||||
#include "soc.h"
|
||||
|
||||
/*************************************************************************
|
||||
|
||||
@@ -39,7 +39,6 @@
|
||||
#include <linux/platform_data/spi-ep93xx.h>
|
||||
#include <mach/gpio-ep93xx.h>
|
||||
|
||||
#include <asm/hardware/vic.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
|
||||
@@ -276,7 +275,6 @@ MACHINE_START(EDB9301, "Cirrus Logic EDB9301 Evaluation Board")
|
||||
.atag_offset = 0x100,
|
||||
.map_io = ep93xx_map_io,
|
||||
.init_irq = ep93xx_init_irq,
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = edb93xx_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
@@ -290,7 +288,6 @@ MACHINE_START(EDB9302, "Cirrus Logic EDB9302 Evaluation Board")
|
||||
.atag_offset = 0x100,
|
||||
.map_io = ep93xx_map_io,
|
||||
.init_irq = ep93xx_init_irq,
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = edb93xx_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
@@ -304,7 +301,6 @@ MACHINE_START(EDB9302A, "Cirrus Logic EDB9302A Evaluation Board")
|
||||
.atag_offset = 0x100,
|
||||
.map_io = ep93xx_map_io,
|
||||
.init_irq = ep93xx_init_irq,
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = edb93xx_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
@@ -318,7 +314,6 @@ MACHINE_START(EDB9307, "Cirrus Logic EDB9307 Evaluation Board")
|
||||
.atag_offset = 0x100,
|
||||
.map_io = ep93xx_map_io,
|
||||
.init_irq = ep93xx_init_irq,
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = edb93xx_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
@@ -332,7 +327,6 @@ MACHINE_START(EDB9307A, "Cirrus Logic EDB9307A Evaluation Board")
|
||||
.atag_offset = 0x100,
|
||||
.map_io = ep93xx_map_io,
|
||||
.init_irq = ep93xx_init_irq,
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = edb93xx_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
@@ -346,7 +340,6 @@ MACHINE_START(EDB9312, "Cirrus Logic EDB9312 Evaluation Board")
|
||||
.atag_offset = 0x100,
|
||||
.map_io = ep93xx_map_io,
|
||||
.init_irq = ep93xx_init_irq,
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = edb93xx_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
@@ -360,7 +353,6 @@ MACHINE_START(EDB9315, "Cirrus Logic EDB9315 Evaluation Board")
|
||||
.atag_offset = 0x100,
|
||||
.map_io = ep93xx_map_io,
|
||||
.init_irq = ep93xx_init_irq,
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = edb93xx_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
@@ -374,7 +366,6 @@ MACHINE_START(EDB9315A, "Cirrus Logic EDB9315A Evaluation Board")
|
||||
.atag_offset = 0x100,
|
||||
.map_io = ep93xx_map_io,
|
||||
.init_irq = ep93xx_init_irq,
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = edb93xx_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
|
||||
#include <mach/hardware.h>
|
||||
|
||||
#include <asm/hardware/vic.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
|
||||
@@ -39,7 +38,6 @@ MACHINE_START(GESBC9312, "Glomation GESBC-9312-sx")
|
||||
.atag_offset = 0x100,
|
||||
.map_io = ep93xx_map_io,
|
||||
.init_irq = ep93xx_init_irq,
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = gesbc9312_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
|
||||
#include <mach/hardware.h>
|
||||
|
||||
#include <asm/hardware/vic.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
|
||||
@@ -82,7 +81,6 @@ MACHINE_START(MICRO9, "Contec Micro9-High")
|
||||
.atag_offset = 0x100,
|
||||
.map_io = ep93xx_map_io,
|
||||
.init_irq = ep93xx_init_irq,
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = micro9_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
@@ -96,7 +94,6 @@ MACHINE_START(MICRO9M, "Contec Micro9-Mid")
|
||||
.atag_offset = 0x100,
|
||||
.map_io = ep93xx_map_io,
|
||||
.init_irq = ep93xx_init_irq,
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = micro9_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
@@ -110,7 +107,6 @@ MACHINE_START(MICRO9L, "Contec Micro9-Lite")
|
||||
.atag_offset = 0x100,
|
||||
.map_io = ep93xx_map_io,
|
||||
.init_irq = ep93xx_init_irq,
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = micro9_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
@@ -124,7 +120,6 @@ MACHINE_START(MICRO9S, "Contec Micro9-Slim")
|
||||
.atag_offset = 0x100,
|
||||
.map_io = ep93xx_map_io,
|
||||
.init_irq = ep93xx_init_irq,
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = micro9_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
|
||||
@@ -25,7 +25,6 @@
|
||||
#include <linux/platform_data/video-ep93xx.h>
|
||||
#include <mach/gpio-ep93xx.h>
|
||||
|
||||
#include <asm/hardware/vic.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
|
||||
@@ -83,7 +82,6 @@ MACHINE_START(SIM_ONE, "Simplemachines Sim.One Board")
|
||||
.atag_offset = 0x100,
|
||||
.map_io = ep93xx_map_io,
|
||||
.init_irq = ep93xx_init_irq,
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = simone_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
#include <linux/platform_data/video-ep93xx.h>
|
||||
#include <mach/gpio-ep93xx.h>
|
||||
|
||||
#include <asm/hardware/vic.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
|
||||
@@ -176,7 +175,6 @@ MACHINE_START(SNAPPER_CL15, "Bluewater Systems Snapper CL15")
|
||||
.atag_offset = 0x100,
|
||||
.map_io = ep93xx_map_io,
|
||||
.init_irq = ep93xx_init_irq,
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = snappercl15_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
|
||||
#include <mach/hardware.h>
|
||||
|
||||
#include <asm/hardware/vic.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/map.h>
|
||||
#include <asm/mach/arch.h>
|
||||
@@ -246,7 +245,6 @@ MACHINE_START(TS72XX, "Technologic Systems TS-72xx SBC")
|
||||
.atag_offset = 0x100,
|
||||
.map_io = ts72xx_map_io,
|
||||
.init_irq = ep93xx_init_irq,
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = ts72xx_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
#include <linux/platform_data/spi-ep93xx.h>
|
||||
#include <mach/gpio-ep93xx.h>
|
||||
|
||||
#include <asm/hardware/vic.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/map.h>
|
||||
#include <asm/mach/arch.h>
|
||||
@@ -364,7 +363,6 @@ MACHINE_START(VISION_EP9307, "Vision Engraving Systems EP9307")
|
||||
.atag_offset = 0x100,
|
||||
.map_io = vision_map_io,
|
||||
.init_irq = ep93xx_init_irq,
|
||||
.handle_irq = vic_handle_irq,
|
||||
.timer = &ep93xx_timer,
|
||||
.init_machine = vision_init_machine,
|
||||
.init_late = ep93xx_init_late,
|
||||
|
||||
@@ -22,12 +22,13 @@
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/export.h>
|
||||
#include <linux/irqdomain.h>
|
||||
#include <linux/irqchip.h>
|
||||
#include <linux/of_address.h>
|
||||
#include <linux/irqchip/arm-gic.h>
|
||||
|
||||
#include <asm/proc-fns.h>
|
||||
#include <asm/exception.h>
|
||||
#include <asm/hardware/cache-l2x0.h>
|
||||
#include <asm/hardware/gic.h>
|
||||
#include <asm/mach/map.h>
|
||||
#include <asm/mach/irq.h>
|
||||
#include <asm/cacheflush.h>
|
||||
@@ -644,8 +645,6 @@ static int __init combiner_of_init(struct device_node *np,
|
||||
}
|
||||
|
||||
static const struct of_device_id exynos_dt_irq_match[] = {
|
||||
{ .compatible = "arm,cortex-a9-gic", .data = gic_of_init, },
|
||||
{ .compatible = "arm,cortex-a15-gic", .data = gic_of_init, },
|
||||
{ .compatible = "samsung,exynos4210-combiner",
|
||||
.data = combiner_of_init, },
|
||||
{},
|
||||
@@ -661,8 +660,10 @@ void __init exynos4_init_irq(void)
|
||||
if (!of_have_populated_dt())
|
||||
gic_init_bases(0, IRQ_PPI(0), S5P_VA_GIC_DIST, S5P_VA_GIC_CPU, gic_bank_offset, NULL);
|
||||
#ifdef CONFIG_OF
|
||||
else
|
||||
else {
|
||||
irqchip_init();
|
||||
of_irq_init(exynos_dt_irq_match);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!of_have_populated_dt())
|
||||
@@ -679,6 +680,7 @@ void __init exynos4_init_irq(void)
|
||||
void __init exynos5_init_irq(void)
|
||||
{
|
||||
#ifdef CONFIG_OF
|
||||
irqchip_init();
|
||||
of_irq_init(exynos_dt_irq_match);
|
||||
#endif
|
||||
/*
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user