diff options
author | Olof Johansson <olof@lixom.net> | 2012-09-20 19:35:21 -0400 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2012-09-20 19:35:21 -0400 |
commit | 928487a1ceca5cd7e41bd78fa4a10098d8cc1ca9 (patch) | |
tree | 98ffaef4e16a6784520a31ed61a8706dc247dd10 /arch/arm | |
parent | 2203747c97712975accc5e69bdaf1ad38a691635 (diff) | |
parent | 98025c8c754391f5ea962fad788a6f2af02cb886 (diff) |
Merge branch 'samsung/cleanup' into next/cleanup
From Kukjin Kim:
Here, there are cleanup patches for Samsung v3.7 and most of them are
related to cleanup Samsung specific gpio API.
* samsung/cleanup:
gpio: samsung: Update documentation
ARM: S3C24XX: Use module_platform_driver macro in mach-osiris-dvs.c
ARM: S3C24XX: Use module_platform_driver macro in h1940-bluetooth.c
gpio-samsung: Remove now unused s3c2410_gpio* API
ARM: S3C24XX: Remove obsolete GPIO API declarations
ARM: S3C24XX: Convert users of s3c2410_gpio_setpin to gpiolib API
ARM: EXYNOS: cleanup unused code related to GPS
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-exynos/clock-exynos5.c | 9 | ||||
-rw-r--r-- | arch/arm/mach-exynos/include/mach/map.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-s3c24xx/h1940-bluetooth.c | 14 | ||||
-rw-r--r-- | arch/arm/mach-s3c24xx/mach-anubis.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-s3c24xx/mach-jive.c | 12 | ||||
-rw-r--r-- | arch/arm/mach-s3c24xx/mach-mini2440.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-s3c24xx/mach-nexcoder.c | 22 | ||||
-rw-r--r-- | arch/arm/mach-s3c24xx/mach-osiris-dvs.c | 13 | ||||
-rw-r--r-- | arch/arm/mach-s3c24xx/mach-osiris.c | 7 | ||||
-rw-r--r-- | arch/arm/plat-samsung/include/plat/gpio-fns.h | 97 |
10 files changed, 27 insertions, 155 deletions
diff --git a/arch/arm/mach-exynos/clock-exynos5.c b/arch/arm/mach-exynos/clock-exynos5.c index 774533c67066..3b00e299b624 100644 --- a/arch/arm/mach-exynos/clock-exynos5.c +++ b/arch/arm/mach-exynos/clock-exynos5.c | |||
@@ -166,11 +166,6 @@ static int exynos5_clk_ip_gen_ctrl(struct clk *clk, int enable) | |||
166 | return s5p_gatectrl(EXYNOS5_CLKGATE_IP_GEN, clk, enable); | 166 | return s5p_gatectrl(EXYNOS5_CLKGATE_IP_GEN, clk, enable); |
167 | } | 167 | } |
168 | 168 | ||
169 | static int exynos5_clk_ip_gps_ctrl(struct clk *clk, int enable) | ||
170 | { | ||
171 | return s5p_gatectrl(EXYNOS5_CLKGATE_IP_GPS, clk, enable); | ||
172 | } | ||
173 | |||
174 | static int exynos5_clk_ip_mfc_ctrl(struct clk *clk, int enable) | 169 | static int exynos5_clk_ip_mfc_ctrl(struct clk *clk, int enable) |
175 | { | 170 | { |
176 | return s5p_gatectrl(EXYNOS5_CLKGATE_IP_MFC, clk, enable); | 171 | return s5p_gatectrl(EXYNOS5_CLKGATE_IP_MFC, clk, enable); |
@@ -672,10 +667,6 @@ static struct clk exynos5_init_clocks_off[] = { | |||
672 | .enable = exynos5_clk_ip_fsys_ctrl, | 667 | .enable = exynos5_clk_ip_fsys_ctrl, |
673 | .ctrlbit = (1 << 7), | 668 | .ctrlbit = (1 << 7), |
674 | }, { | 669 | }, { |
675 | .name = "gps", | ||
676 | .enable = exynos5_clk_ip_gps_ctrl, | ||
677 | .ctrlbit = ((1 << 3) | (1 << 2) | (1 << 0)), | ||
678 | }, { | ||
679 | .name = "nfcon", | 670 | .name = "nfcon", |
680 | .enable = exynos5_clk_ip_fsys_ctrl, | 671 | .enable = exynos5_clk_ip_fsys_ctrl, |
681 | .ctrlbit = (1 << 22), | 672 | .ctrlbit = (1 << 22), |
diff --git a/arch/arm/mach-exynos/include/mach/map.h b/arch/arm/mach-exynos/include/mach/map.h index c72b675b3e4b..9d1f3ac86db2 100644 --- a/arch/arm/mach-exynos/include/mach/map.h +++ b/arch/arm/mach-exynos/include/mach/map.h | |||
@@ -131,7 +131,6 @@ | |||
131 | #define EXYNOS5_PA_SYSMMU_JPEG 0x11F20000 | 131 | #define EXYNOS5_PA_SYSMMU_JPEG 0x11F20000 |
132 | #define EXYNOS5_PA_SYSMMU_IOP 0x12360000 | 132 | #define EXYNOS5_PA_SYSMMU_IOP 0x12360000 |
133 | #define EXYNOS5_PA_SYSMMU_RTIC 0x12370000 | 133 | #define EXYNOS5_PA_SYSMMU_RTIC 0x12370000 |
134 | #define EXYNOS5_PA_SYSMMU_GPS 0x12630000 | ||
135 | #define EXYNOS5_PA_SYSMMU_ISP 0x13260000 | 134 | #define EXYNOS5_PA_SYSMMU_ISP 0x13260000 |
136 | #define EXYNOS5_PA_SYSMMU_DRC 0x12370000 | 135 | #define EXYNOS5_PA_SYSMMU_DRC 0x12370000 |
137 | #define EXYNOS5_PA_SYSMMU_SCALERC 0x13280000 | 136 | #define EXYNOS5_PA_SYSMMU_SCALERC 0x13280000 |
diff --git a/arch/arm/mach-s3c24xx/h1940-bluetooth.c b/arch/arm/mach-s3c24xx/h1940-bluetooth.c index a5eeb62ce1c2..57aee916bdb1 100644 --- a/arch/arm/mach-s3c24xx/h1940-bluetooth.c +++ b/arch/arm/mach-s3c24xx/h1940-bluetooth.c | |||
@@ -138,19 +138,7 @@ static struct platform_driver h1940bt_driver = { | |||
138 | .remove = h1940bt_remove, | 138 | .remove = h1940bt_remove, |
139 | }; | 139 | }; |
140 | 140 | ||
141 | 141 | module_platform_driver(h1940bt_driver); | |
142 | static int __init h1940bt_init(void) | ||
143 | { | ||
144 | return platform_driver_register(&h1940bt_driver); | ||
145 | } | ||
146 | |||
147 | static void __exit h1940bt_exit(void) | ||
148 | { | ||
149 | platform_driver_unregister(&h1940bt_driver); | ||
150 | } | ||
151 | |||
152 | module_init(h1940bt_init); | ||
153 | module_exit(h1940bt_exit); | ||
154 | 142 | ||
155 | MODULE_AUTHOR("Arnaud Patard <arnaud.patard@rtp-net.org>"); | 143 | MODULE_AUTHOR("Arnaud Patard <arnaud.patard@rtp-net.org>"); |
156 | MODULE_DESCRIPTION("Driver for the iPAQ H1940 bluetooth chip"); | 144 | MODULE_DESCRIPTION("Driver for the iPAQ H1940 bluetooth chip"); |
diff --git a/arch/arm/mach-s3c24xx/mach-anubis.c b/arch/arm/mach-s3c24xx/mach-anubis.c index 5a7d0c0010f7..0c7ed7a2b0cd 100644 --- a/arch/arm/mach-s3c24xx/mach-anubis.c +++ b/arch/arm/mach-s3c24xx/mach-anubis.c | |||
@@ -424,7 +424,8 @@ static void __init anubis_map_io(void) | |||
424 | anubis_nand_sets[0].nr_partitions = ARRAY_SIZE(anubis_default_nand_part_large); | 424 | anubis_nand_sets[0].nr_partitions = ARRAY_SIZE(anubis_default_nand_part_large); |
425 | } else { | 425 | } else { |
426 | /* ensure that the GPIO is setup */ | 426 | /* ensure that the GPIO is setup */ |
427 | s3c2410_gpio_setpin(S3C2410_GPA(0), 1); | 427 | gpio_request_one(S3C2410_GPA(0), GPIOF_OUT_INIT_HIGH, NULL); |
428 | gpio_free(S3C2410_GPA(0)); | ||
428 | } | 429 | } |
429 | } | 430 | } |
430 | 431 | ||
diff --git a/arch/arm/mach-s3c24xx/mach-jive.c b/arch/arm/mach-s3c24xx/mach-jive.c index ae73ba34ecc6..471334715c37 100644 --- a/arch/arm/mach-s3c24xx/mach-jive.c +++ b/arch/arm/mach-s3c24xx/mach-jive.c | |||
@@ -512,8 +512,8 @@ static void jive_power_off(void) | |||
512 | { | 512 | { |
513 | printk(KERN_INFO "powering system down...\n"); | 513 | printk(KERN_INFO "powering system down...\n"); |
514 | 514 | ||
515 | s3c2410_gpio_setpin(S3C2410_GPC(5), 1); | 515 | gpio_request_one(S3C2410_GPC(5), GPIOF_OUT_INIT_HIGH, NULL); |
516 | s3c_gpio_cfgpin(S3C2410_GPC(5), S3C2410_GPIO_OUTPUT); | 516 | gpio_free(S3C2410_GPC(5)); |
517 | } | 517 | } |
518 | 518 | ||
519 | static void __init jive_machine_init(void) | 519 | static void __init jive_machine_init(void) |
@@ -623,11 +623,11 @@ static void __init jive_machine_init(void) | |||
623 | gpio_request(S3C2410_GPB(7), "jive spi"); | 623 | gpio_request(S3C2410_GPB(7), "jive spi"); |
624 | gpio_direction_output(S3C2410_GPB(7), 1); | 624 | gpio_direction_output(S3C2410_GPB(7), 1); |
625 | 625 | ||
626 | s3c2410_gpio_setpin(S3C2410_GPB(6), 0); | 626 | gpio_request_one(S3C2410_GPB(6), GPIOF_OUT_INIT_LOW, NULL); |
627 | s3c_gpio_cfgpin(S3C2410_GPB(6), S3C2410_GPIO_OUTPUT); | 627 | gpio_free(S3C2410_GPB(6)); |
628 | 628 | ||
629 | s3c2410_gpio_setpin(S3C2410_GPG(8), 1); | 629 | gpio_request_one(S3C2410_GPG(8), GPIOF_OUT_INIT_HIGH, NULL); |
630 | s3c_gpio_cfgpin(S3C2410_GPG(8), S3C2410_GPIO_OUTPUT); | 630 | gpio_free(S3C2410_GPG(8)); |
631 | 631 | ||
632 | /* initialise the WM8750 spi */ | 632 | /* initialise the WM8750 spi */ |
633 | 633 | ||
diff --git a/arch/arm/mach-s3c24xx/mach-mini2440.c b/arch/arm/mach-s3c24xx/mach-mini2440.c index bd6d2525debe..734bbfe5ea22 100644 --- a/arch/arm/mach-s3c24xx/mach-mini2440.c +++ b/arch/arm/mach-s3c24xx/mach-mini2440.c | |||
@@ -638,9 +638,9 @@ static void __init mini2440_init(void) | |||
638 | gpio_free(S3C2410_GPG(4)); | 638 | gpio_free(S3C2410_GPG(4)); |
639 | 639 | ||
640 | /* remove pullup on optional PWM backlight -- unused on 3.5 and 7"s */ | 640 | /* remove pullup on optional PWM backlight -- unused on 3.5 and 7"s */ |
641 | gpio_request_one(S3C2410_GPB(1), GPIOF_IN, NULL); | ||
641 | s3c_gpio_setpull(S3C2410_GPB(1), S3C_GPIO_PULL_UP); | 642 | s3c_gpio_setpull(S3C2410_GPB(1), S3C_GPIO_PULL_UP); |
642 | s3c2410_gpio_setpin(S3C2410_GPB(1), 0); | 643 | gpio_free(S3C2410_GPB(1)); |
643 | s3c_gpio_cfgpin(S3C2410_GPB(1), S3C2410_GPIO_INPUT); | ||
644 | 644 | ||
645 | /* mark the key as input, without pullups (there is one on the board) */ | 645 | /* mark the key as input, without pullups (there is one on the board) */ |
646 | for (i = 0; i < ARRAY_SIZE(mini2440_buttons); i++) { | 646 | for (i = 0; i < ARRAY_SIZE(mini2440_buttons); i++) { |
diff --git a/arch/arm/mach-s3c24xx/mach-nexcoder.c b/arch/arm/mach-s3c24xx/mach-nexcoder.c index 5c05ba1c330f..a71a551094ef 100644 --- a/arch/arm/mach-s3c24xx/mach-nexcoder.c +++ b/arch/arm/mach-s3c24xx/mach-nexcoder.c | |||
@@ -119,17 +119,17 @@ static struct platform_device *nexcoder_devices[] __initdata = { | |||
119 | 119 | ||
120 | static void __init nexcoder_sensorboard_init(void) | 120 | static void __init nexcoder_sensorboard_init(void) |
121 | { | 121 | { |
122 | // Initialize SCCB bus | 122 | /* Initialize SCCB bus */ |
123 | s3c2410_gpio_setpin(S3C2410_GPE(14), 1); // IICSCL | 123 | gpio_request_one(S3C2410_GPE(14), GPIOF_OUT_INIT_HIGH, NULL); |
124 | s3c_gpio_cfgpin(S3C2410_GPE(14), S3C2410_GPIO_OUTPUT); | 124 | gpio_free(S3C2410_GPE(14)); /* IICSCL */ |
125 | s3c2410_gpio_setpin(S3C2410_GPE(15), 1); // IICSDA | 125 | gpio_request_one(S3C2410_GPE(15), GPIOF_OUT_INIT_HIGH, NULL); |
126 | s3c_gpio_cfgpin(S3C2410_GPE(15), S3C2410_GPIO_OUTPUT); | 126 | gpio_free(S3C2410_GPE(15)); /* IICSDA */ |
127 | 127 | ||
128 | // Power up the sensor board | 128 | /* Power up the sensor board */ |
129 | s3c2410_gpio_setpin(S3C2410_GPF(1), 1); | 129 | gpio_request_one(S3C2410_GPF(1), GPIOF_OUT_INIT_HIGH, NULL); |
130 | s3c_gpio_cfgpin(S3C2410_GPF(1), S3C2410_GPIO_OUTPUT); // CAM_GPIO7 => nLDO_PWRDN | 130 | gpio_free(S3C2410_GPF(1)); /* CAM_GPIO7 => nLDO_PWRDN */ |
131 | s3c2410_gpio_setpin(S3C2410_GPF(2), 0); | 131 | gpio_request_one(S3C2410_GPF(2), GPIOF_OUT_INIT_LOW, NULL); |
132 | s3c_gpio_cfgpin(S3C2410_GPF(2), S3C2410_GPIO_OUTPUT); // CAM_GPIO6 => CAM_PWRDN | 132 | gpio_free(S3C2410_GPF(2)); /* CAM_GPIO6 => CAM_PWRDN */ |
133 | } | 133 | } |
134 | 134 | ||
135 | static void __init nexcoder_map_io(void) | 135 | static void __init nexcoder_map_io(void) |
diff --git a/arch/arm/mach-s3c24xx/mach-osiris-dvs.c b/arch/arm/mach-s3c24xx/mach-osiris-dvs.c index ad2792dfbee1..5876c6ba7500 100644 --- a/arch/arm/mach-s3c24xx/mach-osiris-dvs.c +++ b/arch/arm/mach-s3c24xx/mach-osiris-dvs.c | |||
@@ -175,18 +175,7 @@ static struct platform_driver osiris_dvs_driver = { | |||
175 | }, | 175 | }, |
176 | }; | 176 | }; |
177 | 177 | ||
178 | static int __init osiris_dvs_init(void) | 178 | module_platform_driver(osiris_dvs_driver); |
179 | { | ||
180 | return platform_driver_register(&osiris_dvs_driver); | ||
181 | } | ||
182 | |||
183 | static void __exit osiris_dvs_exit(void) | ||
184 | { | ||
185 | platform_driver_unregister(&osiris_dvs_driver); | ||
186 | } | ||
187 | |||
188 | module_init(osiris_dvs_init); | ||
189 | module_exit(osiris_dvs_exit); | ||
190 | 179 | ||
191 | MODULE_DESCRIPTION("Simtec OSIRIS DVS support"); | 180 | MODULE_DESCRIPTION("Simtec OSIRIS DVS support"); |
192 | MODULE_AUTHOR("Ben Dooks <ben@simtec.co.uk>"); | 181 | MODULE_AUTHOR("Ben Dooks <ben@simtec.co.uk>"); |
diff --git a/arch/arm/mach-s3c24xx/mach-osiris.c b/arch/arm/mach-s3c24xx/mach-osiris.c index 95d077255024..c0fb3c1bc548 100644 --- a/arch/arm/mach-s3c24xx/mach-osiris.c +++ b/arch/arm/mach-s3c24xx/mach-osiris.c | |||
@@ -274,8 +274,8 @@ static int osiris_pm_suspend(void) | |||
274 | __raw_writeb(tmp, OSIRIS_VA_CTRL0); | 274 | __raw_writeb(tmp, OSIRIS_VA_CTRL0); |
275 | 275 | ||
276 | /* ensure that an nRESET is not generated on resume. */ | 276 | /* ensure that an nRESET is not generated on resume. */ |
277 | s3c2410_gpio_setpin(S3C2410_GPA(21), 1); | 277 | gpio_request_one(S3C2410_GPA(21), GPIOF_OUT_INIT_HIGH, NULL); |
278 | s3c_gpio_cfgpin(S3C2410_GPA(21), S3C2410_GPIO_OUTPUT); | 278 | gpio_free(S3C2410_GPA(21)); |
279 | 279 | ||
280 | return 0; | 280 | return 0; |
281 | } | 281 | } |
@@ -396,7 +396,8 @@ static void __init osiris_map_io(void) | |||
396 | osiris_nand_sets[0].nr_partitions = ARRAY_SIZE(osiris_default_nand_part_large); | 396 | osiris_nand_sets[0].nr_partitions = ARRAY_SIZE(osiris_default_nand_part_large); |
397 | } else { | 397 | } else { |
398 | /* write-protect line to the NAND */ | 398 | /* write-protect line to the NAND */ |
399 | s3c2410_gpio_setpin(S3C2410_GPA(0), 1); | 399 | gpio_request_one(S3C2410_GPA(0), GPIOF_OUT_INIT_HIGH, NULL); |
400 | gpio_free(S3C2410_GPA(0)); | ||
400 | } | 401 | } |
401 | 402 | ||
402 | /* fix bus configuration (nBE settings wrong on ABLE pre v2.20) */ | 403 | /* fix bus configuration (nBE settings wrong on ABLE pre v2.20) */ |
diff --git a/arch/arm/plat-samsung/include/plat/gpio-fns.h b/arch/arm/plat-samsung/include/plat/gpio-fns.h index bab139201761..d1ecef0e38e0 100644 --- a/arch/arm/plat-samsung/include/plat/gpio-fns.h +++ b/arch/arm/plat-samsung/include/plat/gpio-fns.h | |||
@@ -1,98 +1 @@ | |||
1 | /* arch/arm/mach-s3c2410/include/mach/gpio-fns.h | ||
2 | * | ||
3 | * Copyright (c) 2003-2009 Simtec Electronics | ||
4 | * Ben Dooks <ben@simtec.co.uk> | ||
5 | * | ||
6 | * S3C2410 - hardware | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | */ | ||
12 | |||
13 | #ifndef __MACH_GPIO_FNS_H | ||
14 | #define __MACH_GPIO_FNS_H __FILE__ | ||
15 | |||
16 | /* These functions are in the to-be-removed category and it is strongly | ||
17 | * encouraged not to use these in new code. They will be marked deprecated | ||
18 | * very soon. | ||
19 | * | ||
20 | * Most of the functionality can be either replaced by the gpiocfg calls | ||
21 | * for the s3c platform or by the generic GPIOlib API. | ||
22 | * | ||
23 | * As of 2.6.35-rc, these will be removed, with the few drivers using them | ||
24 | * either replaced or given a wrapper until the calls can be removed. | ||
25 | */ | ||
26 | |||
27 | #include <plat/gpio-cfg.h> | #include <plat/gpio-cfg.h> | |
28 | |||
29 | static inline void s3c2410_gpio_cfgpin(unsigned int pin, unsigned int cfg) | ||
30 | { | ||
31 | /* 1:1 mapping between cfgpin and setcfg calls at the moment */ | ||
32 | s3c_gpio_cfgpin(pin, cfg); | ||
33 | } | ||
34 | |||
35 | /* external functions for GPIO support | ||
36 | * | ||
37 | * These allow various different clients to access the same GPIO | ||
38 | * registers without conflicting. If your driver only owns the entire | ||
39 | * GPIO register, then it is safe to ioremap/__raw_{read|write} to it. | ||
40 | */ | ||
41 | |||
42 | extern unsigned int s3c2410_gpio_getcfg(unsigned int pin); | ||
43 | |||
44 | /* s3c2410_gpio_getirq | ||
45 | * | ||
46 | * turn the given pin number into the corresponding IRQ number | ||
47 | * | ||
48 | * returns: | ||
49 | * < 0 = no interrupt for this pin | ||
50 | * >=0 = interrupt number for the pin | ||
51 | */ | ||
52 | |||
53 | extern int s3c2410_gpio_getirq(unsigned int pin); | ||
54 | |||
55 | /* s3c2410_gpio_irqfilter | ||
56 | * | ||
57 | * set the irq filtering on the given pin | ||
58 | * | ||
59 | * on = 0 => disable filtering | ||
60 | * 1 => enable filtering | ||
61 | * | ||
62 | * config = S3C2410_EINTFLT_PCLK or S3C2410_EINTFLT_EXTCLK orred with | ||
63 | * width of filter (0 through 63) | ||
64 | * | ||
65 | * | ||
66 | */ | ||
67 | |||
68 | extern int s3c2410_gpio_irqfilter(unsigned int pin, unsigned int on, | ||
69 | unsigned int config); | ||
70 | |||
71 | /* s3c2410_gpio_pullup | ||
72 | * | ||
73 | * This call should be replaced with s3c_gpio_setpull(). | ||
74 | * | ||
75 | * As a note, there is currently no distinction between pull-up and pull-down | ||
76 | * in the s3c24xx series devices with only an on/off configuration. | ||
77 | */ | ||
78 | |||
79 | /* s3c2410_gpio_pullup | ||
80 | * | ||
81 | * configure the pull-up control on the given pin | ||
82 | * | ||
83 | * to = 1 => disable the pull-up | ||
84 | * 0 => enable the pull-up | ||
85 | * | ||
86 | * eg; | ||
87 | * | ||
88 | * s3c2410_gpio_pullup(S3C2410_GPB(0), 0); | ||
89 | * s3c2410_gpio_pullup(S3C2410_GPE(8), 0); | ||
90 | */ | ||
91 | |||
92 | extern void s3c2410_gpio_pullup(unsigned int pin, unsigned int to); | ||
93 | |||
94 | extern void s3c2410_gpio_setpin(unsigned int pin, unsigned int to); | ||
95 | |||
96 | extern unsigned int s3c2410_gpio_getpin(unsigned int pin); | ||
97 | |||
98 | #endif /* __MACH_GPIO_FNS_H */ | ||