diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-20 20:55:34 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-20 20:55:34 -0500 |
| commit | f3dc1294c8a40d7eedd676b65f42f0b828fd3d8c (patch) | |
| tree | 1d6c12f0513930728ef0be116f2ba24e5889cffc | |
| parent | af487e4209ef5e82b1932b8b15fd59efbd56a955 (diff) | |
| parent | 2727da8595d6a134502ce576b812f0bb0e3c14ed (diff) | |
Merge tag 'fixes2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC fixes part 2 from Olof Johansson:
"Here are a few more fixes for 3.8. Two branches of fixes for Samsung
platforms, including fixes for the audio build errors on all non-DT
platforms. There's also a fixup to the sunxi device-tree file renames
due to a bad patch application by me, and a fix for OMAP due to
function renames merged through the powerpc tree."
* tag 'fixes2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
ARM: OMAP2+: Fix compillation error in mach-omap2/timer.c
ARM: sunxi: rename device tree source files
ARM: EXYNOS: Avoid passing the clks through platform data
ARM: S5PV210: Avoid passing the clks through platform data
ARM: S5P64X0: Add I2S clkdev support
ARM: S5PC100: Add I2S clkdev support
ARM: S3C64XX: Add I2S clkdev support
ARM: EXYNOS: Fix MSHC clocks instance names
ARM: EXYNOS: Fix NULL pointer dereference bug in SMDKV310
ARM: EXYNOS: Fix NULL pointer dereference bug in SMDK4X12
ARM: EXYNOS: Fix NULL pointer dereference bug in Origen
ARM: SAMSUNG: Add missing include guard to gpio-core.h
pinctrl: exynos5440/samsung: Staticize pcfgs
pinctrl: samsung: Fix a typo in pinctrl-samsung.h
ARM: EXYNOS: fix skip scu_enable() for EXYNOS5440
ARM: EXYNOS: fix GIC using for EXYNOS5440
ARM: EXYNOS: fix build error when MFC is not selected
25 files changed, 204 insertions, 183 deletions
diff --git a/arch/arm/boot/dts/sun4i-cubieboard.dts b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts index 5cab82540437..5cab82540437 100644 --- a/arch/arm/boot/dts/sun4i-cubieboard.dts +++ b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts | |||
diff --git a/arch/arm/boot/dts/sun4i.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi index e61fdd47bd01..e61fdd47bd01 100644 --- a/arch/arm/boot/dts/sun4i.dtsi +++ b/arch/arm/boot/dts/sun4i-a10.dtsi | |||
diff --git a/arch/arm/boot/dts/sun5i-olinuxino.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts index 498a091a4ea2..498a091a4ea2 100644 --- a/arch/arm/boot/dts/sun5i-olinuxino.dts +++ b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts | |||
diff --git a/arch/arm/boot/dts/sun5i.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi index 59a2d265a98e..59a2d265a98e 100644 --- a/arch/arm/boot/dts/sun5i.dtsi +++ b/arch/arm/boot/dts/sun5i-a13.dtsi | |||
diff --git a/arch/arm/mach-exynos/clock-exynos4.c b/arch/arm/mach-exynos/clock-exynos4.c index efead60b9436..bbcb3dea0d40 100644 --- a/arch/arm/mach-exynos/clock-exynos4.c +++ b/arch/arm/mach-exynos/clock-exynos4.c | |||
| @@ -529,7 +529,7 @@ static struct clk exynos4_init_clocks_off[] = { | |||
| 529 | .enable = exynos4_clk_ip_fsys_ctrl, | 529 | .enable = exynos4_clk_ip_fsys_ctrl, |
| 530 | .ctrlbit = (1 << 8), | 530 | .ctrlbit = (1 << 8), |
| 531 | }, { | 531 | }, { |
| 532 | .name = "dwmmc", | 532 | .name = "biu", |
| 533 | .parent = &exynos4_clk_aclk_133.clk, | 533 | .parent = &exynos4_clk_aclk_133.clk, |
| 534 | .enable = exynos4_clk_ip_fsys_ctrl, | 534 | .enable = exynos4_clk_ip_fsys_ctrl, |
| 535 | .ctrlbit = (1 << 9), | 535 | .ctrlbit = (1 << 9), |
| @@ -1134,7 +1134,7 @@ static struct clksrc_clk exynos4_clksrcs[] = { | |||
| 1134 | .reg_div = { .reg = EXYNOS4_CLKDIV_MFC, .shift = 0, .size = 4 }, | 1134 | .reg_div = { .reg = EXYNOS4_CLKDIV_MFC, .shift = 0, .size = 4 }, |
| 1135 | }, { | 1135 | }, { |
| 1136 | .clk = { | 1136 | .clk = { |
| 1137 | .name = "sclk_dwmmc", | 1137 | .name = "ciu", |
| 1138 | .parent = &exynos4_clk_dout_mmc4.clk, | 1138 | .parent = &exynos4_clk_dout_mmc4.clk, |
| 1139 | .enable = exynos4_clksrc_mask_fsys_ctrl, | 1139 | .enable = exynos4_clksrc_mask_fsys_ctrl, |
| 1140 | .ctrlbit = (1 << 16), | 1140 | .ctrlbit = (1 << 16), |
diff --git a/arch/arm/mach-exynos/common.c b/arch/arm/mach-exynos/common.c index ddd4b72c6f9a..d6d0dc651089 100644 --- a/arch/arm/mach-exynos/common.c +++ b/arch/arm/mach-exynos/common.c | |||
| @@ -679,7 +679,8 @@ void __init exynos5_init_irq(void) | |||
| 679 | * Theses parameters should be NULL and 0 because EXYNOS4 | 679 | * Theses parameters should be NULL and 0 because EXYNOS4 |
| 680 | * uses GIC instead of VIC. | 680 | * uses GIC instead of VIC. |
| 681 | */ | 681 | */ |
| 682 | s5p_init_irq(NULL, 0); | 682 | if (!of_machine_is_compatible("samsung,exynos5440")) |
| 683 | s5p_init_irq(NULL, 0); | ||
| 683 | 684 | ||
| 684 | gic_arch_extn.irq_set_wake = s3c_irq_wake; | 685 | gic_arch_extn.irq_set_wake = s3c_irq_wake; |
| 685 | } | 686 | } |
diff --git a/arch/arm/mach-exynos/dev-audio.c b/arch/arm/mach-exynos/dev-audio.c index a1cb42c39590..9d1a60951d7b 100644 --- a/arch/arm/mach-exynos/dev-audio.c +++ b/arch/arm/mach-exynos/dev-audio.c | |||
| @@ -23,11 +23,6 @@ | |||
| 23 | #include <mach/irqs.h> | 23 | #include <mach/irqs.h> |
| 24 | #include <mach/regs-audss.h> | 24 | #include <mach/regs-audss.h> |
| 25 | 25 | ||
| 26 | static const char *rclksrc[] = { | ||
| 27 | [0] = "busclk", | ||
| 28 | [1] = "i2sclk", | ||
| 29 | }; | ||
| 30 | |||
| 31 | static int exynos4_cfg_i2s(struct platform_device *pdev) | 26 | static int exynos4_cfg_i2s(struct platform_device *pdev) |
| 32 | { | 27 | { |
| 33 | /* configure GPIO for i2s port */ | 28 | /* configure GPIO for i2s port */ |
| @@ -55,7 +50,6 @@ static struct s3c_audio_pdata i2sv5_pdata = { | |||
| 55 | .i2s = { | 50 | .i2s = { |
| 56 | .quirks = QUIRK_PRI_6CHAN | QUIRK_SEC_DAI | 51 | .quirks = QUIRK_PRI_6CHAN | QUIRK_SEC_DAI |
| 57 | | QUIRK_NEED_RSTCLR, | 52 | | QUIRK_NEED_RSTCLR, |
| 58 | .src_clk = rclksrc, | ||
| 59 | .idma_addr = EXYNOS4_AUDSS_INT_MEM, | 53 | .idma_addr = EXYNOS4_AUDSS_INT_MEM, |
| 60 | }, | 54 | }, |
| 61 | }, | 55 | }, |
| @@ -78,17 +72,11 @@ struct platform_device exynos4_device_i2s0 = { | |||
| 78 | }, | 72 | }, |
| 79 | }; | 73 | }; |
| 80 | 74 | ||
| 81 | static const char *rclksrc_v3[] = { | ||
| 82 | [0] = "sclk_i2s", | ||
| 83 | [1] = "no_such_clock", | ||
| 84 | }; | ||
| 85 | |||
| 86 | static struct s3c_audio_pdata i2sv3_pdata = { | 75 | static struct s3c_audio_pdata i2sv3_pdata = { |
| 87 | .cfg_gpio = exynos4_cfg_i2s, | 76 | .cfg_gpio = exynos4_cfg_i2s, |
| 88 | .type = { | 77 | .type = { |
| 89 | .i2s = { | 78 | .i2s = { |
| 90 | .quirks = QUIRK_NO_MUXPSR, | 79 | .quirks = QUIRK_NO_MUXPSR, |
| 91 | .src_clk = rclksrc_v3, | ||
| 92 | }, | 80 | }, |
| 93 | }, | 81 | }, |
| 94 | }; | 82 | }; |
diff --git a/arch/arm/mach-exynos/mach-exynos5-dt.c b/arch/arm/mach-exynos/mach-exynos5-dt.c index f038c8cadca4..e99d3d8f2bcf 100644 --- a/arch/arm/mach-exynos/mach-exynos5-dt.c +++ b/arch/arm/mach-exynos/mach-exynos5-dt.c | |||
| @@ -163,6 +163,7 @@ static char const *exynos5_dt_compat[] __initdata = { | |||
| 163 | 163 | ||
| 164 | static void __init exynos5_reserve(void) | 164 | static void __init exynos5_reserve(void) |
| 165 | { | 165 | { |
| 166 | #ifdef CONFIG_S5P_DEV_MFC | ||
| 166 | struct s5p_mfc_dt_meminfo mfc_mem; | 167 | struct s5p_mfc_dt_meminfo mfc_mem; |
| 167 | 168 | ||
| 168 | /* Reserve memory for MFC only if it's available */ | 169 | /* Reserve memory for MFC only if it's available */ |
| @@ -170,6 +171,7 @@ static void __init exynos5_reserve(void) | |||
| 170 | if (of_scan_flat_dt(s5p_fdt_find_mfc_mem, &mfc_mem)) | 171 | if (of_scan_flat_dt(s5p_fdt_find_mfc_mem, &mfc_mem)) |
| 171 | s5p_mfc_reserve_mem(mfc_mem.roff, mfc_mem.rsize, mfc_mem.loff, | 172 | s5p_mfc_reserve_mem(mfc_mem.roff, mfc_mem.rsize, mfc_mem.loff, |
| 172 | mfc_mem.lsize); | 173 | mfc_mem.lsize); |
| 174 | #endif | ||
| 173 | } | 175 | } |
| 174 | 176 | ||
| 175 | DT_MACHINE_START(EXYNOS5_DT, "SAMSUNG EXYNOS5 (Flattened Device Tree)") | 177 | DT_MACHINE_START(EXYNOS5_DT, "SAMSUNG EXYNOS5 (Flattened Device Tree)") |
diff --git a/arch/arm/mach-exynos/mach-origen.c b/arch/arm/mach-exynos/mach-origen.c index e6f4191cd14c..5e34b9c16196 100644 --- a/arch/arm/mach-exynos/mach-origen.c +++ b/arch/arm/mach-exynos/mach-origen.c | |||
| @@ -621,7 +621,7 @@ static struct pwm_lookup origen_pwm_lookup[] = { | |||
| 621 | PWM_LOOKUP("s3c24xx-pwm.0", 0, "pwm-backlight.0", NULL), | 621 | PWM_LOOKUP("s3c24xx-pwm.0", 0, "pwm-backlight.0", NULL), |
| 622 | }; | 622 | }; |
| 623 | 623 | ||
| 624 | #ifdef CONFIG_DRM_EXYNOS | 624 | #ifdef CONFIG_DRM_EXYNOS_FIMD |
| 625 | static struct exynos_drm_fimd_pdata drm_fimd_pdata = { | 625 | static struct exynos_drm_fimd_pdata drm_fimd_pdata = { |
| 626 | .panel = { | 626 | .panel = { |
| 627 | .timing = { | 627 | .timing = { |
| @@ -793,7 +793,7 @@ static void __init origen_machine_init(void) | |||
| 793 | s5p_i2c_hdmiphy_set_platdata(NULL); | 793 | s5p_i2c_hdmiphy_set_platdata(NULL); |
| 794 | s5p_hdmi_set_platdata(&hdmiphy_info, NULL, 0); | 794 | s5p_hdmi_set_platdata(&hdmiphy_info, NULL, 0); |
| 795 | 795 | ||
| 796 | #ifdef CONFIG_DRM_EXYNOS | 796 | #ifdef CONFIG_DRM_EXYNOS_FIMD |
| 797 | s5p_device_fimd0.dev.platform_data = &drm_fimd_pdata; | 797 | s5p_device_fimd0.dev.platform_data = &drm_fimd_pdata |
