Skip to content

Commit c07978b

Browse files
committed
Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC fixes from Olof Johansson: "Another week, another batch of fixes. All are small, contained, targeted fixes for explicit problems -- mostly build and boot failures across i.MX, OMAP, Renesas/Shmobile and Samsung." * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: ARM: imx6q: fix suspend regression caused by common clk migration ARM: OMAP4470: Fix OMAP4470 boot failure ARM: EXYNOS: Fix EXYNOS_DEV_DMA Kconfig entry ARM: OMAP2+: nand: fix build error when CONFIG_MTD_ONENAND_OMAP2=n ARM: shmobile: r8a7779: Route all interrupts to ARM ARM: shmobile: kzm9d: use late init machine hook ARM: shmobile: kzm9g: use late init machine hook ARM: mach-shmobile: armadillo800eva: Use late init machine hook ARM: SAMSUNG: Fix for S3C2412 EBI memory mapping ARM: mach-shmobile: add missing GPIO IRQ configuration on mackerel ARM: mach-shmobile: Fix build when SMP is enabled and EMEV2 is not enabled ARM: shmobile: sh7372: bugfix: chclr_offset base ARM: shmobile: sh73a0: bugfix: SY-DMAC number ARM: SAMSUNG: Should check for IS_ERR(clk) instead of NULL
2 parents 4f0f4af + 5d5474d commit c07978b

File tree

14 files changed

+37
-19
lines changed

14 files changed

+37
-19
lines changed

arch/arm/mach-exynos/Kconfig

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ config MACH_SMDKV310
212212
select EXYNOS_DEV_SYSMMU
213213
select EXYNOS4_DEV_AHCI
214214
select SAMSUNG_DEV_KEYPAD
215-
select EXYNOS4_DEV_DMA
215+
select EXYNOS_DEV_DMA
216216
select SAMSUNG_DEV_PWM
217217
select EXYNOS4_DEV_USB_OHCI
218218
select EXYNOS4_SETUP_FIMD0
@@ -264,7 +264,7 @@ config MACH_UNIVERSAL_C210
264264
select S5P_DEV_ONENAND
265265
select S5P_DEV_TV
266266
select EXYNOS_DEV_SYSMMU
267-
select EXYNOS4_DEV_DMA
267+
select EXYNOS_DEV_DMA
268268
select EXYNOS_DEV_DRM
269269
select EXYNOS4_SETUP_FIMD0
270270
select EXYNOS4_SETUP_I2C1
@@ -303,7 +303,7 @@ config MACH_NURI
303303
select S5P_DEV_MFC
304304
select S5P_DEV_USB_EHCI
305305
select S5P_SETUP_MIPIPHY
306-
select EXYNOS4_DEV_DMA
306+
select EXYNOS_DEV_DMA
307307
select EXYNOS_DEV_DRM
308308
select EXYNOS4_SETUP_FIMC
309309
select EXYNOS4_SETUP_FIMD0
@@ -341,7 +341,7 @@ config MACH_ORIGEN
341341
select SAMSUNG_DEV_PWM
342342
select EXYNOS_DEV_DRM
343343
select EXYNOS_DEV_SYSMMU
344-
select EXYNOS4_DEV_DMA
344+
select EXYNOS_DEV_DMA
345345
select EXYNOS4_DEV_USB_OHCI
346346
select EXYNOS4_SETUP_FIMD0
347347
select EXYNOS4_SETUP_SDHCI

arch/arm/mach-imx/clk-imx6q.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,13 +152,14 @@ enum mx6q_clks {
152152
ssi2, ssi3, uart_ipg, uart_serial, usboh3, usdhc1, usdhc2, usdhc3,
153153
usdhc4, vdo_axi, vpu_axi, cko1, pll1_sys, pll2_bus, pll3_usb_otg,
154154
pll4_audio, pll5_video, pll6_mlb, pll7_usb_host, pll8_enet, ssi1_ipg,
155-
ssi2_ipg, ssi3_ipg, clk_max
155+
ssi2_ipg, ssi3_ipg, rom,
156+
clk_max
156157
};
157158

158159
static struct clk *clk[clk_max];
159160

160161
static enum mx6q_clks const clks_init_on[] __initconst = {
161-
mmdc_ch0_axi, mmdc_ch1_axi,
162+
mmdc_ch0_axi, rom,
162163
};
163164

164165
int __init mx6q_clocks_init(void)
@@ -364,6 +365,7 @@ int __init mx6q_clocks_init(void)
364365
clk[gpmi_bch] = imx_clk_gate2("gpmi_bch", "usdhc4", base + 0x78, 26);
365366
clk[gpmi_io] = imx_clk_gate2("gpmi_io", "enfc", base + 0x78, 28);
366367
clk[gpmi_apb] = imx_clk_gate2("gpmi_apb", "usdhc3", base + 0x78, 30);
368+
clk[rom] = imx_clk_gate2("rom", "ahb", base + 0x7c, 0);
367369
clk[sata] = imx_clk_gate2("sata", "ipg", base + 0x7c, 4);
368370
clk[sdma] = imx_clk_gate2("sdma", "ahb", base + 0x7c, 6);
369371
clk[spba] = imx_clk_gate2("spba", "ipg", base + 0x7c, 12);

arch/arm/mach-omap2/board-flash.c

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -97,11 +97,6 @@ __init board_onenand_init(struct mtd_partition *onenand_parts,
9797

9898
gpmc_onenand_init(&board_onenand_data);
9999
}
100-
#else
101-
void
102-
__init board_onenand_init(struct mtd_partition *nor_parts, u8 nr_parts, u8 cs)
103-
{
104-
}
105100
#endif /* CONFIG_MTD_ONENAND_OMAP2 || CONFIG_MTD_ONENAND_OMAP2_MODULE */
106101

107102
#if defined(CONFIG_MTD_NAND_OMAP2) || \

arch/arm/mach-omap2/clock44xx_data.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3417,9 +3417,12 @@ int __init omap4xxx_clk_init(void)
34173417
if (cpu_is_omap443x()) {
34183418
cpu_mask = RATE_IN_4430;
34193419
cpu_clkflg = CK_443X;
3420-
} else if (cpu_is_omap446x()) {
3420+
} else if (cpu_is_omap446x() || cpu_is_omap447x()) {
34213421
cpu_mask = RATE_IN_4460 | RATE_IN_4430;
34223422
cpu_clkflg = CK_446X | CK_443X;
3423+
3424+
if (cpu_is_omap447x())
3425+
pr_warn("WARNING: OMAP4470 clock data incomplete!\n");
34233426
} else {
34243427
return 0;
34253428
}

arch/arm/mach-shmobile/board-armadillo800eva.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -779,6 +779,7 @@ DT_MACHINE_START(ARMADILLO800EVA_DT, "armadillo800eva")
779779
.init_irq = r8a7740_init_irq,
780780
.handle_irq = shmobile_handle_irq_intc,
781781
.init_machine = eva_init,
782+
.init_late = shmobile_init_late,
782783
.timer = &shmobile_timer,
783784
.dt_compat = eva_boards_compat_dt,
784785
MACHINE_END

arch/arm/mach-shmobile/board-kzm9d.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ DT_MACHINE_START(KZM9D_DT, "kzm9d")
8080
.init_irq = emev2_init_irq,
8181
.handle_irq = gic_handle_irq,
8282
.init_machine = kzm9d_add_standard_devices,
83+
.init_late = shmobile_init_late,
8384
.timer = &shmobile_timer,
8485
.dt_compat = kzm9d_boards_compat_dt,
8586
MACHINE_END

arch/arm/mach-shmobile/board-kzm9g.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -455,6 +455,7 @@ DT_MACHINE_START(KZM9G_DT, "kzm9g")
455455
.init_irq = sh73a0_init_irq,
456456
.handle_irq = gic_handle_irq,
457457
.init_machine = kzm_init,
458+
.init_late = shmobile_init_late,
458459
.timer = &shmobile_timer,
459460
.dt_compat = kzm9g_boards_compat_dt,
460461
MACHINE_END

arch/arm/mach-shmobile/board-mackerel.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1512,6 +1512,9 @@ static void __init mackerel_init(void)
15121512
gpio_request(GPIO_FN_SDHID0_1, NULL);
15131513
gpio_request(GPIO_FN_SDHID0_0, NULL);
15141514

1515+
/* SDHI0 PORT172 card-detect IRQ26 */
1516+
gpio_request(GPIO_FN_IRQ26_172, NULL);
1517+
15151518
#if !defined(CONFIG_MMC_SH_MMCIF) && !defined(CONFIG_MMC_SH_MMCIF_MODULE)
15161519
/* enable SDHI1 */
15171520
gpio_request(GPIO_FN_SDHICMD1, NULL);

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -475,9 +475,9 @@ static struct clk *late_main_clks[] = {
475475

476476
enum { MSTP001,
477477
MSTP129, MSTP128, MSTP127, MSTP126, MSTP125, MSTP118, MSTP116, MSTP100,
478-
MSTP219,
478+
MSTP219, MSTP218,
479479
MSTP207, MSTP206, MSTP204, MSTP203, MSTP202, MSTP201, MSTP200,
480-
MSTP331, MSTP329, MSTP325, MSTP323, MSTP318,
480+
MSTP331, MSTP329, MSTP325, MSTP323,
481481
MSTP314, MSTP313, MSTP312, MSTP311,
482482
MSTP303, MSTP302, MSTP301, MSTP300,
483483
MSTP411, MSTP410, MSTP403,
@@ -497,6 +497,7 @@ static struct clk mstp_clks[MSTP_NR] = {
497497
[MSTP116] = MSTP(&div4_clks[DIV4_HP], SMSTPCR1, 16, 0), /* IIC0 */
498498
[MSTP100] = MSTP(&div4_clks[DIV4_B], SMSTPCR1, 0, 0), /* LCDC0 */
499499
[MSTP219] = MSTP(&div6_clks[DIV6_SUB], SMSTPCR2, 19, 0), /* SCIFA7 */
500+
[MSTP218] = MSTP(&div4_clks[DIV4_HP], SMSTPCR2, 18, 0), /* SY-DMAC */
500501
[MSTP207] = MSTP(&div6_clks[DIV6_SUB], SMSTPCR2, 7, 0), /* SCIFA5 */
501502
[MSTP206] = MSTP(&div6_clks[DIV6_SUB], SMSTPCR2, 6, 0), /* SCIFB */
502503
[MSTP204] = MSTP(&div6_clks[DIV6_SUB], SMSTPCR2, 4, 0), /* SCIFA0 */
@@ -508,7 +509,6 @@ static struct clk mstp_clks[MSTP_NR] = {
508509
[MSTP329] = MSTP(&r_clk, SMSTPCR3, 29, 0), /* CMT10 */
509510
[MSTP325] = MSTP(&div6_clks[DIV6_SUB], SMSTPCR3, 25, 0), /* IrDA */
510511
[MSTP323] = MSTP(&div4_clks[DIV4_HP], SMSTPCR3, 23, 0), /* IIC1 */
511-
[MSTP318] = MSTP(&div4_clks[DIV4_HP], SMSTPCR3, 18, 0), /* SY-DMAC */
512512
[MSTP314] = MSTP(&div6_clks[DIV6_SDHI0], SMSTPCR3, 14, 0), /* SDHI0 */
513513
[MSTP313] = MSTP(&div6_clks[DIV6_SDHI1], SMSTPCR3, 13, 0), /* SDHI1 */
514514
[MSTP312] = MSTP(&div4_clks[DIV4_HP], SMSTPCR3, 12, 0), /* MMCIF0 */
@@ -552,6 +552,7 @@ static struct clk_lookup lookups[] = {
552552
CLKDEV_DEV_ID("i2c-sh_mobile.0", &mstp_clks[MSTP116]), /* I2C0 */
553553
CLKDEV_DEV_ID("sh_mobile_lcdc_fb.0", &mstp_clks[MSTP100]), /* LCDC0 */
554554
CLKDEV_DEV_ID("sh-sci.7", &mstp_clks[MSTP219]), /* SCIFA7 */
555+
CLKDEV_DEV_ID("sh-dma-engine.0", &mstp_clks[MSTP218]), /* SY-DMAC */
555556
CLKDEV_DEV_ID("sh-sci.5", &mstp_clks[MSTP207]), /* SCIFA5 */
556557
CLKDEV_DEV_ID("sh-sci.8", &mstp_clks[MSTP206]), /* SCIFB */
557558
CLKDEV_DEV_ID("sh-sci.0", &mstp_clks[MSTP204]), /* SCIFA0 */
@@ -563,7 +564,6 @@ static struct clk_lookup lookups[] = {
563564
CLKDEV_DEV_ID("sh_cmt.10", &mstp_clks[MSTP329]), /* CMT10 */
564565
CLKDEV_DEV_ID("sh_irda.0", &mstp_clks[MSTP325]), /* IrDA */
565566
CLKDEV_DEV_ID("i2c-sh_mobile.1", &mstp_clks[MSTP323]), /* I2C1 */
566-
CLKDEV_DEV_ID("sh-dma-engine.0", &mstp_clks[MSTP318]), /* SY-DMAC */
567567
CLKDEV_DEV_ID("sh_mobile_sdhi.0", &mstp_clks[MSTP314]), /* SDHI0 */
568568
CLKDEV_DEV_ID("sh_mobile_sdhi.1", &mstp_clks[MSTP313]), /* SDHI1 */
569569
CLKDEV_DEV_ID("sh_mmcif.0", &mstp_clks[MSTP312]), /* MMCIF0 */

arch/arm/mach-shmobile/intc-r8a7779.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@
3535
#define INT2SMSKCR3 0xfe7822ac
3636
#define INT2SMSKCR4 0xfe7822b0
3737

38+
#define INT2NTSR0 0xfe700060
39+
#define INT2NTSR1 0xfe700064
40+
3841
static int r8a7779_set_wake(struct irq_data *data, unsigned int on)
3942
{
4043
return 0; /* always allow wakeup */
@@ -49,6 +52,10 @@ void __init r8a7779_init_irq(void)
4952
gic_init(0, 29, gic_dist_base, gic_cpu_base);
5053
gic_arch_extn.irq_set_wake = r8a7779_set_wake;
5154

55+
/* route all interrupts to ARM */
56+
__raw_writel(0xffffffff, INT2NTSR0);
57+
__raw_writel(0x3fffffff, INT2NTSR1);
58+
5259
/* unmask all known interrupts in INTCS2 */
5360
__raw_writel(0xfffffff0, INT2SMSKCR0);
5461
__raw_writel(0xfff7ffff, INT2SMSKCR1);

0 commit comments

Comments
 (0)