Skip to content

Commit

Permalink
ARM: shmobile: marzen: Use DT for GIC
Browse files Browse the repository at this point in the history
Current Marzen is using DT booting,
and r8a7779.dtsi already has GIC settings.

So, we can remove the C version of the GIC setup code,
instead rely on GIC information provided by DT.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
  • Loading branch information
Kuninori Morimoto authored and Simon Horman committed Aug 6, 2013
1 parent 1564558 commit 693ac41
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 21 deletions.
3 changes: 1 addition & 2 deletions arch/arm/mach-shmobile/board-marzen.c
Original file line number Diff line number Diff line change
Expand Up @@ -247,8 +247,7 @@ DT_MACHINE_START(MARZEN, "marzen")
.smp = smp_ops(r8a7779_smp_ops),
.map_io = r8a7779_map_io,
.init_early = r8a7779_add_early_devices,
.nr_irqs = NR_IRQS_LEGACY,
.init_irq = r8a7779_init_irq,
.init_irq = r8a7779_init_irq_dt,
.init_machine = marzen_init,
.init_late = r8a7779_init_late,
.dt_compat = marzen_boards_compat_dt,
Expand Down
1 change: 0 additions & 1 deletion arch/arm/mach-shmobile/include/mach/r8a7779.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ static inline struct r8a7779_pm_ch *to_r8a7779_ch(struct generic_pm_domain *d)
}

extern void r8a7779_init_delay(void);
extern void r8a7779_init_irq(void);
extern void r8a7779_init_irq_extpin(int irlm);
extern void r8a7779_init_irq_dt(void);
extern void r8a7779_map_io(void);
Expand Down
22 changes: 4 additions & 18 deletions arch/arm/mach-shmobile/intc-r8a7779.c
Original file line number Diff line number Diff line change
Expand Up @@ -90,15 +90,18 @@ void __init r8a7779_init_irq_extpin(int irlm)
pr_warn("r8a7779: unable to setup external irq pin mode\n");
}

#ifdef CONFIG_OF
static int r8a7779_set_wake(struct irq_data *data, unsigned int on)
{
return 0; /* always allow wakeup */
}

static void __init r8a7779_init_irq_common(void)
void __init r8a7779_init_irq_dt(void)
{
gic_arch_extn.irq_set_wake = r8a7779_set_wake;

irqchip_init();

/* route all interrupts to ARM */
__raw_writel(0xffffffff, INT2NTSR0);
__raw_writel(0x3fffffff, INT2NTSR1);
Expand All @@ -109,23 +112,6 @@ static void __init r8a7779_init_irq_common(void)
__raw_writel(0xfffbffdf, INT2SMSKCR2);
__raw_writel(0xbffffffc, INT2SMSKCR3);
__raw_writel(0x003fee3f, INT2SMSKCR4);
}

void __init r8a7779_init_irq(void)
{
void __iomem *gic_dist_base = IOMEM(0xf0001000);
void __iomem *gic_cpu_base = IOMEM(0xf0000100);

/* use GIC to handle interrupts */
gic_init(0, 29, gic_dist_base, gic_cpu_base);

r8a7779_init_irq_common();
}

#ifdef CONFIG_OF
void __init r8a7779_init_irq_dt(void)
{
irqchip_init();
r8a7779_init_irq_common();
}
#endif

0 comments on commit 693ac41

Please sign in to comment.