Skip to content

Commit a30e931

Browse files
committed
Merge tag 'renesas-soc-fixes-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into fixes
Merge "Renesas ARM Based SoC Fixes for v3.19" from Simon Horman: Renesas ARM Based SoC Fixes for v3.19 This pull request is based on the last round of SoC updates for v3.19, Fourth Round of Renesas ARM Based SoC Updates for v3.19, tagged as renesas-soc3-for-v3.19, merged into your next/soc branch and included in v3.19-rc1. - ARM: shmobile: r8a7740: Instantiate GIC from C board code in legacy builds Set .control_parent for all irqpin instances for sh73a0 SoC when booting using legacy C. - ARM: shmobile: r8a7740: Instantiate GIC from C board code in legacy builds This fixes a long standing problem which has been present since the sh73a0 SoC started using the INTC External IRQ pin driver. The patch that introduced the problem is 341eb54 ("ARM: shmobile: INTC External IRQ pin driver on sh73a0") which was included in v3.10. * tag 'renesas-soc-fixes-for-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: sh73a0 legacy: Set .control_parent for all irqpin instances ARM: shmobile: r8a7740: Instantiate GIC from C board code in legacy builds
2 parents 25217fe + b0ddb31 commit a30e931

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

arch/arm/mach-shmobile/setup-r8a7740.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -800,7 +800,14 @@ void __init r8a7740_init_irq_of(void)
800800
void __iomem *intc_msk_base = ioremap_nocache(0xe6900040, 0x10);
801801
void __iomem *pfc_inta_ctrl = ioremap_nocache(0xe605807c, 0x4);
802802

803+
#ifdef CONFIG_ARCH_SHMOBILE_LEGACY
804+
void __iomem *gic_dist_base = ioremap_nocache(0xc2800000, 0x1000);
805+
void __iomem *gic_cpu_base = ioremap_nocache(0xc2000000, 0x1000);
806+
807+
gic_init(0, 29, gic_dist_base, gic_cpu_base);
808+
#else
803809
irqchip_init();
810+
#endif
804811

805812
/* route signals to GIC */
806813
iowrite32(0x0, pfc_inta_ctrl);

arch/arm/mach-shmobile/setup-sh73a0.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -595,6 +595,7 @@ static struct platform_device ipmmu_device = {
595595

596596
static struct renesas_intc_irqpin_config irqpin0_platform_data = {
597597
.irq_base = irq_pin(0), /* IRQ0 -> IRQ7 */
598+
.control_parent = true,
598599
};
599600

600601
static struct resource irqpin0_resources[] = {
@@ -656,6 +657,7 @@ static struct platform_device irqpin1_device = {
656657

657658
static struct renesas_intc_irqpin_config irqpin2_platform_data = {
658659
.irq_base = irq_pin(16), /* IRQ16 -> IRQ23 */
660+
.control_parent = true,
659661
};
660662

661663
static struct resource irqpin2_resources[] = {
@@ -686,6 +688,7 @@ static struct platform_device irqpin2_device = {
686688

687689
static struct renesas_intc_irqpin_config irqpin3_platform_data = {
688690
.irq_base = irq_pin(24), /* IRQ24 -> IRQ31 */
691+
.control_parent = true,
689692
};
690693

691694
static struct resource irqpin3_resources[] = {

0 commit comments

Comments
 (0)