Merge commit 'v2.6.36-rc1' into kbuild/rc-fixes
[pandora-kernel.git] / arch / arm / plat-samsung / include / plat / devs.h
1 /* arch/arm/plat-samsung/include/plat/devs.h
2  *
3  * Copyright (c) 2004 Simtec Electronics
4  * Ben Dooks <ben@simtec.co.uk>
5  *
6  * Header file for s3c2410 standard platform devices
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 #include <linux/platform_device.h>
13
14 struct s3c24xx_uart_resources {
15         struct resource         *resources;
16         unsigned long            nr_resources;
17 };
18
19 extern struct s3c24xx_uart_resources s3c2410_uart_resources[];
20 extern struct s3c24xx_uart_resources s3c64xx_uart_resources[];
21 extern struct s3c24xx_uart_resources s5p_uart_resources[];
22
23 extern struct platform_device *s3c24xx_uart_devs[];
24 extern struct platform_device *s3c24xx_uart_src[];
25
26 extern struct platform_device s3c_device_timer[];
27
28 extern struct platform_device s3c64xx_device_iis0;
29 extern struct platform_device s3c64xx_device_iis1;
30 extern struct platform_device s3c64xx_device_iisv4;
31
32 extern struct platform_device s3c64xx_device_spi0;
33 extern struct platform_device s3c64xx_device_spi1;
34
35 extern struct platform_device s3c64xx_device_pcm0;
36 extern struct platform_device s3c64xx_device_pcm1;
37
38 extern struct platform_device s3c64xx_device_ac97;
39
40 extern struct platform_device s3c_device_ts;
41
42 extern struct platform_device s3c_device_fb;
43 extern struct platform_device s3c_device_ohci;
44 extern struct platform_device s3c_device_lcd;
45 extern struct platform_device s3c_device_wdt;
46 extern struct platform_device s3c_device_i2c0;
47 extern struct platform_device s3c_device_i2c1;
48 extern struct platform_device s3c_device_i2c2;
49 extern struct platform_device s3c_device_rtc;
50 extern struct platform_device s3c_device_adc;
51 extern struct platform_device s3c_device_sdi;
52 extern struct platform_device s3c_device_iis;
53 extern struct platform_device s3c_device_hwmon;
54 extern struct platform_device s3c_device_hsmmc0;
55 extern struct platform_device s3c_device_hsmmc1;
56 extern struct platform_device s3c_device_hsmmc2;
57 extern struct platform_device s3c_device_hsmmc3;
58 extern struct platform_device s3c_device_cfcon;
59
60 extern struct platform_device s3c_device_spi0;
61 extern struct platform_device s3c_device_spi1;
62
63 extern struct platform_device s5pc100_device_spi0;
64 extern struct platform_device s5pc100_device_spi1;
65 extern struct platform_device s5pc100_device_spi2;
66 extern struct platform_device s5pv210_device_spi0;
67 extern struct platform_device s5pv210_device_spi1;
68 extern struct platform_device s5p6440_device_spi0;
69 extern struct platform_device s5p6440_device_spi1;
70
71 extern struct platform_device s3c_device_hwmon;
72
73 extern struct platform_device s3c_device_nand;
74 extern struct platform_device s3c_device_onenand;
75 extern struct platform_device s3c64xx_device_onenand1;
76 extern struct platform_device s5pc110_device_onenand;
77
78 extern struct platform_device s3c_device_usbgadget;
79 extern struct platform_device s3c_device_usb_hsotg;
80
81 extern struct platform_device s5pv210_device_ac97;
82 extern struct platform_device s5pv210_device_pcm0;
83 extern struct platform_device s5pv210_device_pcm1;
84 extern struct platform_device s5pv210_device_pcm2;
85 extern struct platform_device s5pv210_device_iis0;
86 extern struct platform_device s5pv210_device_iis1;
87 extern struct platform_device s5pv210_device_iis2;
88
89 extern struct platform_device s5p6442_device_pcm0;
90 extern struct platform_device s5p6442_device_pcm1;
91 extern struct platform_device s5p6442_device_iis0;
92 extern struct platform_device s5p6442_device_iis1;
93 extern struct platform_device s5p6442_device_spi;
94
95 extern struct platform_device s5p6440_device_pcm;
96 extern struct platform_device s5p6440_device_iis;
97
98 extern struct platform_device s5pc100_device_ac97;
99 extern struct platform_device s5pc100_device_pcm0;
100 extern struct platform_device s5pc100_device_pcm1;
101 extern struct platform_device s5pc100_device_iis0;
102 extern struct platform_device s5pc100_device_iis1;
103 extern struct platform_device s5pc100_device_iis2;
104
105 extern struct platform_device samsung_device_keypad;
106
107 extern struct platform_device s5p_device_fimc0;
108 extern struct platform_device s5p_device_fimc1;
109 extern struct platform_device s5p_device_fimc2;
110
111 /* s3c2440 specific devices */
112
113 #ifdef CONFIG_CPU_S3C2440
114
115 extern struct platform_device s3c_device_camif;
116 extern struct platform_device s3c_device_ac97;
117
118 #endif
119
120 /**
121  * s3c_set_platdata() - helper for setting platform data
122  * @pd: The default platform data for this device.
123  * @pdsize: The size of the platform data.
124  * @pdev: Pointer to the device to fill in.
125  *
126  * This helper replaces a number of calls that copy and then set the
127  * platform data of the device.
128  */
129 extern void *s3c_set_platdata(void *pd, size_t pdsize,
130                               struct platform_device *pdev);