diff options
-rw-r--r-- | drivers/mfd/twl6030-gpadc.c | 21 | ||||
-rw-r--r-- | include/linux/i2c/twl6030-gpadc.h | 3 |
2 files changed, 24 insertions, 0 deletions
diff --git a/drivers/mfd/twl6030-gpadc.c b/drivers/mfd/twl6030-gpadc.c index 8ee8a78..8a33784 100644 --- a/drivers/mfd/twl6030-gpadc.c +++ b/drivers/mfd/twl6030-gpadc.c @@ -852,6 +852,27 @@ out: } EXPORT_SYMBOL(twl6030_gpadc_conversion); +#ifdef CONFIG_MACH_TUNA +int twl6030_get_gpadc_conversion(int channel_no) +{ + struct twl6030_gpadc_request req; + int temp = 0; + int ret; + + req.channels = (1 << channel_no); + req.method = TWL6030_GPADC_SW2; + req.active = 0; + req.func_cb = NULL; + ret = twl6030_gpadc_conversion(&req); + if (ret < 0) + return ret; + if (req.rbuf[channel_no] > 0) + temp = req.rbuf[channel_no]; + + return temp; +} +#endif + static ssize_t show_channel(struct device *dev, struct device_attribute *devattr, char *buf) { diff --git a/include/linux/i2c/twl6030-gpadc.h b/include/linux/i2c/twl6030-gpadc.h index 8d952a7..fb6934a 100644 --- a/include/linux/i2c/twl6030-gpadc.h +++ b/include/linux/i2c/twl6030-gpadc.h @@ -148,5 +148,8 @@ struct twl6030_gpadc_user_parms { }; int twl6030_gpadc_conversion(struct twl6030_gpadc_request *conv); +#ifdef CONFIG_MACH_TUNA +int twl6030_get_gpadc_conversion(int channel_no); +#endif #endif |