]> bbs.cooldavid.org Git - net-next-2.6.git/blame - arch/arm/mach-mmp/include/mach/mmp2.h
[ARM] mmp: update twsi index
[net-next-2.6.git] / arch / arm / mach-mmp / include / mach / mmp2.h
CommitLineData
2f7e8fae
HZ
1#ifndef __ASM_MACH_MMP2_H
2#define __ASM_MACH_MMP2_H
3
4#include <linux/i2c.h>
5#include <mach/devices.h>
6#include <plat/i2c.h>
7
8extern struct pxa_device_desc mmp2_device_uart1;
9extern struct pxa_device_desc mmp2_device_uart2;
10extern struct pxa_device_desc mmp2_device_uart3;
11extern struct pxa_device_desc mmp2_device_uart4;
12extern struct pxa_device_desc mmp2_device_twsi1;
13extern struct pxa_device_desc mmp2_device_twsi2;
14extern struct pxa_device_desc mmp2_device_twsi3;
15extern struct pxa_device_desc mmp2_device_twsi4;
16extern struct pxa_device_desc mmp2_device_twsi5;
17extern struct pxa_device_desc mmp2_device_twsi6;
18
19static inline int mmp2_add_uart(int id)
20{
21 struct pxa_device_desc *d = NULL;
22
23 switch (id) {
24 case 1: d = &mmp2_device_uart1; break;
25 case 2: d = &mmp2_device_uart2; break;
26 case 3: d = &mmp2_device_uart3; break;
27 case 4: d = &mmp2_device_uart4; break;
28 default:
29 return -EINVAL;
30 }
31
32 return pxa_register_device(d, NULL, 0);
33}
34
35static inline int mmp2_add_twsi(int id, struct i2c_pxa_platform_data *data,
36 struct i2c_board_info *info, unsigned size)
37{
38 struct pxa_device_desc *d = NULL;
39 int ret;
40
41 switch (id) {
fed24055
HZ
42 case 1: d = &mmp2_device_twsi1; break;
43 case 2: d = &mmp2_device_twsi2; break;
44 case 3: d = &mmp2_device_twsi3; break;
45 case 4: d = &mmp2_device_twsi4; break;
46 case 5: d = &mmp2_device_twsi5; break;
47 case 6: d = &mmp2_device_twsi6; break;
2f7e8fae
HZ
48 default:
49 return -EINVAL;
50 }
51
fed24055 52 ret = i2c_register_board_info(id - 1, info, size);
2f7e8fae
HZ
53 if (ret)
54 return ret;
55
56 return pxa_register_device(d, data, sizeof(*data));
57}
58
59#endif /* __ASM_MACH_MMP2_H */
60