Commit | Line | Data |
---|---|---|
14c6b5e7 EM |
1 | #ifndef __ASM_MACH_PXA910_H |
2 | #define __ASM_MACH_PXA910_H | |
3 | ||
1a77920e | 4 | #include <linux/i2c.h> |
14c6b5e7 | 5 | #include <mach/devices.h> |
1a77920e | 6 | #include <plat/i2c.h> |
14c6b5e7 EM |
7 | |
8 | extern struct pxa_device_desc pxa910_device_uart1; | |
9 | extern struct pxa_device_desc pxa910_device_uart2; | |
1a77920e EM |
10 | extern struct pxa_device_desc pxa910_device_twsi0; |
11 | extern struct pxa_device_desc pxa910_device_twsi1; | |
14c6b5e7 EM |
12 | |
13 | static inline int pxa910_add_uart(int id) | |
14 | { | |
15 | struct pxa_device_desc *d = NULL; | |
16 | ||
17 | switch (id) { | |
18 | case 1: d = &pxa910_device_uart1; break; | |
19 | case 2: d = &pxa910_device_uart2; break; | |
20 | } | |
21 | ||
22 | if (d == NULL) | |
23 | return -EINVAL; | |
24 | ||
25 | return pxa_register_device(d, NULL, 0); | |
26 | } | |
1a77920e EM |
27 | |
28 | static inline int pxa910_add_twsi(int id, struct i2c_pxa_platform_data *data, | |
29 | struct i2c_board_info *info, unsigned size) | |
30 | { | |
31 | struct pxa_device_desc *d = NULL; | |
32 | int ret; | |
33 | ||
34 | switch (id) { | |
35 | case 0: d = &pxa910_device_twsi0; break; | |
36 | case 1: d = &pxa910_device_twsi1; break; | |
37 | default: | |
38 | return -EINVAL; | |
39 | } | |
40 | ||
41 | ret = i2c_register_board_info(id, info, size); | |
42 | if (ret) | |
43 | return ret; | |
44 | ||
45 | return pxa_register_device(d, data, sizeof(*data)); | |
46 | } | |
14c6b5e7 | 47 | #endif /* __ASM_MACH_PXA910_H */ |