aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-12-20 20:55:34 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2012-12-20 20:55:34 -0500
commitf3dc1294c8a40d7eedd676b65f42f0b828fd3d8c (patch)
tree1d6c12f0513930728ef0be116f2ba24e5889cffc
parentaf487e4209ef5e82b1932b8b15fd59efbd56a955 (diff)
parent2727da8595d6a134502ce576b812f0bb0e3c14ed (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
-rw-r--r--arch/arm/boot/dts/sun4i-a10-cubieboard.dts (renamed from arch/arm/boot/dts/sun4i-cubieboard.dts)0
-rw-r--r--arch/arm/boot/dts/sun4i-a10.dtsi (renamed from arch/arm/boot/dts/sun4i.dtsi)0
-rw-r--r--arch/arm/boot/dts/sun5i-a13-olinuxino.dts (renamed from arch/arm/boot/dts/sun5i-olinuxino.dts)0
-rw-r--r--arch/arm/boot/dts/sun5i-a13.dtsi (renamed from arch/arm/boot/dts/sun5i.dtsi)0
-rw-r--r--arch/arm/mach-exynos/clock-exynos4.c4
-rw-r--r--arch/arm/mach-exynos/common.c3
-rw-r--r--arch/arm/mach-exynos/dev-audio.c12
-rw-r--r--arch/arm/mach-exynos/mach-exynos5-dt.c2
-rw-r--r--arch/arm/mach-exynos/mach-origen.c4
-rw-r--r--arch/arm/mach-exynos/mach-smdk4x12.c4
-rw-r--r--arch/arm/mach-exynos/mach-smdkv310.c4
-rw-r--r--arch/arm/mach-exynos/platsmp.c2
-rw-r--r--arch/arm/mach-omap2/timer.c2
-rw-r--r--arch/arm/mach-s3c64xx/clock.c126
-rw-r--r--arch/arm/mach-s3c64xx/dev-audio.c11
-rw-r--r--arch/arm/mach-s5p64x0/clock-s5p6440.c49
-rw-r--r--arch/arm/mach-s5p64x0/clock-s5p6450.c61
-rw-r--r--arch/arm/mach-s5p64x0/dev-audio.c12
-rw-r--r--arch/arm/mach-s5pc100/clock.c48
-rw-r--r--arch/arm/mach-s5pc100/dev-audio.c16
-rw-r--r--arch/arm/mach-s5pv210/dev-audio.c16
-rw-r--r--arch/arm/plat-samsung/include/plat/gpio-core.h5
-rw-r--r--drivers/pinctrl/pinctrl-exynos5440.c2
-rw-r--r--drivers/pinctrl/pinctrl-samsung.c2
-rw-r--r--drivers/pinctrl/pinctrl-samsung.h2
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
26static const char *rclksrc[] = {
27 [0] = "busclk",
28 [1] = "i2sclk",
29};
30
31static int exynos4_cfg_i2s(struct platform_device *pdev) 26static 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
81static const char *rclksrc_v3[] = {
82 [0] = "sclk_i2s",
83 [1] = "no_such_clock",
84};
85
86static struct s3c_audio_pdata i2sv3_pdata = { 75static 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
164static void __init exynos5_reserve(void) 164static 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
175DT_MACHINE_START(EXYNOS5_DT, "SAMSUNG EXYNOS5 (Flattened Device Tree)") 177DT_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
625static struct exynos_drm_fimd_pdata drm_fimd_pdata = { 625static 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