Browse Source

Merge branch 'next-samsung-cleanup-samsung' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into samsung/cleanup

Olof Johansson 13 years ago
parent
commit
65db039bf7

+ 2 - 7
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)
 
 
 static int nuri_bl_init(struct device *dev)
 static int nuri_bl_init(struct device *dev)
 {
 {
-	int ret, gpio = EXYNOS4_GPE2(3);
-
-	ret = gpio_request(gpio, "LCD_LDO_EN");
-	if (!ret)
-		gpio_direction_output(gpio, 0);
-
-	return ret;
+	return gpio_request_one(EXYNOS4_GPE2(3), GPIOF_OUT_INIT_LOW,
+				"LCD_LD0_EN");
 }
 }
 
 
 static int nuri_bl_notify(struct device *dev, int brightness)
 static int nuri_bl_notify(struct device *dev, int brightness)

+ 1 - 3
arch/arm/mach-exynos/mach-smdkv310.c

@@ -129,9 +129,7 @@ static void lcd_lte480wv_set_power(struct plat_lcd_data *pd,
 		gpio_free(EXYNOS4_GPD0(1));
 		gpio_free(EXYNOS4_GPD0(1));
 #endif
 #endif
 		/* fire nRESET on power up */
 		/* fire nRESET on power up */
-		gpio_request(EXYNOS4_GPX0(6), "GPX0");
-
-		gpio_direction_output(EXYNOS4_GPX0(6), 1);
+		gpio_request_one(EXYNOS4_GPX0(6), GPIOF_OUT_INIT_HIGH, "GPX0");
 		mdelay(100);
 		mdelay(100);
 
 
 		gpio_set_value(EXYNOS4_GPX0(6), 0);
 		gpio_set_value(EXYNOS4_GPX0(6), 0);

+ 3 - 7
arch/arm/mach-exynos/mach-universal_c210.c

@@ -608,8 +608,7 @@ static void __init universal_tsp_init(void)
 
 
 	/* TSP_LDO_ON: XMDMADDR_11 */
 	/* TSP_LDO_ON: XMDMADDR_11 */
 	gpio = EXYNOS4_GPE2(3);
 	gpio = EXYNOS4_GPE2(3);
-	gpio_request(gpio, "TSP_LDO_ON");
-	gpio_direction_output(gpio, 1);
+	gpio_request_one(gpio, GPIOF_OUT_INIT_HIGH, "TSP_LDO_ON");
 	gpio_export(gpio, 0);
 	gpio_export(gpio, 0);
 
 
 	/* TSP_INT: XMDMADDR_7 */
 	/* TSP_INT: XMDMADDR_7 */
@@ -669,8 +668,7 @@ static void __init universal_touchkey_init(void)
 	i2c_gpio12_devs[0].irq = gpio_to_irq(gpio);
 	i2c_gpio12_devs[0].irq = gpio_to_irq(gpio);
 
 
 	gpio = EXYNOS4_GPE3(3);			/* XMDMDATA_3 */
 	gpio = EXYNOS4_GPE3(3);			/* XMDMDATA_3 */
-	gpio_request(gpio, "3_TOUCH_EN");
-	gpio_direction_output(gpio, 1);
+	gpio_request_one(gpio, GPIOF_OUT_INIT_HIGH, "3_TOUCH_EN");
 }
 }
 
 
 static struct s3c2410_platform_i2c universal_i2c0_platdata __initdata = {
 static struct s3c2410_platform_i2c universal_i2c0_platdata __initdata = {
@@ -1000,9 +998,7 @@ static void __init universal_map_io(void)
 void s5p_tv_setup(void)
 void s5p_tv_setup(void)
 {
 {
 	/* direct HPD to HDMI chip */
 	/* direct HPD to HDMI chip */
-	gpio_request(EXYNOS4_GPX3(7), "hpd-plug");
-
-	gpio_direction_input(EXYNOS4_GPX3(7));
+	gpio_request_one(EXYNOS4_GPX3(7), GPIOF_IN, "hpd-plug");
 	s3c_gpio_cfgpin(EXYNOS4_GPX3(7), S3C_GPIO_SFN(0x3));
 	s3c_gpio_cfgpin(EXYNOS4_GPX3(7), S3C_GPIO_SFN(0x3));
 	s3c_gpio_setpull(EXYNOS4_GPX3(7), S3C_GPIO_PULL_NONE);
 	s3c_gpio_setpull(EXYNOS4_GPX3(7), S3C_GPIO_PULL_NONE);
 
 

+ 2 - 22
arch/arm/mach-exynos/pm.c

@@ -23,6 +23,7 @@
 
 
 #include <asm/cacheflush.h>
 #include <asm/cacheflush.h>
 #include <asm/hardware/cache-l2x0.h>
 #include <asm/hardware/cache-l2x0.h>
+#include <asm/smp_scu.h>
 
 
 #include <plat/cpu.h>
 #include <plat/cpu.h>
 #include <plat/pm.h>
 #include <plat/pm.h>
@@ -213,27 +214,6 @@ static int exynos4_pm_add(struct sys_device *sysdev)
 	return 0;
 	return 0;
 }
 }
 
 
-/* This function copy from linux/arch/arm/kernel/smp_scu.c */
-
-void exynos4_scu_enable(void __iomem *scu_base)
-{
-	u32 scu_ctrl;
-
-	scu_ctrl = __raw_readl(scu_base);
-	/* already enabled? */
-	if (scu_ctrl & 1)
-		return;
-
-	scu_ctrl |= 1;
-	__raw_writel(scu_ctrl, scu_base);
-
-	/*
-	 * Ensure that the data accessed by CPU0 before the SCU was
-	 * initialised is visible to the other CPUs.
-	 */
-	flush_cache_all();
-}
-
 static unsigned long pll_base_rate;
 static unsigned long pll_base_rate;
 
 
 static void exynos4_restore_pll(void)
 static void exynos4_restore_pll(void)
@@ -402,7 +382,7 @@ static void exynos4_pm_resume(void)
 
 
 	exynos4_restore_pll();
 	exynos4_restore_pll();
 
 
-	exynos4_scu_enable(S5P_VA_SCU);
+	scu_enable(S5P_VA_SCU);
 
 
 #ifdef CONFIG_CACHE_L2X0
 #ifdef CONFIG_CACHE_L2X0
 	s3c_pm_do_restore_core(exynos4_l2cc_save, ARRAY_SIZE(exynos4_l2cc_save));
 	s3c_pm_do_restore_core(exynos4_l2cc_save, ARRAY_SIZE(exynos4_l2cc_save));

+ 1 - 2
arch/arm/mach-s5pv210/mach-aquila.c

@@ -595,8 +595,7 @@ static struct s3c_sdhci_platdata aquila_hsmmc2_data __initdata = {
 
 
 static void aquila_setup_sdhci(void)
 static void aquila_setup_sdhci(void)
 {
 {
-	gpio_request(AQUILA_EXT_FLASH_EN, "FLASH_EN");
-	gpio_direction_output(AQUILA_EXT_FLASH_EN, 1);
+	gpio_request_one(AQUILA_EXT_FLASH_EN, GPIOF_OUT_INIT_HIGH, "FLASH_EN");
 
 
 	s3c_sdhci0_set_platdata(&aquila_hsmmc0_data);
 	s3c_sdhci0_set_platdata(&aquila_hsmmc0_data);
 	s3c_sdhci1_set_platdata(&aquila_hsmmc1_data);
 	s3c_sdhci1_set_platdata(&aquila_hsmmc1_data);

+ 2 - 4
arch/arm/mach-s5pv210/mach-goni.c

@@ -227,8 +227,7 @@ static void __init goni_radio_init(void)
 	i2c1_devs[0].irq = gpio_to_irq(gpio);
 	i2c1_devs[0].irq = gpio_to_irq(gpio);
 
 
 	gpio = S5PV210_GPJ2(5);			/* XMSMDATA_5 */
 	gpio = S5PV210_GPJ2(5);			/* XMSMDATA_5 */
-	gpio_request(gpio, "FM_RST");
-	gpio_direction_output(gpio, 1);
+	gpio_request_one(gpio, GPIOF_OUT_INIT_HIGH, "FM_RST");
 }
 }
 
 
 /* TSP */
 /* TSP */
@@ -264,8 +263,7 @@ static void __init goni_tsp_init(void)
 	int gpio;
 	int gpio;
 
 
 	gpio = S5PV210_GPJ1(3);		/* XMSMADDR_11 */
 	gpio = S5PV210_GPJ1(3);		/* XMSMADDR_11 */
-	gpio_request(gpio, "TSP_LDO_ON");
-	gpio_direction_output(gpio, 1);
+	gpio_request_one(gpio, GPIOF_OUT_INIT_HIGH, "TSP_LDO_ON");
 	gpio_export(gpio, 0);
 	gpio_export(gpio, 0);
 
 
 	gpio = S5PV210_GPJ0(5);		/* XMSMADDR_5 */
 	gpio = S5PV210_GPJ0(5);		/* XMSMADDR_5 */

+ 3 - 7
arch/arm/mach-s5pv210/mach-smdkv210.c

@@ -153,15 +153,12 @@ static void smdkv210_lte480wv_set_power(struct plat_lcd_data *pd,
 {
 {
 	if (power) {
 	if (power) {
 #if !defined(CONFIG_BACKLIGHT_PWM)
 #if !defined(CONFIG_BACKLIGHT_PWM)
-		gpio_request(S5PV210_GPD0(3), "GPD0");
-		gpio_direction_output(S5PV210_GPD0(3), 1);
+		gpio_request_one(S5PV210_GPD0(3), GPIOF_OUT_INIT_HIGH, "GPD0");
 		gpio_free(S5PV210_GPD0(3));
 		gpio_free(S5PV210_GPD0(3));
 #endif
 #endif
 
 
 		/* fire nRESET on power up */
 		/* fire nRESET on power up */
-		gpio_request(S5PV210_GPH0(6), "GPH0");
-
-		gpio_direction_output(S5PV210_GPH0(6), 1);
+		gpio_request_one(S5PV210_GPH0(6), GPIOF_OUT_INIT_HIGH, "GPH0");
 
 
 		gpio_set_value(S5PV210_GPH0(6), 0);
 		gpio_set_value(S5PV210_GPH0(6), 0);
 		mdelay(10);
 		mdelay(10);
@@ -172,8 +169,7 @@ static void smdkv210_lte480wv_set_power(struct plat_lcd_data *pd,
 		gpio_free(S5PV210_GPH0(6));
 		gpio_free(S5PV210_GPH0(6));
 	} else {
 	} else {
 #if !defined(CONFIG_BACKLIGHT_PWM)
 #if !defined(CONFIG_BACKLIGHT_PWM)
-		gpio_request(S5PV210_GPD0(3), "GPD0");
-		gpio_direction_output(S5PV210_GPD0(3), 0);
+		gpio_request_one(S5PV210_GPD0(3), GPIOF_OUT_INIT_LOW, "GPD0");
 		gpio_free(S5PV210_GPD0(3));
 		gpio_free(S5PV210_GPD0(3));
 #endif
 #endif
 	}
 	}

+ 1 - 2
arch/arm/plat-s3c24xx/dma.c

@@ -1437,11 +1437,10 @@ int __init s3c24xx_dma_init_map(struct s3c24xx_dma_selection *sel)
 	size_t map_sz = sizeof(*nmap) * sel->map_size;
 	size_t map_sz = sizeof(*nmap) * sel->map_size;
 	int ptr;
 	int ptr;
 
 
-	nmap = kmalloc(map_sz, GFP_KERNEL);
+	nmap = kmemdup(sel->map, map_sz, GFP_KERNEL);
 	if (nmap == NULL)
 	if (nmap == NULL)
 		return -ENOMEM;
 		return -ENOMEM;
 
 
-	memcpy(nmap, sel->map, map_sz);
 	memcpy(&dma_sel, sel, sizeof(*sel));
 	memcpy(&dma_sel, sel, sizeof(*sel));
 
 
 	dma_sel.map = nmap;
 	dma_sel.map = nmap;