diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-03-17 22:08:06 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-03-17 22:08:06 -0400 |
commit | 411f5c7a502769ccc0377c5ba36cb0b283847ba8 (patch) | |
tree | 2c3a29671e3f923de48c55f94194849264a7bf53 /arch/arm/plat-samsung | |
parent | 6d7ed21d17e640b120b902a314143e5ef4917a70 (diff) | |
parent | 9ced9f03d12d7539e86b0bff5bc750153c976c34 (diff) |
Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm: (289 commits)
davinci: DM644x EVM: register MUSB device earlier
davinci: add spi devices on tnetv107x evm
davinci: add ssp config for tnetv107x evm board
davinci: add tnetv107x ssp platform device
spi: add ti-ssp spi master driver
mfd: add driver for sequencer serial port
ARM: EXYNOS4: Implement Clock gating for System MMU
ARM: EXYNOS4: Enhancement of System MMU driver
ARM: EXYNOS4: Add support for gpio interrupts
ARM: S5P: Add function to register gpio interrupt bank data
ARM: S5P: Cleanup S5P gpio interrupt code
ARM: EXYNOS4: Add missing GPYx banks
ARM: S3C64XX: Fix section mismatch from cpufreq init
ARM: EXYNOS4: Add keypad device to the SMDKV310
ARM: EXYNOS4: Update clocks for keypad
ARM: EXYNOS4: Update keypad base address
ARM: EXYNOS4: Add keypad device helpers
ARM: EXYNOS4: Add support for SATA on ARMLEX4210
plat-nomadik: make GPIO interrupts work with cpuidle ApSleep
mach-u300: define a dummy filter function for coh901318
...
Fix up various conflicts in
- arch/arm/mach-exynos4/cpufreq.c
- arch/arm/mach-mxs/gpio.c
- drivers/net/Kconfig
- drivers/tty/serial/Kconfig
- drivers/tty/serial/Makefile
- drivers/usb/gadget/fsl_mxc_udc.c
- drivers/video/Kconfig
Diffstat (limited to 'arch/arm/plat-samsung')
-rw-r--r-- | arch/arm/plat-samsung/Kconfig | 13 | ||||
-rw-r--r-- | arch/arm/plat-samsung/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/plat-samsung/dev-pwm.c | 53 | ||||
-rw-r--r-- | arch/arm/plat-samsung/include/plat/cpu.h | 1 | ||||
-rw-r--r-- | arch/arm/plat-samsung/include/plat/devs.h | 25 | ||||
-rw-r--r-- | arch/arm/plat-samsung/include/plat/fimc-core.h | 5 | ||||
-rw-r--r-- | arch/arm/plat-samsung/include/plat/gpio-cfg.h | 16 | ||||
-rw-r--r-- | arch/arm/plat-samsung/include/plat/pd.h | 4 | ||||
-rw-r--r-- | arch/arm/plat-samsung/include/plat/sdhci.h | 63 | ||||
-rw-r--r-- | arch/arm/plat-samsung/pwm.c | 33 |
10 files changed, 139 insertions, 75 deletions
diff --git a/arch/arm/plat-samsung/Kconfig b/arch/arm/plat-samsung/Kconfig index 32be05cf82a3..be72100b81b4 100644 --- a/arch/arm/plat-samsung/Kconfig +++ b/arch/arm/plat-samsung/Kconfig | |||
@@ -273,6 +273,19 @@ config SAMSUNG_DEV_KEYPAD | |||
273 | help | 273 | help |
274 | Compile in platform device definitions for keypad | 274 | Compile in platform device definitions for keypad |
275 | 275 | ||
276 | config SAMSUNG_DEV_PWM | ||
277 | bool | ||
278 | default y if ARCH_S3C2410 | ||
279 | help | ||
280 | Compile in platform device definition for PWM Timer | ||
281 | |||
282 | config S3C24XX_PWM | ||
283 | bool "PWM device support" | ||
284 | select HAVE_PWM | ||
285 | help | ||
286 | Support for exporting the PWM timer blocks via the pwm device | ||
287 | system | ||
288 | |||
276 | # DMA | 289 | # DMA |
277 | 290 | ||
278 | config S3C_DMA | 291 | config S3C_DMA |
diff --git a/arch/arm/plat-samsung/Makefile b/arch/arm/plat-samsung/Makefile index 29932f88a8d6..e9de58a2e294 100644 --- a/arch/arm/plat-samsung/Makefile +++ b/arch/arm/plat-samsung/Makefile | |||
@@ -59,6 +59,7 @@ obj-$(CONFIG_SAMSUNG_DEV_ADC) += dev-adc.o | |||
59 | obj-$(CONFIG_SAMSUNG_DEV_IDE) += dev-ide.o | 59 | obj-$(CONFIG_SAMSUNG_DEV_IDE) += dev-ide.o |
60 | obj-$(CONFIG_SAMSUNG_DEV_TS) += dev-ts.o | 60 | obj-$(CONFIG_SAMSUNG_DEV_TS) += dev-ts.o |
61 | obj-$(CONFIG_SAMSUNG_DEV_KEYPAD) += dev-keypad.o | 61 | obj-$(CONFIG_SAMSUNG_DEV_KEYPAD) += dev-keypad.o |
62 | obj-$(CONFIG_SAMSUNG_DEV_PWM) += dev-pwm.o | ||
62 | 63 | ||
63 | # DMA support | 64 | # DMA support |
64 | 65 | ||
diff --git a/arch/arm/plat-samsung/dev-pwm.c b/arch/arm/plat-samsung/dev-pwm.c new file mode 100644 index 000000000000..dab47b0e1900 --- /dev/null +++ b/arch/arm/plat-samsung/dev-pwm.c | |||
@@ -0,0 +1,53 @@ | |||
1 | /* linux/arch/arm/plat-samsung/dev-pwm.c | ||
2 | * | ||
3 | * Copyright (c) 2011 Samsung Electronics Co., Ltd. | ||
4 | * http://www.samsung.com | ||
5 | * | ||
6 | * Copyright (c) 2007 Ben Dooks | ||
7 | * Copyright (c) 2008 Simtec Electronics | ||
8 | * Ben Dooks <ben@simtec.co.uk>, <ben-linux@fluff.org> | ||
9 | * | ||
10 | * S3C series device definition for the PWM timer | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or modify | ||
13 | * it under the terms of the GNU General Public License version 2 as | ||
14 | * published by the Free Software Foundation. | ||
15 | */ | ||
16 | |||
17 | #include <linux/kernel.h> | ||
18 | #include <linux/platform_device.h> | ||
19 | |||
20 | #include <mach/irqs.h> | ||
21 | |||
22 | #include <plat/devs.h> | ||
23 | |||
24 | #define TIMER_RESOURCE_SIZE (1) | ||
25 | |||
26 | #define TIMER_RESOURCE(_tmr, _irq) \ | ||
27 | (struct resource [TIMER_RESOURCE_SIZE]) { \ | ||
28 | [0] = { \ | ||
29 | .start = _irq, \ | ||
30 | .end = _irq, \ | ||
31 | .flags = IORESOURCE_IRQ \ | ||
32 | } \ | ||
33 | } | ||
34 | |||
35 | #define DEFINE_S3C_TIMER(_tmr_no, _irq) \ | ||
36 | .name = "s3c24xx-pwm", \ | ||
37 | .id = _tmr_no, \ | ||
38 | .num_resources = TIMER_RESOURCE_SIZE, \ | ||
39 | .resource = TIMER_RESOURCE(_tmr_no, _irq), \ | ||
40 | |||
41 | /* | ||
42 | * since we already have an static mapping for the timer, | ||
43 | * we do not bother setting any IO resource for the base. | ||
44 | */ | ||
45 | |||
46 | struct platform_device s3c_device_timer[] = { | ||
47 | [0] = { DEFINE_S3C_TIMER(0, IRQ_TIMER0) }, | ||
48 | [1] = { DEFINE_S3C_TIMER(1, IRQ_TIMER1) }, | ||
49 | [2] = { DEFINE_S3C_TIMER(2, IRQ_TIMER2) }, | ||
50 | [3] = { DEFINE_S3C_TIMER(3, IRQ_TIMER3) }, | ||
51 | [4] = { DEFINE_S3C_TIMER(4, IRQ_TIMER4) }, | ||
52 | }; | ||
53 | EXPORT_SYMBOL(s3c_device_timer); | ||
diff --git a/arch/arm/plat-samsung/include/plat/cpu.h b/arch/arm/plat-samsung/include/plat/cpu.h index 9addb3dfb4bc..cedfff51c82b 100644 --- a/arch/arm/plat-samsung/include/plat/cpu.h +++ b/arch/arm/plat-samsung/include/plat/cpu.h | |||
@@ -82,6 +82,7 @@ extern struct sysdev_class s3c64xx_sysclass; | |||
82 | extern struct sysdev_class s5p64x0_sysclass; | 82 | extern struct sysdev_class s5p64x0_sysclass; |
83 | extern struct sysdev_class s5p6442_sysclass; | 83 | extern struct sysdev_class s5p6442_sysclass; |
84 | extern struct sysdev_class s5pv210_sysclass; | 84 | extern struct sysdev_class s5pv210_sysclass; |
85 | extern struct sysdev_class exynos4_sysclass; | ||
85 | 86 | ||
86 | extern void (*s5pc1xx_idle)(void); | 87 | extern void (*s5pc1xx_idle)(void); |
87 | 88 | ||
diff --git a/arch/arm/plat-samsung/include/plat/devs.h b/arch/arm/plat-samsung/include/plat/devs.h index b4d208b42957..f0da6b70fba4 100644 --- a/arch/arm/plat-samsung/include/plat/devs.h +++ b/arch/arm/plat-samsung/include/plat/devs.h | |||
@@ -1,5 +1,8 @@ | |||
1 | /* arch/arm/plat-samsung/include/plat/devs.h | 1 | /* arch/arm/plat-samsung/include/plat/devs.h |
2 | * | 2 | * |
3 | * Copyright (c) 2011 Samsung Electronics Co., Ltd. | ||
4 | * http://www.samsung.com | ||
5 | * | ||
3 | * Copyright (c) 2004 Simtec Electronics | 6 | * Copyright (c) 2004 Simtec Electronics |
4 | * Ben Dooks <ben@simtec.co.uk> | 7 | * Ben Dooks <ben@simtec.co.uk> |
5 | * | 8 | * |
@@ -96,15 +99,16 @@ extern struct platform_device s5pv210_device_iis1; | |||
96 | extern struct platform_device s5pv210_device_iis2; | 99 | extern struct platform_device s5pv210_device_iis2; |
97 | extern struct platform_device s5pv210_device_spdif; | 100 | extern struct platform_device s5pv210_device_spdif; |
98 | 101 | ||
99 | extern struct platform_device s5pv310_device_ac97; | 102 | extern struct platform_device exynos4_device_ac97; |
100 | extern struct platform_device s5pv310_device_pcm0; | 103 | extern struct platform_device exynos4_device_pcm0; |
101 | extern struct platform_device s5pv310_device_pcm1; | 104 | extern struct platform_device exynos4_device_pcm1; |
102 | extern struct platform_device s5pv310_device_pcm2; | 105 | extern struct platform_device exynos4_device_pcm2; |
103 | extern struct platform_device s5pv310_device_i2s0; | 106 | extern struct platform_device exynos4_device_i2s0; |
104 | extern struct platform_device s5pv310_device_i2s1; | 107 | extern struct platform_device exynos4_device_i2s1; |
105 | extern struct platform_device s5pv310_device_i2s2; | 108 | extern struct platform_device exynos4_device_i2s2; |
106 | extern struct platform_device s5pv310_device_spdif; | 109 | extern struct platform_device exynos4_device_spdif; |
107 | extern struct platform_device s5pv310_device_pd[]; | 110 | extern struct platform_device exynos4_device_pd[]; |
111 | extern struct platform_device exynos4_device_ahci; | ||
108 | 112 | ||
109 | extern struct platform_device s5p6442_device_pcm0; | 113 | extern struct platform_device s5p6442_device_pcm0; |
110 | extern struct platform_device s5p6442_device_pcm1; | 114 | extern struct platform_device s5p6442_device_pcm1; |
@@ -133,11 +137,12 @@ extern struct platform_device samsung_device_keypad; | |||
133 | extern struct platform_device s5p_device_fimc0; | 137 | extern struct platform_device s5p_device_fimc0; |
134 | extern struct platform_device s5p_device_fimc1; | 138 | extern struct platform_device s5p_device_fimc1; |
135 | extern struct platform_device s5p_device_fimc2; | 139 | extern struct platform_device s5p_device_fimc2; |
140 | extern struct platform_device s5p_device_fimc3; | ||
136 | 141 | ||
137 | extern struct platform_device s5p_device_mipi_csis0; | 142 | extern struct platform_device s5p_device_mipi_csis0; |
138 | extern struct platform_device s5p_device_mipi_csis1; | 143 | extern struct platform_device s5p_device_mipi_csis1; |
139 | 144 | ||
140 | extern struct platform_device s5pv310_device_sysmmu; | 145 | extern struct platform_device exynos4_device_sysmmu; |
141 | 146 | ||
142 | /* s3c2440 specific devices */ | 147 | /* s3c2440 specific devices */ |
143 | 148 | ||
diff --git a/arch/arm/plat-samsung/include/plat/fimc-core.h b/arch/arm/plat-samsung/include/plat/fimc-core.h index 81a3bfeeccad..945a99d59563 100644 --- a/arch/arm/plat-samsung/include/plat/fimc-core.h +++ b/arch/arm/plat-samsung/include/plat/fimc-core.h | |||
@@ -38,6 +38,11 @@ static inline void s3c_fimc_setname(int id, char *name) | |||
38 | s5p_device_fimc2.name = name; | 38 | s5p_device_fimc2.name = name; |
39 | break; | 39 | break; |
40 | #endif | 40 | #endif |
41 | #ifdef CONFIG_S5P_DEV_FIMC3 | ||
42 | case 3: | ||
43 | s5p_device_fimc3.name = name; | ||
44 | break; | ||
45 | #endif | ||
41 | } | 46 | } |
42 | } | 47 | } |
43 | 48 | ||
diff --git a/arch/arm/plat-samsung/include/plat/gpio-cfg.h b/arch/arm/plat-samsung/include/plat/gpio-cfg.h index e4b5cf126fa9..5e04fa6eda74 100644 --- a/arch/arm/plat-samsung/include/plat/gpio-cfg.h +++ b/arch/arm/plat-samsung/include/plat/gpio-cfg.h | |||
@@ -225,4 +225,20 @@ extern int s5p_gpio_set_drvstr(unsigned int pin, s5p_gpio_drvstr_t drvstr); | |||
225 | */ | 225 | */ |
226 | extern int s5p_register_gpio_interrupt(int pin); | 226 | extern int s5p_register_gpio_interrupt(int pin); |
227 | 227 | ||
228 | /** s5p_register_gpioint_bank() - add gpio bank for further gpio interrupt | ||
229 | * registration (see s5p_register_gpio_interrupt function) | ||
230 | * @chain_irq: chained irq number for the gpio int handler for this bank | ||
231 | * @start: start gpio group number of this bank | ||
232 | * @nr_groups: number of gpio groups handled by this bank | ||
233 | * | ||
234 | * This functions registers initial information about gpio banks that | ||
235 | * can be later used by the s5p_register_gpio_interrupt() function to | ||
236 | * enable support for gpio interrupt for particular gpio group. | ||
237 | */ | ||
238 | #ifdef CONFIG_S5P_GPIO_INT | ||
239 | extern int s5p_register_gpioint_bank(int chain_irq, int start, int nr_groups); | ||
240 | #else | ||
241 | #define s5p_register_gpioint_bank(chain_irq, start, nr_groups) do { } while (0) | ||
242 | #endif | ||
243 | |||
228 | #endif /* __PLAT_GPIO_CFG_H */ | 244 | #endif /* __PLAT_GPIO_CFG_H */ |
diff --git a/arch/arm/plat-samsung/include/plat/pd.h b/arch/arm/plat-samsung/include/plat/pd.h index 5f0ad85783db..abb4bc32716a 100644 --- a/arch/arm/plat-samsung/include/plat/pd.h +++ b/arch/arm/plat-samsung/include/plat/pd.h | |||
@@ -1,6 +1,6 @@ | |||
1 | /* linux/arch/arm/plat-samsung/include/plat/pd.h | 1 | /* linux/arch/arm/plat-samsung/include/plat/pd.h |
2 | * | 2 | * |
3 | * Copyright (c) 2010 Samsung Electronics Co., Ltd. | 3 | * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd. |
4 | * http://www.samsung.com | 4 | * http://www.samsung.com |
5 | * | 5 | * |
6 | * This program is free software; you can redistribute it and/or modify | 6 | * This program is free software; you can redistribute it and/or modify |
@@ -17,7 +17,7 @@ struct samsung_pd_info { | |||
17 | void __iomem *base; | 17 | void __iomem *base; |
18 | }; | 18 | }; |
19 | 19 | ||
20 | enum s5pv310_pd_block { | 20 | enum exynos4_pd_block { |
21 | PD_MFC, | 21 | PD_MFC, |
22 | PD_G3D, | 22 | PD_G3D, |
23 | PD_LCD0, | 23 | PD_LCD0, |
diff --git a/arch/arm/plat-samsung/include/plat/sdhci.h b/arch/arm/plat-samsung/include/plat/sdhci.h index 5a41a0b69eec..b0bdf16549d5 100644 --- a/arch/arm/plat-samsung/include/plat/sdhci.h +++ b/arch/arm/plat-samsung/include/plat/sdhci.h | |||
@@ -1,4 +1,7 @@ | |||
1 | /* linux/arch/arm/plat-s3c/include/plat/sdhci.h | 1 | /* linux/arch/arm/plat-samsung/include/plat/sdhci.h |
2 | * | ||
3 | * Copyright (c) 2011 Samsung Electronics Co., Ltd. | ||
4 | * http://www.samsung.com | ||
2 | * | 5 | * |
3 | * Copyright 2008 Openmoko, Inc. | 6 | * Copyright 2008 Openmoko, Inc. |
4 | * Copyright 2008 Simtec Electronics | 7 | * Copyright 2008 Simtec Electronics |
@@ -119,10 +122,10 @@ extern void s5pv210_setup_sdhci0_cfg_gpio(struct platform_device *, int w); | |||
119 | extern void s5pv210_setup_sdhci1_cfg_gpio(struct platform_device *, int w); | 122 | extern void s5pv210_setup_sdhci1_cfg_gpio(struct platform_device *, int w); |
120 | extern void s5pv210_setup_sdhci2_cfg_gpio(struct platform_device *, int w); | 123 | extern void s5pv210_setup_sdhci2_cfg_gpio(struct platform_device *, int w); |
121 | extern void s5pv210_setup_sdhci3_cfg_gpio(struct platform_device *, int w); | 124 | extern void s5pv210_setup_sdhci3_cfg_gpio(struct platform_device *, int w); |
122 | extern void s5pv310_setup_sdhci0_cfg_gpio(struct platform_device *, int w); | 125 | extern void exynos4_setup_sdhci0_cfg_gpio(struct platform_device *, int w); |
123 | extern void s5pv310_setup_sdhci1_cfg_gpio(struct platform_device *, int w); | 126 | extern void exynos4_setup_sdhci1_cfg_gpio(struct platform_device *, int w); |
124 | extern void s5pv310_setup_sdhci2_cfg_gpio(struct platform_device *, int w); | 127 | extern void exynos4_setup_sdhci2_cfg_gpio(struct platform_device *, int w); |
125 | extern void s5pv310_setup_sdhci3_cfg_gpio(struct platform_device *, int w); | 128 | extern void exynos4_setup_sdhci3_cfg_gpio(struct platform_device *, int w); |
126 | 129 | ||
127 | /* S3C2416 SDHCI setup */ | 130 | /* S3C2416 SDHCI setup */ |
128 | 131 | ||
@@ -334,57 +337,57 @@ static inline void s5pv210_default_sdhci3(void) { } | |||
334 | 337 | ||
335 | #endif /* CONFIG_S5PV210_SETUP_SDHCI */ | 338 | #endif /* CONFIG_S5PV210_SETUP_SDHCI */ |
336 | 339 | ||
337 | /* S5PV310 SDHCI setup */ | 340 | /* EXYNOS4 SDHCI setup */ |
338 | #ifdef CONFIG_S5PV310_SETUP_SDHCI | 341 | #ifdef CONFIG_EXYNOS4_SETUP_SDHCI |
339 | extern char *s5pv310_hsmmc_clksrcs[4]; | 342 | extern char *exynos4_hsmmc_clksrcs[4]; |
340 | 343 | ||
341 | extern void s5pv310_setup_sdhci_cfg_card(struct platform_device *dev, | 344 | extern void exynos4_setup_sdhci_cfg_card(struct platform_device *dev, |
342 | void __iomem *r, | 345 | void __iomem *r, |
343 | struct mmc_ios *ios, | 346 | struct mmc_ios *ios, |
344 | struct mmc_card *card); | 347 | struct mmc_card *card); |
345 | 348 | ||
346 | static inline void s5pv310_default_sdhci0(void) | 349 | static inline void exynos4_default_sdhci0(void) |
347 | { | 350 | { |
348 | #ifdef CONFIG_S3C_DEV_HSMMC | 351 | #ifdef CONFIG_S3C_DEV_HSMMC |
349 | s3c_hsmmc0_def_platdata.clocks = s5pv310_hsmmc_clksrcs; | 352 | s3c_hsmmc0_def_platdata.clocks = exynos4_hsmmc_clksrcs; |
350 | s3c_hsmmc0_def_platdata.cfg_gpio = s5pv310_setup_sdhci0_cfg_gpio; | 353 | s3c_hsmmc0_def_platdata.cfg_gpio = exynos4_setup_sdhci0_cfg_gpio; |
351 | s3c_hsmmc0_def_platdata.cfg_card = s5pv310_setup_sdhci_cfg_card; | 354 | s3c_hsmmc0_def_platdata.cfg_card = exynos4_setup_sdhci_cfg_card; |
352 | #endif | 355 | #endif |
353 | } | 356 | } |
354 | 357 | ||
355 | static inline void s5pv310_default_sdhci1(void) | 358 | static inline void exynos4_default_sdhci1(void) |
356 | { | 359 | { |
357 | #ifdef CONFIG_S3C_DEV_HSMMC1 | 360 | #ifdef CONFIG_S3C_DEV_HSMMC1 |
358 | s3c_hsmmc1_def_platdata.clocks = s5pv310_hsmmc_clksrcs; | 361 | s3c_hsmmc1_def_platdata.clocks = exynos4_hsmmc_clksrcs; |
359 | s3c_hsmmc1_def_platdata.cfg_gpio = s5pv310_setup_sdhci1_cfg_gpio; | 362 | s3c_hsmmc1_def_platdata.cfg_gpio = exynos4_setup_sdhci1_cfg_gpio; |
360 | s3c_hsmmc1_def_platdata.cfg_card = s5pv310_setup_sdhci_cfg_card; | 363 | s3c_hsmmc1_def_platdata.cfg_card = exynos4_setup_sdhci_cfg_card; |
361 | #endif | 364 | #endif |
362 | } | 365 | } |
363 | 366 | ||
364 | static inline void s5pv310_default_sdhci2(void) | 367 | static inline void exynos4_default_sdhci2(void) |
365 | { | 368 | { |
366 | #ifdef CONFIG_S3C_DEV_HSMMC2 | 369 | #ifdef CONFIG_S3C_DEV_HSMMC2 |
367 | s3c_hsmmc2_def_platdata.clocks = s5pv310_hsmmc_clksrcs; | 370 | s3c_hsmmc2_def_platdata.clocks = exynos4_hsmmc_clksrcs; |
368 | s3c_hsmmc2_def_platdata.cfg_gpio = s5pv310_setup_sdhci2_cfg_gpio; | 371 | s3c_hsmmc2_def_platdata.cfg_gpio = exynos4_setup_sdhci2_cfg_gpio; |
369 | s3c_hsmmc2_def_platdata.cfg_card = s5pv310_setup_sdhci_cfg_card; | 372 | s3c_hsmmc2_def_platdata.cfg_card = exynos4_setup_sdhci_cfg_card; |
370 | #endif | 373 | #endif |
371 | } | 374 | } |
372 | 375 | ||
373 | static inline void s5pv310_default_sdhci3(void) | 376 | static inline void exynos4_default_sdhci3(void) |
374 | { | 377 | { |
375 | #ifdef CONFIG_S3C_DEV_HSMMC3 | 378 | #ifdef CONFIG_S3C_DEV_HSMMC3 |
376 | s3c_hsmmc3_def_platdata.clocks = s5pv310_hsmmc_clksrcs; | 379 | s3c_hsmmc3_def_platdata.clocks = exynos4_hsmmc_clksrcs; |
377 | s3c_hsmmc3_def_platdata.cfg_gpio = s5pv310_setup_sdhci3_cfg_gpio; | 380 | s3c_hsmmc3_def_platdata.cfg_gpio = exynos4_setup_sdhci3_cfg_gpio; |
378 | s3c_hsmmc3_def_platdata.cfg_card = s5pv310_setup_sdhci_cfg_card; | 381 | s3c_hsmmc3_def_platdata.cfg_card = exynos4_setup_sdhci_cfg_card; |
379 | #endif | 382 | #endif |
380 | } | 383 | } |
381 | 384 | ||
382 | #else | 385 | #else |
383 | static inline void s5pv310_default_sdhci0(void) { } | 386 | static inline void exynos4_default_sdhci0(void) { } |
384 | static inline void s5pv310_default_sdhci1(void) { } | 387 | static inline void exynos4_default_sdhci1(void) { } |
385 | static inline void s5pv310_default_sdhci2(void) { } | 388 | static inline void exynos4_default_sdhci2(void) { } |
386 | static inline void s5pv310_default_sdhci3(void) { } | 389 | static inline void exynos4_default_sdhci3(void) { } |
387 | 390 | ||
388 | #endif /* CONFIG_S5PV310_SETUP_SDHCI */ | 391 | #endif /* CONFIG_EXYNOS4_SETUP_SDHCI */ |
389 | 392 | ||
390 | #endif /* __PLAT_S3C_SDHCI_H */ | 393 | #endif /* __PLAT_S3C_SDHCI_H */ |
diff --git a/arch/arm/plat-samsung/pwm.c b/arch/arm/plat-samsung/pwm.c index 2eeb49fa056d..f37457c52064 100644 --- a/arch/arm/plat-samsung/pwm.c +++ b/arch/arm/plat-samsung/pwm.c | |||
@@ -20,10 +20,8 @@ | |||
20 | #include <linux/io.h> | 20 | #include <linux/io.h> |
21 | #include <linux/pwm.h> | 21 | #include <linux/pwm.h> |
22 | 22 | ||
23 | #include <mach/irqs.h> | ||
24 | #include <mach/map.h> | 23 | #include <mach/map.h> |
25 | 24 | ||
26 | #include <plat/devs.h> | ||
27 | #include <plat/regs-timer.h> | 25 | #include <plat/regs-timer.h> |
28 | 26 | ||
29 | struct pwm_device { | 27 | struct pwm_device { |
@@ -47,37 +45,6 @@ struct pwm_device { | |||
47 | 45 | ||
48 | static struct clk *clk_scaler[2]; | 46 | static struct clk *clk_scaler[2]; |
49 | 47 | ||
50 | /* Standard setup for a timer block. */ | ||
51 | |||
52 | #define TIMER_RESOURCE_SIZE (1) | ||
53 | |||
54 | #define TIMER_RESOURCE(_tmr, _irq) \ | ||
55 | (struct resource [TIMER_RESOURCE_SIZE]) { \ | ||
56 | [0] = { \ | ||
57 | .start = _irq, \ | ||
58 | .end = _irq, \ | ||
59 | .flags = IORESOURCE_IRQ \ | ||
60 | } \ | ||
61 | } | ||
62 | |||
63 | #define DEFINE_S3C_TIMER(_tmr_no, _irq) \ | ||
64 | .name = "s3c24xx-pwm", \ | ||
65 | .id = _tmr_no, \ | ||
66 | .num_resources = TIMER_RESOURCE_SIZE, \ | ||
67 | .resource = TIMER_RESOURCE(_tmr_no, _irq), \ | ||
68 | |||
69 | /* since we already have an static mapping for the timer, we do not | ||
70 | * bother setting any IO resource for the base. | ||
71 | */ | ||
72 | |||
73 | struct platform_device s3c_device_timer[] = { | ||
74 | [0] = { DEFINE_S3C_TIMER(0, IRQ_TIMER0) }, | ||
75 | [1] = { DEFINE_S3C_TIMER(1, IRQ_TIMER1) }, | ||
76 | [2] = { DEFINE_S3C_TIMER(2, IRQ_TIMER2) }, | ||
77 | [3] = { DEFINE_S3C_TIMER(3, IRQ_TIMER3) }, | ||
78 | [4] = { DEFINE_S3C_TIMER(4, IRQ_TIMER4) }, | ||
79 | }; | ||
80 | |||
81 | static inline int pwm_is_tdiv(struct pwm_device *pwm) | 48 | static inline int pwm_is_tdiv(struct pwm_device *pwm) |
82 | { | 49 | { |
83 | return clk_get_parent(pwm->clk) == pwm->clk_div; | 50 | return clk_get_parent(pwm->clk) == pwm->clk_div; |