diff options
author | Todd Fischer <todd.fischer@ridgerun.com> | 2010-04-08 03:04:55 -0400 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2010-05-27 19:37:38 -0400 |
commit | 31dd6a2672e337f5de188df3e5169ee732798236 (patch) | |
tree | d0a12a6622d9a32a107267a4479f6e12a495dbd3 /include/linux | |
parent | 4ce5ba5ba2dfc8186bf31fe7f2d23ff6b5384124 (diff) |
mfd: Add TPS6507x support
TPS6507x are multi function (PM, touchscreen) chipsets from TI.
This commit also changes the corresponding regulator driver from being
standalone to an MFD subdevice.
Signed-off-by: Todd Fischer <todd.fischer@ridgerun.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/mfd/tps6507x.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/include/linux/mfd/tps6507x.h b/include/linux/mfd/tps6507x.h index fd73af5fb95a..9543cb716428 100644 --- a/include/linux/mfd/tps6507x.h +++ b/include/linux/mfd/tps6507x.h | |||
@@ -131,6 +131,8 @@ | |||
131 | /* VDCDC MASK */ | 131 | /* VDCDC MASK */ |
132 | #define TPS6507X_DEFDCDCX_DCDC_MASK 0X3F | 132 | #define TPS6507X_DEFDCDCX_DCDC_MASK 0X3F |
133 | 133 | ||
134 | #define TPS6507X_MAX_REGISTER 0X19 | ||
135 | |||
134 | /** | 136 | /** |
135 | * struct tps6507x_board - packages regulator and touchscreen init data | 137 | * struct tps6507x_board - packages regulator and touchscreen init data |
136 | * @tps6507x_regulator_data: regulator initialization values | 138 | * @tps6507x_regulator_data: regulator initialization values |
@@ -142,4 +144,24 @@ struct tps6507x_board { | |||
142 | struct regulator_init_data *tps6507x_pmic_init_data; | 144 | struct regulator_init_data *tps6507x_pmic_init_data; |
143 | }; | 145 | }; |
144 | 146 | ||
147 | /** | ||
148 | * struct tps6507x_dev - tps6507x sub-driver chip access routines | ||
149 | * @read_dev() - I2C register read function | ||
150 | * @write_dev() - I2C register write function | ||
151 | * | ||
152 | * Device data may be used to access the TPS6507x chip | ||
153 | */ | ||
154 | |||
155 | struct tps6507x_dev { | ||
156 | struct device *dev; | ||
157 | struct i2c_client *i2c_client; | ||
158 | int (*read_dev)(struct tps6507x_dev *tps6507x, char reg, int size, | ||
159 | void *dest); | ||
160 | int (*write_dev)(struct tps6507x_dev *tps6507x, char reg, int size, | ||
161 | void *src); | ||
162 | |||
163 | /* Client devices */ | ||
164 | struct tps6507x_pmic *pmic; | ||
165 | }; | ||
166 | |||
145 | #endif /* __LINUX_MFD_TPS6507X_H */ | 167 | #endif /* __LINUX_MFD_TPS6507X_H */ |