aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-exynos/mach-nuri.c9
-rw-r--r--arch/arm/mach-exynos/mach-smdkv310.c4
-rw-r--r--arch/arm/mach-exynos/mach-universal_c210.c10
-rw-r--r--arch/arm/mach-exynos/pm.c24
-rw-r--r--arch/arm/mach-s5pv210/mach-aquila.c3
-rw-r--r--arch/arm/mach-s5pv210/mach-goni.c6
-rw-r--r--arch/arm/mach-s5pv210/mach-smdkv210.c10
-rw-r--r--arch/arm/plat-s3c24xx/dma.c3
8 files changed, 15 insertions, 54 deletions
diff --git a/arch/arm/mach-exynos/mach-nuri.c b/arch/arm/mach-exynos/mach-nuri.c
index 236bbe18716..205dfed4121 100644
--- a/arch/arm/mach-exynos/mach-nuri.c
+++ b/arch/arm/mach-exynos/mach-nuri.c
@@ -247,13 +247,8 @@ static void nuri_lcd_power_on(struct plat_lcd_data *pd, unsigned int power)
247 247
248static int nuri_bl_init(struct device *dev) 248static int nuri_bl_init(struct device *dev)
249{ 249{
250 int ret, gpio = EXYNOS4_GPE2(3); 250 return gpio_request_one(EXYNOS4_GPE2(3), GPIOF_OUT_INIT_LOW,
251 251 "LCD_LD0_EN");
252 ret = gpio_request(gpio, "LCD_LDO_EN");
253 if (!ret)
254 gpio_direction_output(gpio, 0);
255
256 return ret;
257} 252}
258 253
259static int nuri_bl_notify(struct device *dev, int brightness) 254static int nuri_bl_notify(struct device *dev, int brightness)
diff --git a/arch/arm/mach-exynos/mach-smdkv310.c b/arch/arm/mach-exynos/mach-smdkv310.c
index cec2afabe7b..cbf31bd0e2c 100644
--- a/arch/arm/mach-exynos/mach-smdkv310.c
+++ b/arch/arm/mach-exynos/mach-smdkv310.c
@@ -129,9 +129,7 @@ static void lcd_lte480wv_set_power(struct plat_lcd_data *pd,
129 gpio_free(EXYNOS4_GPD0(1)); 129 gpio_free(EXYNOS4_GPD0(1));
130#endif 130#endif
131 /* fire nRESET on power up */ 131 /* fire nRESET on power up */
132 gpio_request(EXYNOS4_GPX0(6), "GPX0"); 132 gpio_request_one(EXYNOS4_GPX0(6), GPIOF_OUT_INIT_HIGH, "GPX0");
133
134 gpio_direction_output(EXYNOS4_GPX0(6), 1);
135 mdelay(100); 133 mdelay(100);
136 134
137 gpio_set_value(EXYNOS4_GPX0(6), 0); 135 gpio_set_value(EXYNOS4_GPX0(6), 0);
diff --git a/arch/arm/mach-exynos/mach-universal_c210.c b/arch/arm/mach-exynos/mach-universal_c210.c
index a2a177ff4b4..0a04cd643b0 100644
--- a/arch/arm/mach-exynos/mach-universal_c210.c
+++ b/arch/arm/mach-exynos/mach-universal_c210.c
@@ -608,8 +608,7 @@ static void __init universal_tsp_init(void)
608 608
609 /* TSP_LDO_ON: XMDMADDR_11 */ 609 /* TSP_LDO_ON: XMDMADDR_11 */
610 gpio = EXYNOS4_GPE2(3); 610 gpio = EXYNOS4_GPE2(3);
611 gpio_request(gpio, "TSP_LDO_ON"); 611 gpio_request_one(gpio, GPIOF_OUT_INIT_HIGH, "TSP_LDO_ON");
612 gpio_direction_output(gpio, 1);
613 gpio_export(gpio, 0); 612 gpio_export(gpio, 0);
614 613
615 /* TSP_INT: XMDMADDR_7 */ 614 /* TSP_INT: XMDMADDR_7 */
@@ -669,8 +668,7 @@ static void __init universal_touchkey_init(void)
669 i2c_gpio12_devs[0].irq = gpio_to_irq(gpio); 668 i2c_gpio12_devs[0].irq = gpio_to_irq(gpio);
670 669
671 gpio = EXYNOS4_GPE3(3); /* XMDMDATA_3 */ 670 gpio = EXYNOS4_GPE3(3); /* XMDMDATA_3 */
672 gpio_request(gpio, "3_TOUCH_EN"); 671 gpio_request_one(gpio, GPIOF_OUT_INIT_HIGH, "3_TOUCH_EN");
673 gpio_direction_output(gpio, 1);
674} 672}
675 673
676static struct s3c2410_platform_i2c universal_i2c0_platdata __initdata = { 674static struct s3c2410_platform_i2c universal_i2c0_platdata __initdata = {
@@ -1000,9 +998,7 @@ static void __init universal_map_io(void)
1000void s5p_tv_setup(void) 998void s5p_tv_setup(void)
1001{ 999{
1002 /* direct HPD to HDMI chip */ 1000 /* direct HPD to HDMI chip */
1003 gpio_request(EXYNOS4_GPX3(7), "hpd-plug"); 1001 gpio_request_one(EXYNOS4_GPX3(7), GPIOF_IN, "hpd-plug");
1004
1005 gpio_direction_input(EXYNOS4_GPX3(7));
1006 s3c_gpio_cfgpin(EXYNOS4_GPX3(7), S3C_GPIO_SFN(0x3)); 1002 s3c_gpio_cfgpin(EXYNOS4_GPX3(7), S3C_GPIO_SFN(0x3));
1007 s3c_gpio_setpull(EXYNOS4_GPX3(7), S3C_GPIO_PULL_NONE); 1003 s3c_gpio_setpull(EXYNOS4_GPX3(7), S3C_GPIO_PULL_NONE);
1008 1004
diff --git a/arch/arm/mach-exynos/pm.c b/arch/arm/mach-exynos/pm.c
index 509a435afd4..4093fea849c 100644
--- a/arch/arm/mach-exynos/pm.c
+++ b/arch/arm/mach-exynos/pm.c
@@ -23,6 +23,7 @@
23 23
24#include <asm/cacheflush.h> 24#include <asm/cacheflush.h>
25#include <asm/hardware/cache-l2x0.h> 25#include <asm/hardware/cache-l2x0.h>
26#include <asm/smp_scu.h>
26 27
27#include <plat/cpu.h> 28#include <plat/cpu.h>
28#include <plat/pm.h> 29#include <plat/pm.h>
@@ -213,27 +214,6 @@ static int exynos4_pm_add(struct sys_device *sysdev)
213 return 0; 214 return 0;
214} 215}
215 216
216/* This function copy from linux/arch/arm/kernel/smp_scu.c */
217
218void exynos4_scu_enable(void __iomem *scu_base)
219{
220 u32 scu_ctrl;
221
222 scu_ctrl = __raw_readl(scu_base);
223 /* already enabled? */
224 if (scu_ctrl & 1)
225 return;
226
227 scu_ctrl |= 1;
228 __raw_writel(scu_ctrl, scu_base);
229
230 /*
231 * Ensure that the data accessed by CPU0 before the SCU was
232 * initialised is visible to the other CPUs.
233 */
234 flush_cache_all();
235}
236
237static unsigned long pll_base_rate; 217static unsigned long pll_base_rate;
238 218
239static void exynos4_restore_pll(void) 219static void exynos4_restore_pll(void)
@@ -402,7 +382,7 @@ static void exynos4_pm_resume(void)
402 382
403 exynos4_restore_pll(); 383 exynos4_restore_pll();
404 384
405 exynos4_scu_enable(S5P_VA_SCU); 385 scu_enable(S5P_VA_SCU);
406 386
407#ifdef CONFIG_CACHE_L2X0 387#ifdef CONFIG_CACHE_L2X0
408 s3c_pm_do_restore_core(exynos4_l2cc_save, ARRAY_SIZE(exynos4_l2cc_save)); 388 s3c_pm_do_restore_core(exynos4_l2cc_save, ARRAY_SIZE(exynos4_l2cc_save));
diff --git a/arch/arm/mach-s5pv210/mach-aquila.c b/arch/arm/mach-s5pv210/mach-aquila.c
index 5811a96125f..404ac7aec3c 100644
--- a/arch/arm/mach-s5pv210/mach-aquila.c
+++ b/arch/arm/mach-s5pv210/mach-aquila.c
@@ -595,8 +595,7 @@ static struct s3c_sdhci_platdata aquila_hsmmc2_data __initdata = {
595 595
596static void aquila_setup_sdhci(void) 596static void aquila_setup_sdhci(void)
597{ 597{
598 gpio_request(AQUILA_EXT_FLASH_EN, "FLASH_EN"); 598 gpio_request_one(AQUILA_EXT_FLASH_EN, GPIOF_OUT_INIT_HIGH, "FLASH_EN");
599 gpio_direction_output(AQUILA_EXT_FLASH_EN, 1);
600 599
601 s3c_sdhci0_set_platdata(&aquila_hsmmc0_data); 600 s3c_sdhci0_set_platdata(&aquila_hsmmc0_data);
602 s3c_sdhci1_set_platdata(&aquila_hsmmc1_data); 601 s3c_sdhci1_set_platdata(&aquila_hsmmc1_data);
diff --git a/arch/arm/mach-s5pv210/mach-goni.c b/arch/arm/mach-s5pv210/mach-goni.c
index 15edcae448b..e2754e9bd6b 100644
--- a/arch/arm/mach-s5pv210/mach-goni.c
+++ b/arch/arm/mach-s5pv210/mach-goni.c
@@ -227,8 +227,7 @@ static void __init goni_radio_init(void)
227 i2c1_devs[0].irq = gpio_to_irq(gpio); 227 i2c1_devs[0].irq = gpio_to_irq(gpio);
228 228
229 gpio = S5PV210_GPJ2(5); /* XMSMDATA_5 */ 229 gpio = S5PV210_GPJ2(5); /* XMSMDATA_5 */
230 gpio_request(gpio, "FM_RST"); 230 gpio_request_one(gpio, GPIOF_OUT_INIT_HIGH, "FM_RST");
231 gpio_direction_output(gpio, 1);
232} 231}
233 232
234/* TSP */ 233/* TSP */
@@ -264,8 +263,7 @@ static void __init goni_tsp_init(void)
264 int gpio; 263 int gpio;
265 264
266 gpio = S5PV210_GPJ1(3); /* XMSMADDR_11 */ 265 gpio = S5PV210_GPJ1(3); /* XMSMADDR_11 */
267 gpio_request(gpio, "TSP_LDO_ON"); 266 gpio_request_one(gpio, GPIOF_OUT_INIT_HIGH, "TSP_LDO_ON");
268 gpio_direction_output(gpio, 1);
269 gpio_export(gpio, 0); 267 gpio_export(gpio, 0);
270 268
271 gpio = S5PV210_GPJ0(5); /* XMSMADDR_5 */ 269 gpio = S5PV210_GPJ0(5); /* XMSMADDR_5 */
diff --git a/arch/arm/mach-s5pv210/mach-smdkv210.c b/arch/arm/mach-s5pv210/mach-smdkv210.c
index 8662ef6e568..513db9234c4 100644
--- a/arch/arm/mach-s5pv210/mach-smdkv210.c
+++ b/arch/arm/mach-s5pv210/mach-smdkv210.c
@@ -153,15 +153,12 @@ static void smdkv210_lte480wv_set_power(struct plat_lcd_data *pd,
153{ 153{
154 if (power) { 154 if (power) {
155#if !defined(CONFIG_BACKLIGHT_PWM) 155#if !defined(CONFIG_BACKLIGHT_PWM)
156 gpio_request(S5PV210_GPD0(3), "GPD0"); 156 gpio_request_one(S5PV210_GPD0(3), GPIOF_OUT_INIT_HIGH, "GPD0");
157 gpio_direction_output(S5PV210_GPD0(3), 1);
158 gpio_free(S5PV210_GPD0(3)); 157 gpio_free(S5PV210_GPD0(3));
159#endif 158#endif
160 159
161 /* fire nRESET on power up */ 160 /* fire nRESET on power up */
162 gpio_request(S5PV210_GPH0(6), "GPH0"); 161 gpio_request_one(S5PV210_GPH0(6), GPIOF_OUT_INIT_HIGH, "GPH0");
163
164 gpio_direction_output(S5PV210_GPH0(6), 1);
165 162
166 gpio_set_value(S5PV210_GPH0(6), 0); 163 gpio_set_value(S5PV210_GPH0(6), 0);
167 mdelay(10); 164 mdelay(10);
@@ -172,8 +169,7 @@ static void smdkv210_lte480wv_set_power(struct plat_lcd_data *pd,
172 gpio_free(S5PV210_GPH0(6)); 169 gpio_free(S5PV210_GPH0(6));
173 } else { 170 } else {
174#if !defined(CONFIG_BACKLIGHT_PWM) 171#if !defined(CONFIG_BACKLIGHT_PWM)
175 gpio_request(S5PV210_GPD0(3), "GPD0"); 172 gpio_request_one(S5PV210_GPD0(3), GPIOF_OUT_INIT_LOW, "GPD0");
176 gpio_direction_output(S5PV210_GPD0(3), 0);
177 gpio_free(S5PV210_GPD0(3)); 173 gpio_free(S5PV210_GPD0(3));
178#endif 174#endif
179 } 175 }
diff --git a/arch/arm/plat-s3c24xx/dma.c b/arch/arm/plat-s3c24xx/dma.c
index 53754bcf15a..9fe35348e03 100644
--- a/arch/arm/plat-s3c24xx/dma.c
+++ b/arch/arm/plat-s3c24xx/dma.c
@@ -1437,11 +1437,10 @@ int __init s3c24xx_dma_init_map(struct s3c24xx_dma_selection *sel)
1437 size_t map_sz = sizeof(*nmap) * sel->map_size; 1437 size_t map_sz = sizeof(*nmap) * sel->map_size;
1438 int ptr; 1438 int ptr;
1439 1439
1440 nmap = kmalloc(map_sz, GFP_KERNEL); 1440 nmap = kmemdup(sel->map, map_sz, GFP_KERNEL);
1441 if (nmap == NULL) 1441 if (nmap == NULL)
1442 return -ENOMEM; 1442 return -ENOMEM;
1443 1443
1444 memcpy(nmap, sel->map, map_sz);
1445 memcpy(&dma_sel, sel, sizeof(*sel)); 1444 memcpy(&dma_sel, sel, sizeof(*sel));
1446 1445
1447 dma_sel.map = nmap; 1446 dma_sel.map = nmap;