Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6
[pandora-kernel.git] / include / linux / mfd / tps6586x.h
1 #ifndef __LINUX_MFD_TPS6586X_H
2 #define __LINUX_MFD_TPS6586X_H
3
4 enum {
5         TPS6586X_ID_SM_0,
6         TPS6586X_ID_SM_1,
7         TPS6586X_ID_SM_2,
8         TPS6586X_ID_LDO_0,
9         TPS6586X_ID_LDO_1,
10         TPS6586X_ID_LDO_2,
11         TPS6586X_ID_LDO_3,
12         TPS6586X_ID_LDO_4,
13         TPS6586X_ID_LDO_5,
14         TPS6586X_ID_LDO_6,
15         TPS6586X_ID_LDO_7,
16         TPS6586X_ID_LDO_8,
17         TPS6586X_ID_LDO_9,
18         TPS6586X_ID_LDO_RTC,
19 };
20
21 struct tps6586x_subdev_info {
22         int             id;
23         const char      *name;
24         void            *platform_data;
25 };
26
27 struct tps6586x_platform_data {
28         int num_subdevs;
29         struct tps6586x_subdev_info *subdevs;
30
31         int gpio_base;
32 };
33
34 /*
35  * NOTE: the functions below are not intended for use outside
36  * of the TPS6586X sub-device drivers
37  */
38 extern int tps6586x_write(struct device *dev, int reg, uint8_t val);
39 extern int tps6586x_writes(struct device *dev, int reg, int len, uint8_t *val);
40 extern int tps6586x_read(struct device *dev, int reg, uint8_t *val);
41 extern int tps6586x_reads(struct device *dev, int reg, int len, uint8_t *val);
42 extern int tps6586x_set_bits(struct device *dev, int reg, uint8_t bit_mask);
43 extern int tps6586x_clr_bits(struct device *dev, int reg, uint8_t bit_mask);
44 extern int tps6586x_update(struct device *dev, int reg, uint8_t val,
45                            uint8_t mask);
46
47 #endif /*__LINUX_MFD_TPS6586X_H */