* [PATCH 0/7] twl4030-madc cleanup
@ 2017-04-27 15:30 Sebastian Reichel
2017-04-27 15:30 ` [PATCH 1/7] hwmon: twl4030-madc: drop driver Sebastian Reichel
` (7 more replies)
0 siblings, 8 replies; 27+ messages in thread
From: Sebastian Reichel @ 2017-04-27 15:30 UTC (permalink / raw)
To: Sebastian Reichel, Jonathan Cameron, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler, Jean Delvare,
Guenter Roeck
Cc: J Keerthy, linux-iio, linux-hwmon, linux-kernel,
Sebastian Reichel
Hi,
Here are a few cleanup patches for the twl4030-madc
driver, that remove the last users of the driver's
legacy API and then remove it.
-- Sebastian
Sebastian Reichel (7):
hwmon: twl4030-madc: drop driver
power: supply: avoid unused twl4030-madc.h
iio: adc: twl4030: Drop twl4030_get_madc_conversion()
iio: adc: twl4030: Unexport twl4030_madc_conversion()
iio: adc: twl4030: Drop struct twl4030_madc_user_parms
iio: adc: twl4030: Remove twl4030_madc_request.func_cb
iio: adc: twl4030: Fold twl4030-madc.h into driver
drivers/hwmon/Kconfig | 10 --
drivers/hwmon/Makefile | 1 -
drivers/hwmon/twl4030-madc-hwmon.c | 118 ----------------
drivers/iio/adc/twl4030-madc.c | 209 +++++++++++++++-------------
drivers/power/supply/rx51_battery.c | 1 -
drivers/power/supply/twl4030_madc_battery.c | 1 -
include/linux/i2c/twl4030-madc.h | 147 -------------------
7 files changed, 115 insertions(+), 372 deletions(-)
delete mode 100644 drivers/hwmon/twl4030-madc-hwmon.c
delete mode 100644 include/linux/i2c/twl4030-madc.h
--
2.11.0
^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH 1/7] hwmon: twl4030-madc: drop driver
2017-04-27 15:30 [PATCH 0/7] twl4030-madc cleanup Sebastian Reichel
@ 2017-04-27 15:30 ` Sebastian Reichel
2017-04-27 16:51 ` Guenter Roeck
2017-04-27 15:30 ` [PATCH 2/7] power: supply: avoid unused twl4030-madc.h Sebastian Reichel
` (6 subsequent siblings)
7 siblings, 1 reply; 27+ messages in thread
From: Sebastian Reichel @ 2017-04-27 15:30 UTC (permalink / raw)
To: Sebastian Reichel, Jonathan Cameron, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler, Jean Delvare,
Guenter Roeck
Cc: J Keerthy, linux-iio, linux-hwmon, linux-kernel,
Sebastian Reichel
This driver is no longer needed:
* It has no mainline users
* It has no DT support and OMAP is DT only
* iio-hwmon can be used for madc, which also works with DT
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
---
drivers/hwmon/Kconfig | 10 ----
drivers/hwmon/Makefile | 1 -
drivers/hwmon/twl4030-madc-hwmon.c | 118 -------------------------------------
3 files changed, 129 deletions(-)
delete mode 100644 drivers/hwmon/twl4030-madc-hwmon.c
diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
index 0649d53f3d16..776d1ac2bfee 100644
--- a/drivers/hwmon/Kconfig
+++ b/drivers/hwmon/Kconfig
@@ -1643,16 +1643,6 @@ config SENSORS_TMP421
This driver can also be built as a module. If so, the module
will be called tmp421.
-config SENSORS_TWL4030_MADC
- tristate "Texas Instruments TWL4030 MADC Hwmon"
- depends on TWL4030_MADC
- help
- If you say yes here you get hwmon support for triton
- TWL4030-MADC.
-
- This driver can also be built as a module. If so it will be called
- twl4030-madc-hwmon.
-
config SENSORS_VEXPRESS
tristate "Versatile Express"
depends on VEXPRESS_CONFIG
diff --git a/drivers/hwmon/Makefile b/drivers/hwmon/Makefile
index 5509edf6186a..c05530d6cb6e 100644
--- a/drivers/hwmon/Makefile
+++ b/drivers/hwmon/Makefile
@@ -157,7 +157,6 @@ obj-$(CONFIG_SENSORS_TMP103) += tmp103.o
obj-$(CONFIG_SENSORS_TMP108) += tmp108.o
obj-$(CONFIG_SENSORS_TMP401) += tmp401.o
obj-$(CONFIG_SENSORS_TMP421) += tmp421.o
-obj-$(CONFIG_SENSORS_TWL4030_MADC)+= twl4030-madc-hwmon.o
obj-$(CONFIG_SENSORS_VEXPRESS) += vexpress-hwmon.o
obj-$(CONFIG_SENSORS_VIA_CPUTEMP)+= via-cputemp.o
obj-$(CONFIG_SENSORS_VIA686A) += via686a.o
diff --git a/drivers/hwmon/twl4030-madc-hwmon.c b/drivers/hwmon/twl4030-madc-hwmon.c
deleted file mode 100644
index b5caf7fdb487..000000000000
--- a/drivers/hwmon/twl4030-madc-hwmon.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- *
- * TWL4030 MADC Hwmon driver-This driver monitors the real time
- * conversion of analog signals like battery temperature,
- * battery type, battery level etc. User can ask for the conversion on a
- * particular channel using the sysfs nodes.
- *
- * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
- * J Keerthy <j-keerthy@ti.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA
- *
- */
-#include <linux/init.h>
-#include <linux/module.h>
-#include <linux/kernel.h>
-#include <linux/i2c/twl.h>
-#include <linux/device.h>
-#include <linux/platform_device.h>
-#include <linux/i2c/twl4030-madc.h>
-#include <linux/hwmon.h>
-#include <linux/hwmon-sysfs.h>
-#include <linux/stddef.h>
-#include <linux/sysfs.h>
-#include <linux/err.h>
-#include <linux/types.h>
-
-/*
- * sysfs hook function
- */
-static ssize_t madc_read(struct device *dev,
- struct device_attribute *devattr, char *buf)
-{
- struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
- struct twl4030_madc_request req = {
- .channels = 1 << attr->index,
- .method = TWL4030_MADC_SW2,
- .type = TWL4030_MADC_WAIT,
- };
- long val;
-
- val = twl4030_madc_conversion(&req);
- if (val < 0)
- return val;
-
- return sprintf(buf, "%d\n", req.rbuf[attr->index]);
-}
-
-/* sysfs nodes to read individual channels from user side */
-static SENSOR_DEVICE_ATTR(in0_input, S_IRUGO, madc_read, NULL, 0);
-static SENSOR_DEVICE_ATTR(temp1_input, S_IRUGO, madc_read, NULL, 1);
-static SENSOR_DEVICE_ATTR(in2_input, S_IRUGO, madc_read, NULL, 2);
-static SENSOR_DEVICE_ATTR(in3_input, S_IRUGO, madc_read, NULL, 3);
-static SENSOR_DEVICE_ATTR(in4_input, S_IRUGO, madc_read, NULL, 4);
-static SENSOR_DEVICE_ATTR(in5_input, S_IRUGO, madc_read, NULL, 5);
-static SENSOR_DEVICE_ATTR(in6_input, S_IRUGO, madc_read, NULL, 6);
-static SENSOR_DEVICE_ATTR(in7_input, S_IRUGO, madc_read, NULL, 7);
-static SENSOR_DEVICE_ATTR(in8_input, S_IRUGO, madc_read, NULL, 8);
-static SENSOR_DEVICE_ATTR(in9_input, S_IRUGO, madc_read, NULL, 9);
-static SENSOR_DEVICE_ATTR(curr10_input, S_IRUGO, madc_read, NULL, 10);
-static SENSOR_DEVICE_ATTR(in11_input, S_IRUGO, madc_read, NULL, 11);
-static SENSOR_DEVICE_ATTR(in12_input, S_IRUGO, madc_read, NULL, 12);
-static SENSOR_DEVICE_ATTR(in15_input, S_IRUGO, madc_read, NULL, 15);
-
-static struct attribute *twl4030_madc_attrs[] = {
- &sensor_dev_attr_in0_input.dev_attr.attr,
- &sensor_dev_attr_temp1_input.dev_attr.attr,
- &sensor_dev_attr_in2_input.dev_attr.attr,
- &sensor_dev_attr_in3_input.dev_attr.attr,
- &sensor_dev_attr_in4_input.dev_attr.attr,
- &sensor_dev_attr_in5_input.dev_attr.attr,
- &sensor_dev_attr_in6_input.dev_attr.attr,
- &sensor_dev_attr_in7_input.dev_attr.attr,
- &sensor_dev_attr_in8_input.dev_attr.attr,
- &sensor_dev_attr_in9_input.dev_attr.attr,
- &sensor_dev_attr_curr10_input.dev_attr.attr,
- &sensor_dev_attr_in11_input.dev_attr.attr,
- &sensor_dev_attr_in12_input.dev_attr.attr,
- &sensor_dev_attr_in15_input.dev_attr.attr,
- NULL
-};
-ATTRIBUTE_GROUPS(twl4030_madc);
-
-static int twl4030_madc_hwmon_probe(struct platform_device *pdev)
-{
- struct device *hwmon;
-
- hwmon = devm_hwmon_device_register_with_groups(&pdev->dev,
- "twl4030_madc", NULL,
- twl4030_madc_groups);
- return PTR_ERR_OR_ZERO(hwmon);
-}
-
-static struct platform_driver twl4030_madc_hwmon_driver = {
- .probe = twl4030_madc_hwmon_probe,
- .driver = {
- .name = "twl4030_madc_hwmon",
- },
-};
-
-module_platform_driver(twl4030_madc_hwmon_driver);
-
-MODULE_DESCRIPTION("TWL4030 ADC Hwmon driver");
-MODULE_LICENSE("GPL");
-MODULE_AUTHOR("J Keerthy");
-MODULE_ALIAS("platform:twl4030_madc_hwmon");
--
2.11.0
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH 2/7] power: supply: avoid unused twl4030-madc.h
2017-04-27 15:30 [PATCH 0/7] twl4030-madc cleanup Sebastian Reichel
2017-04-27 15:30 ` [PATCH 1/7] hwmon: twl4030-madc: drop driver Sebastian Reichel
@ 2017-04-27 15:30 ` Sebastian Reichel
2017-05-01 11:51 ` Sebastian Reichel
2017-04-27 15:30 ` [PATCH 3/7] iio: adc: twl4030: Drop twl4030_get_madc_conversion() Sebastian Reichel
` (5 subsequent siblings)
7 siblings, 1 reply; 27+ messages in thread
From: Sebastian Reichel @ 2017-04-27 15:30 UTC (permalink / raw)
To: Sebastian Reichel, Jonathan Cameron, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler, Jean Delvare,
Guenter Roeck
Cc: J Keerthy, linux-iio, linux-hwmon, linux-kernel,
Sebastian Reichel
Avoid inclusion of unused twl4030-madc.h. This
will allow twl4030-madc.h to be merged into the
iio driver.
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
---
drivers/power/supply/rx51_battery.c | 1 -
drivers/power/supply/twl4030_madc_battery.c | 1 -
2 files changed, 2 deletions(-)
diff --git a/drivers/power/supply/rx51_battery.c b/drivers/power/supply/rx51_battery.c
index af9383d23d12..5654708b1279 100644
--- a/drivers/power/supply/rx51_battery.c
+++ b/drivers/power/supply/rx51_battery.c
@@ -23,7 +23,6 @@
#include <linux/platform_device.h>
#include <linux/power_supply.h>
#include <linux/slab.h>
-#include <linux/i2c/twl4030-madc.h>
#include <linux/iio/consumer.h>
#include <linux/of.h>
diff --git a/drivers/power/supply/twl4030_madc_battery.c b/drivers/power/supply/twl4030_madc_battery.c
index f5817e422d64..4d41acb98576 100644
--- a/drivers/power/supply/twl4030_madc_battery.c
+++ b/drivers/power/supply/twl4030_madc_battery.c
@@ -17,7 +17,6 @@
#include <linux/power_supply.h>
#include <linux/slab.h>
#include <linux/sort.h>
-#include <linux/i2c/twl4030-madc.h>
#include <linux/power/twl4030_madc_battery.h>
#include <linux/iio/consumer.h>
--
2.11.0
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH 3/7] iio: adc: twl4030: Drop twl4030_get_madc_conversion()
2017-04-27 15:30 [PATCH 0/7] twl4030-madc cleanup Sebastian Reichel
2017-04-27 15:30 ` [PATCH 1/7] hwmon: twl4030-madc: drop driver Sebastian Reichel
2017-04-27 15:30 ` [PATCH 2/7] power: supply: avoid unused twl4030-madc.h Sebastian Reichel
@ 2017-04-27 15:30 ` Sebastian Reichel
2017-04-30 16:35 ` Jonathan Cameron
2017-04-27 15:30 ` [PATCH 4/7] iio: adc: twl4030: Unexport twl4030_madc_conversion() Sebastian Reichel
` (4 subsequent siblings)
7 siblings, 1 reply; 27+ messages in thread
From: Sebastian Reichel @ 2017-04-27 15:30 UTC (permalink / raw)
To: Sebastian Reichel, Jonathan Cameron, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler, Jean Delvare,
Guenter Roeck
Cc: J Keerthy, linux-iio, linux-hwmon, linux-kernel,
Sebastian Reichel
Drop legacy twl4030_get_madc_conversion() method. It has been
used by drivers to get madc data before it conversion to IIO
API. There are no users in the mainline kernel anymore.
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
---
drivers/iio/adc/twl4030-madc.c | 21 ---------------------
include/linux/i2c/twl4030-madc.h | 1 -
2 files changed, 22 deletions(-)
diff --git a/drivers/iio/adc/twl4030-madc.c b/drivers/iio/adc/twl4030-madc.c
index 0c74869a540a..88e44066ef82 100644
--- a/drivers/iio/adc/twl4030-madc.c
+++ b/drivers/iio/adc/twl4030-madc.c
@@ -642,27 +642,6 @@ int twl4030_madc_conversion(struct twl4030_madc_request *req)
}
EXPORT_SYMBOL_GPL(twl4030_madc_conversion);
-int twl4030_get_madc_conversion(int channel_no)
-{
- struct twl4030_madc_request req;
- int temp = 0;
- int ret;
-
- req.channels = (1 << channel_no);
- req.method = TWL4030_MADC_SW2;
- req.active = 0;
- req.raw = 0;
- req.func_cb = NULL;
- ret = twl4030_madc_conversion(&req);
- if (ret < 0)
- return ret;
- if (req.rbuf[channel_no] > 0)
- temp = req.rbuf[channel_no];
-
- return temp;
-}
-EXPORT_SYMBOL_GPL(twl4030_get_madc_conversion);
-
/**
* twl4030_madc_set_current_generator() - setup bias current
*
diff --git a/include/linux/i2c/twl4030-madc.h b/include/linux/i2c/twl4030-madc.h
index 1c0134dd3271..0c919ebb31e0 100644
--- a/include/linux/i2c/twl4030-madc.h
+++ b/include/linux/i2c/twl4030-madc.h
@@ -143,5 +143,4 @@ struct twl4030_madc_user_parms {
};
int twl4030_madc_conversion(struct twl4030_madc_request *conv);
-int twl4030_get_madc_conversion(int channel_no);
#endif
--
2.11.0
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH 4/7] iio: adc: twl4030: Unexport twl4030_madc_conversion()
2017-04-27 15:30 [PATCH 0/7] twl4030-madc cleanup Sebastian Reichel
` (2 preceding siblings ...)
2017-04-27 15:30 ` [PATCH 3/7] iio: adc: twl4030: Drop twl4030_get_madc_conversion() Sebastian Reichel
@ 2017-04-27 15:30 ` Sebastian Reichel
2017-04-30 16:35 ` Jonathan Cameron
2017-04-27 15:30 ` [PATCH 5/7] iio: adc: twl4030: Drop struct twl4030_madc_user_parms Sebastian Reichel
` (3 subsequent siblings)
7 siblings, 1 reply; 27+ messages in thread
From: Sebastian Reichel @ 2017-04-27 15:30 UTC (permalink / raw)
To: Sebastian Reichel, Jonathan Cameron, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler, Jean Delvare,
Guenter Roeck
Cc: J Keerthy, linux-iio, linux-hwmon, linux-kernel,
Sebastian Reichel
All madc users have been converted to IIO API, so drop the
legacy API. The function is still used inside of the driver.
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
---
drivers/iio/adc/twl4030-madc.c | 5 +++--
include/linux/i2c/twl4030-madc.h | 2 --
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/iio/adc/twl4030-madc.c b/drivers/iio/adc/twl4030-madc.c
index 88e44066ef82..be60f76d1a50 100644
--- a/drivers/iio/adc/twl4030-madc.c
+++ b/drivers/iio/adc/twl4030-madc.c
@@ -72,6 +72,8 @@ struct twl4030_madc_data {
u8 isr;
};
+static int twl4030_madc_conversion(struct twl4030_madc_request *req);
+
static int twl4030_madc_read(struct iio_dev *iio_dev,
const struct iio_chan_spec *chan,
int *val, int *val2, long mask)
@@ -568,7 +570,7 @@ static int twl4030_madc_wait_conversion_ready(struct twl4030_madc_data *madc,
* be a negative error value in the corresponding array element.
* returns 0 if succeeds else error value
*/
-int twl4030_madc_conversion(struct twl4030_madc_request *req)
+static int twl4030_madc_conversion(struct twl4030_madc_request *req)
{
const struct twl4030_madc_conversion_method *method;
int ret;
@@ -640,7 +642,6 @@ int twl4030_madc_conversion(struct twl4030_madc_request *req)
return ret;
}
-EXPORT_SYMBOL_GPL(twl4030_madc_conversion);
/**
* twl4030_madc_set_current_generator() - setup bias current
diff --git a/include/linux/i2c/twl4030-madc.h b/include/linux/i2c/twl4030-madc.h
index 0c919ebb31e0..be9260e261ac 100644
--- a/include/linux/i2c/twl4030-madc.h
+++ b/include/linux/i2c/twl4030-madc.h
@@ -141,6 +141,4 @@ struct twl4030_madc_user_parms {
int status;
u16 result;
};
-
-int twl4030_madc_conversion(struct twl4030_madc_request *conv);
#endif
--
2.11.0
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH 5/7] iio: adc: twl4030: Drop struct twl4030_madc_user_parms
2017-04-27 15:30 [PATCH 0/7] twl4030-madc cleanup Sebastian Reichel
` (3 preceding siblings ...)
2017-04-27 15:30 ` [PATCH 4/7] iio: adc: twl4030: Unexport twl4030_madc_conversion() Sebastian Reichel
@ 2017-04-27 15:30 ` Sebastian Reichel
2017-06-03 9:40 ` Jonathan Cameron
2017-04-27 15:30 ` [PATCH 6/7] iio: adc: twl4030: Remove twl4030_madc_request.func_cb Sebastian Reichel
` (2 subsequent siblings)
7 siblings, 1 reply; 27+ messages in thread
From: Sebastian Reichel @ 2017-04-27 15:30 UTC (permalink / raw)
To: Sebastian Reichel, Jonathan Cameron, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler, Jean Delvare,
Guenter Roeck
Cc: J Keerthy, linux-iio, linux-hwmon, linux-kernel,
Sebastian Reichel
This struct is no longer used by anything in the kernel.
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
---
include/linux/i2c/twl4030-madc.h | 6 ------
1 file changed, 6 deletions(-)
diff --git a/include/linux/i2c/twl4030-madc.h b/include/linux/i2c/twl4030-madc.h
index be9260e261ac..f395700fb933 100644
--- a/include/linux/i2c/twl4030-madc.h
+++ b/include/linux/i2c/twl4030-madc.h
@@ -135,10 +135,4 @@ enum sample_type {
#define TWL4030_REG_GPBR1 0x0c
#define TWL4030_GPBR1_MADC_HFCLK_EN (1 << 7)
-struct twl4030_madc_user_parms {
- int channel;
- int average;
- int status;
- u16 result;
-};
#endif
--
2.11.0
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH 6/7] iio: adc: twl4030: Remove twl4030_madc_request.func_cb
2017-04-27 15:30 [PATCH 0/7] twl4030-madc cleanup Sebastian Reichel
` (4 preceding siblings ...)
2017-04-27 15:30 ` [PATCH 5/7] iio: adc: twl4030: Drop struct twl4030_madc_user_parms Sebastian Reichel
@ 2017-04-27 15:30 ` Sebastian Reichel
2017-04-30 16:37 ` Jonathan Cameron
2017-04-27 15:30 ` [PATCH 7/7] iio: adc: twl4030: Fold twl4030-madc.h into driver Sebastian Reichel
2017-05-20 16:54 ` [PATCH 0/7] twl4030-madc cleanup Sebastian Reichel
7 siblings, 1 reply; 27+ messages in thread
From: Sebastian Reichel @ 2017-04-27 15:30 UTC (permalink / raw)
To: Sebastian Reichel, Jonathan Cameron, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler, Jean Delvare,
Guenter Roeck
Cc: J Keerthy, linux-iio, linux-hwmon, linux-kernel,
Sebastian Reichel
This functionality is not used by the IIO subsystem. Due
to removal of legacy API it can also be removed.
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
---
drivers/iio/adc/twl4030-madc.c | 70 ----------------------------------------
include/linux/i2c/twl4030-madc.h | 1 -
2 files changed, 71 deletions(-)
diff --git a/drivers/iio/adc/twl4030-madc.c b/drivers/iio/adc/twl4030-madc.c
index be60f76d1a50..21df5b932bd1 100644
--- a/drivers/iio/adc/twl4030-madc.c
+++ b/drivers/iio/adc/twl4030-madc.c
@@ -86,7 +86,6 @@ static int twl4030_madc_read(struct iio_dev *iio_dev,
req.channels = BIT(chan->channel);
req.active = false;
- req.func_cb = NULL;
req.type = TWL4030_MADC_WAIT;
req.raw = !(mask == IIO_CHAN_INFO_PROCESSED);
req.do_avg = (mask == IIO_CHAN_INFO_AVERAGE_RAW);
@@ -343,37 +342,6 @@ static int twl4030_madc_read_channels(struct twl4030_madc_data *madc,
}
/*
- * Enables irq.
- * @madc - pointer to twl4030_madc_data struct
- * @id - irq number to be enabled
- * can take one of TWL4030_MADC_RT, TWL4030_MADC_SW1, TWL4030_MADC_SW2
- * corresponding to RT, SW1, SW2 conversion requests.
- * If the i2c read fails it returns an error else returns 0.
- */
-static int twl4030_madc_enable_irq(struct twl4030_madc_data *madc, u8 id)
-{
- u8 val;
- int ret;
-
- ret = twl_i2c_read_u8(TWL4030_MODULE_MADC, &val, madc->imr);
- if (ret) {
- dev_err(madc->dev, "unable to read imr register 0x%X\n",
- madc->imr);
- return ret;
- }
-
- val &= ~(1 << id);
- ret = twl_i2c_write_u8(TWL4030_MODULE_MADC, val, madc->imr);
- if (ret) {
- dev_err(madc->dev,
- "unable to write imr register 0x%X\n", madc->imr);
- return ret;
- }
-
- return 0;
-}
-
-/*
* Disables irq.
* @madc - pointer to twl4030_madc_data struct
* @id - irq number to be disabled
@@ -442,11 +410,6 @@ static irqreturn_t twl4030_madc_threaded_irq_handler(int irq, void *_madc)
/* Read results */
len = twl4030_madc_read_channels(madc, method->rbase,
r->channels, r->rbuf, r->raw);
- /* Return results to caller */
- if (r->func_cb != NULL) {
- r->func_cb(len, r->channels, r->rbuf);
- r->func_cb = NULL;
- }
/* Free request */
r->result_pending = 0;
r->active = 0;
@@ -468,11 +431,6 @@ static irqreturn_t twl4030_madc_threaded_irq_handler(int irq, void *_madc)
/* Read results */
len = twl4030_madc_read_channels(madc, method->rbase,
r->channels, r->rbuf, r->raw);
- /* Return results to caller */
- if (r->func_cb != NULL) {
- r->func_cb(len, r->channels, r->rbuf);
- r->func_cb = NULL;
- }
/* Free request */
r->result_pending = 0;
r->active = 0;
@@ -482,23 +440,6 @@ static irqreturn_t twl4030_madc_threaded_irq_handler(int irq, void *_madc)
return IRQ_HANDLED;
}
-static int twl4030_madc_set_irq(struct twl4030_madc_data *madc,
- struct twl4030_madc_request *req)
-{
- struct twl4030_madc_request *p;
- int ret;
-
- p = &madc->requests[req->method];
- memcpy(p, req, sizeof(*req));
- ret = twl4030_madc_enable_irq(madc, req->method);
- if (ret < 0) {
- dev_err(madc->dev, "enable irq failed!!\n");
- return ret;
- }
-
- return 0;
-}
-
/*
* Function which enables the madc conversion
* by writing to the control register.
@@ -607,17 +548,6 @@ static int twl4030_madc_conversion(struct twl4030_madc_request *req)
goto out;
}
}
- if (req->type == TWL4030_MADC_IRQ_ONESHOT && req->func_cb != NULL) {
- ret = twl4030_madc_set_irq(twl4030_madc, req);
- if (ret < 0)
- goto out;
- ret = twl4030_madc_start_conversion(twl4030_madc, req->method);
- if (ret < 0)
- goto out;
- twl4030_madc->requests[req->method].active = 1;
- ret = 0;
- goto out;
- }
/* With RT method we should not be here anymore */
if (req->method == TWL4030_MADC_RT) {
ret = -EINVAL;
diff --git a/include/linux/i2c/twl4030-madc.h b/include/linux/i2c/twl4030-madc.h
index f395700fb933..34e94747b61e 100644
--- a/include/linux/i2c/twl4030-madc.h
+++ b/include/linux/i2c/twl4030-madc.h
@@ -51,7 +51,6 @@ struct twl4030_madc_request {
bool result_pending;
bool raw;
int rbuf[TWL4030_MADC_MAX_CHANNELS];
- void (*func_cb)(int len, int channels, int *buf);
};
enum conversion_methods {
--
2.11.0
^ permalink raw reply related [flat|nested] 27+ messages in thread
* [PATCH 7/7] iio: adc: twl4030: Fold twl4030-madc.h into driver
2017-04-27 15:30 [PATCH 0/7] twl4030-madc cleanup Sebastian Reichel
` (5 preceding siblings ...)
2017-04-27 15:30 ` [PATCH 6/7] iio: adc: twl4030: Remove twl4030_madc_request.func_cb Sebastian Reichel
@ 2017-04-27 15:30 ` Sebastian Reichel
2017-04-30 16:38 ` Jonathan Cameron
2017-05-20 16:54 ` [PATCH 0/7] twl4030-madc cleanup Sebastian Reichel
7 siblings, 1 reply; 27+ messages in thread
From: Sebastian Reichel @ 2017-04-27 15:30 UTC (permalink / raw)
To: Sebastian Reichel, Jonathan Cameron, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler, Jean Delvare,
Guenter Roeck
Cc: J Keerthy, linux-iio, linux-hwmon, linux-kernel,
Sebastian Reichel
twl4030-madc.h is no longer used by anything outside of
the iio driver, so it can be merged into the driver.
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
---
drivers/iio/adc/twl4030-madc.c | 113 +++++++++++++++++++++++++++++++-
include/linux/i2c/twl4030-madc.h | 137 ---------------------------------------
2 files changed, 112 insertions(+), 138 deletions(-)
delete mode 100644 include/linux/i2c/twl4030-madc.h
diff --git a/drivers/iio/adc/twl4030-madc.c b/drivers/iio/adc/twl4030-madc.c
index 21df5b932bd1..bd3d37fc2144 100644
--- a/drivers/iio/adc/twl4030-madc.c
+++ b/drivers/iio/adc/twl4030-madc.c
@@ -36,7 +36,6 @@
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/i2c/twl.h>
-#include <linux/i2c/twl4030-madc.h>
#include <linux/module.h>
#include <linux/stddef.h>
#include <linux/mutex.h>
@@ -49,9 +48,121 @@
#include <linux/iio/iio.h>
+#define TWL4030_MADC_MAX_CHANNELS 16
+
+#define TWL4030_MADC_CTRL1 0x00
+#define TWL4030_MADC_CTRL2 0x01
+
+#define TWL4030_MADC_RTSELECT_LSB 0x02
+#define TWL4030_MADC_SW1SELECT_LSB 0x06
+#define TWL4030_MADC_SW2SELECT_LSB 0x0A
+
+#define TWL4030_MADC_RTAVERAGE_LSB 0x04
+#define TWL4030_MADC_SW1AVERAGE_LSB 0x08
+#define TWL4030_MADC_SW2AVERAGE_LSB 0x0C
+
+#define TWL4030_MADC_CTRL_SW1 0x12
+#define TWL4030_MADC_CTRL_SW2 0x13
+
+#define TWL4030_MADC_RTCH0_LSB 0x17
+#define TWL4030_MADC_GPCH0_LSB 0x37
+
+#define TWL4030_MADC_MADCON (1 << 0) /* MADC power on */
+#define TWL4030_MADC_BUSY (1 << 0) /* MADC busy */
+/* MADC conversion completion */
+#define TWL4030_MADC_EOC_SW (1 << 1)
+/* MADC SWx start conversion */
+#define TWL4030_MADC_SW_START (1 << 5)
+#define TWL4030_MADC_ADCIN0 (1 << 0)
+#define TWL4030_MADC_ADCIN1 (1 << 1)
+#define TWL4030_MADC_ADCIN2 (1 << 2)
+#define TWL4030_MADC_ADCIN3 (1 << 3)
+#define TWL4030_MADC_ADCIN4 (1 << 4)
+#define TWL4030_MADC_ADCIN5 (1 << 5)
+#define TWL4030_MADC_ADCIN6 (1 << 6)
+#define TWL4030_MADC_ADCIN7 (1 << 7)
+#define TWL4030_MADC_ADCIN8 (1 << 8)
+#define TWL4030_MADC_ADCIN9 (1 << 9)
+#define TWL4030_MADC_ADCIN10 (1 << 10)
+#define TWL4030_MADC_ADCIN11 (1 << 11)
+#define TWL4030_MADC_ADCIN12 (1 << 12)
+#define TWL4030_MADC_ADCIN13 (1 << 13)
+#define TWL4030_MADC_ADCIN14 (1 << 14)
+#define TWL4030_MADC_ADCIN15 (1 << 15)
+
+/* Fixed channels */
+#define TWL4030_MADC_BTEMP TWL4030_MADC_ADCIN1
+#define TWL4030_MADC_VBUS TWL4030_MADC_ADCIN8
+#define TWL4030_MADC_VBKB TWL4030_MADC_ADCIN9
+#define TWL4030_MADC_ICHG TWL4030_MADC_ADCIN10
+#define TWL4030_MADC_VCHG TWL4030_MADC_ADCIN11
+#define TWL4030_MADC_VBAT TWL4030_MADC_ADCIN12
+
+/* Step size and prescaler ratio */
+#define TEMP_STEP_SIZE 147
+#define TEMP_PSR_R 100
+#define CURR_STEP_SIZE 147
+#define CURR_PSR_R1 44
+#define CURR_PSR_R2 88
+
+#define TWL4030_BCI_BCICTL1 0x23
+#define TWL4030_BCI_CGAIN 0x020
+#define TWL4030_BCI_MESBAT (1 << 1)
+#define TWL4030_BCI_TYPEN (1 << 4)
+#define TWL4030_BCI_ITHEN (1 << 3)
+
+#define REG_BCICTL2 0x024
+#define TWL4030_BCI_ITHSENS 0x007
+
+/* Register and bits for GPBR1 register */
+#define TWL4030_REG_GPBR1 0x0c
+#define TWL4030_GPBR1_MADC_HFCLK_EN (1 << 7)
+
#define TWL4030_USB_SEL_MADC_MCPC (1<<3)
#define TWL4030_USB_CARKIT_ANA_CTRL 0xBB
+struct twl4030_madc_conversion_method {
+ u8 sel;
+ u8 avg;
+ u8 rbase;
+ u8 ctrl;
+};
+
+/**
+ * struct twl4030_madc_request - madc request packet for channel conversion
+ * @channels: 16 bit bitmap for individual channels
+ * @do_avg: sample the input channel for 4 consecutive cycles
+ * @method: RT, SW1, SW2
+ * @type: Polling or interrupt based method
+ * @active: Flag if request is active
+ * @result_pending: Flag from irq handler, that result is ready
+ * @raw: Return raw value, do not convert it
+ * @rbuf: Result buffer
+ */
+struct twl4030_madc_request {
+ unsigned long channels;
+ bool do_avg;
+ u16 method;
+ u16 type;
+ bool active;
+ bool result_pending;
+ bool raw;
+ int rbuf[TWL4030_MADC_MAX_CHANNELS];
+};
+
+enum conversion_methods {
+ TWL4030_MADC_RT,
+ TWL4030_MADC_SW1,
+ TWL4030_MADC_SW2,
+ TWL4030_MADC_NUM_METHODS
+};
+
+enum sample_type {
+ TWL4030_MADC_WAIT,
+ TWL4030_MADC_IRQ_ONESHOT,
+ TWL4030_MADC_IRQ_REARM
+};
+
/**
* struct twl4030_madc_data - a container for madc info
* @dev: Pointer to device structure for madc
diff --git a/include/linux/i2c/twl4030-madc.h b/include/linux/i2c/twl4030-madc.h
deleted file mode 100644
index 34e94747b61e..000000000000
--- a/include/linux/i2c/twl4030-madc.h
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * twl4030_madc.h - Header for TWL4030 MADC
- *
- * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
- * J Keerthy <j-keerthy@ti.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA
- *
- */
-
-#ifndef _TWL4030_MADC_H
-#define _TWL4030_MADC_H
-
-struct twl4030_madc_conversion_method {
- u8 sel;
- u8 avg;
- u8 rbase;
- u8 ctrl;
-};
-
-#define TWL4030_MADC_MAX_CHANNELS 16
-
-
-/*
- * twl4030_madc_request- madc request packet for channel conversion
- * @channels: 16 bit bitmap for individual channels
- * @do_avgP: sample the input channel for 4 consecutive cycles
- * @method: RT, SW1, SW2
- * @type: Polling or interrupt based method
- * @raw: Return raw value, do not convert it
- */
-
-struct twl4030_madc_request {
- unsigned long channels;
- bool do_avg;
- u16 method;
- u16 type;
- bool active;
- bool result_pending;
- bool raw;
- int rbuf[TWL4030_MADC_MAX_CHANNELS];
-};
-
-enum conversion_methods {
- TWL4030_MADC_RT,
- TWL4030_MADC_SW1,
- TWL4030_MADC_SW2,
- TWL4030_MADC_NUM_METHODS
-};
-
-enum sample_type {
- TWL4030_MADC_WAIT,
- TWL4030_MADC_IRQ_ONESHOT,
- TWL4030_MADC_IRQ_REARM
-};
-
-#define TWL4030_MADC_CTRL1 0x00
-#define TWL4030_MADC_CTRL2 0x01
-
-#define TWL4030_MADC_RTSELECT_LSB 0x02
-#define TWL4030_MADC_SW1SELECT_LSB 0x06
-#define TWL4030_MADC_SW2SELECT_LSB 0x0A
-
-#define TWL4030_MADC_RTAVERAGE_LSB 0x04
-#define TWL4030_MADC_SW1AVERAGE_LSB 0x08
-#define TWL4030_MADC_SW2AVERAGE_LSB 0x0C
-
-#define TWL4030_MADC_CTRL_SW1 0x12
-#define TWL4030_MADC_CTRL_SW2 0x13
-
-#define TWL4030_MADC_RTCH0_LSB 0x17
-#define TWL4030_MADC_GPCH0_LSB 0x37
-
-#define TWL4030_MADC_MADCON (1 << 0) /* MADC power on */
-#define TWL4030_MADC_BUSY (1 << 0) /* MADC busy */
-/* MADC conversion completion */
-#define TWL4030_MADC_EOC_SW (1 << 1)
-/* MADC SWx start conversion */
-#define TWL4030_MADC_SW_START (1 << 5)
-#define TWL4030_MADC_ADCIN0 (1 << 0)
-#define TWL4030_MADC_ADCIN1 (1 << 1)
-#define TWL4030_MADC_ADCIN2 (1 << 2)
-#define TWL4030_MADC_ADCIN3 (1 << 3)
-#define TWL4030_MADC_ADCIN4 (1 << 4)
-#define TWL4030_MADC_ADCIN5 (1 << 5)
-#define TWL4030_MADC_ADCIN6 (1 << 6)
-#define TWL4030_MADC_ADCIN7 (1 << 7)
-#define TWL4030_MADC_ADCIN8 (1 << 8)
-#define TWL4030_MADC_ADCIN9 (1 << 9)
-#define TWL4030_MADC_ADCIN10 (1 << 10)
-#define TWL4030_MADC_ADCIN11 (1 << 11)
-#define TWL4030_MADC_ADCIN12 (1 << 12)
-#define TWL4030_MADC_ADCIN13 (1 << 13)
-#define TWL4030_MADC_ADCIN14 (1 << 14)
-#define TWL4030_MADC_ADCIN15 (1 << 15)
-
-/* Fixed channels */
-#define TWL4030_MADC_BTEMP TWL4030_MADC_ADCIN1
-#define TWL4030_MADC_VBUS TWL4030_MADC_ADCIN8
-#define TWL4030_MADC_VBKB TWL4030_MADC_ADCIN9
-#define TWL4030_MADC_ICHG TWL4030_MADC_ADCIN10
-#define TWL4030_MADC_VCHG TWL4030_MADC_ADCIN11
-#define TWL4030_MADC_VBAT TWL4030_MADC_ADCIN12
-
-/* Step size and prescaler ratio */
-#define TEMP_STEP_SIZE 147
-#define TEMP_PSR_R 100
-#define CURR_STEP_SIZE 147
-#define CURR_PSR_R1 44
-#define CURR_PSR_R2 88
-
-#define TWL4030_BCI_BCICTL1 0x23
-#define TWL4030_BCI_CGAIN 0x020
-#define TWL4030_BCI_MESBAT (1 << 1)
-#define TWL4030_BCI_TYPEN (1 << 4)
-#define TWL4030_BCI_ITHEN (1 << 3)
-
-#define REG_BCICTL2 0x024
-#define TWL4030_BCI_ITHSENS 0x007
-
-/* Register and bits for GPBR1 register */
-#define TWL4030_REG_GPBR1 0x0c
-#define TWL4030_GPBR1_MADC_HFCLK_EN (1 << 7)
-
-#endif
--
2.11.0
^ permalink raw reply related [flat|nested] 27+ messages in thread
* Re: [PATCH 1/7] hwmon: twl4030-madc: drop driver
2017-04-27 15:30 ` [PATCH 1/7] hwmon: twl4030-madc: drop driver Sebastian Reichel
@ 2017-04-27 16:51 ` Guenter Roeck
2017-04-30 16:41 ` Jonathan Cameron
0 siblings, 1 reply; 27+ messages in thread
From: Guenter Roeck @ 2017-04-27 16:51 UTC (permalink / raw)
To: Sebastian Reichel
Cc: Sebastian Reichel, Jonathan Cameron, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler, Jean Delvare,
J Keerthy, linux-iio, linux-hwmon, linux-kernel
On Thu, Apr 27, 2017 at 05:30:06PM +0200, Sebastian Reichel wrote:
> This driver is no longer needed:
>
> * It has no mainline users
> * It has no DT support and OMAP is DT only
> * iio-hwmon can be used for madc, which also works with DT
>
> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Acked-by: Guenter Roeck <linux@roeck-us.net>
... assuming this will be pushed through the same tree as the rest
of the series. Let me know if I should queue it up in hwmon for v4.12.
Thanks,
Guenter
> ---
> drivers/hwmon/Kconfig | 10 ----
> drivers/hwmon/Makefile | 1 -
> drivers/hwmon/twl4030-madc-hwmon.c | 118 -------------------------------------
> 3 files changed, 129 deletions(-)
> delete mode 100644 drivers/hwmon/twl4030-madc-hwmon.c
>
> diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
> index 0649d53f3d16..776d1ac2bfee 100644
> --- a/drivers/hwmon/Kconfig
> +++ b/drivers/hwmon/Kconfig
> @@ -1643,16 +1643,6 @@ config SENSORS_TMP421
> This driver can also be built as a module. If so, the module
> will be called tmp421.
>
> -config SENSORS_TWL4030_MADC
> - tristate "Texas Instruments TWL4030 MADC Hwmon"
> - depends on TWL4030_MADC
> - help
> - If you say yes here you get hwmon support for triton
> - TWL4030-MADC.
> -
> - This driver can also be built as a module. If so it will be called
> - twl4030-madc-hwmon.
> -
> config SENSORS_VEXPRESS
> tristate "Versatile Express"
> depends on VEXPRESS_CONFIG
> diff --git a/drivers/hwmon/Makefile b/drivers/hwmon/Makefile
> index 5509edf6186a..c05530d6cb6e 100644
> --- a/drivers/hwmon/Makefile
> +++ b/drivers/hwmon/Makefile
> @@ -157,7 +157,6 @@ obj-$(CONFIG_SENSORS_TMP103) += tmp103.o
> obj-$(CONFIG_SENSORS_TMP108) += tmp108.o
> obj-$(CONFIG_SENSORS_TMP401) += tmp401.o
> obj-$(CONFIG_SENSORS_TMP421) += tmp421.o
> -obj-$(CONFIG_SENSORS_TWL4030_MADC)+= twl4030-madc-hwmon.o
> obj-$(CONFIG_SENSORS_VEXPRESS) += vexpress-hwmon.o
> obj-$(CONFIG_SENSORS_VIA_CPUTEMP)+= via-cputemp.o
> obj-$(CONFIG_SENSORS_VIA686A) += via686a.o
> diff --git a/drivers/hwmon/twl4030-madc-hwmon.c b/drivers/hwmon/twl4030-madc-hwmon.c
> deleted file mode 100644
> index b5caf7fdb487..000000000000
> --- a/drivers/hwmon/twl4030-madc-hwmon.c
> +++ /dev/null
> @@ -1,118 +0,0 @@
> -/*
> - *
> - * TWL4030 MADC Hwmon driver-This driver monitors the real time
> - * conversion of analog signals like battery temperature,
> - * battery type, battery level etc. User can ask for the conversion on a
> - * particular channel using the sysfs nodes.
> - *
> - * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
> - * J Keerthy <j-keerthy@ti.com>
> - *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms of the GNU General Public License
> - * version 2 as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful, but
> - * WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> - * General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; if not, write to the Free Software
> - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> - * 02110-1301 USA
> - *
> - */
> -#include <linux/init.h>
> -#include <linux/module.h>
> -#include <linux/kernel.h>
> -#include <linux/i2c/twl.h>
> -#include <linux/device.h>
> -#include <linux/platform_device.h>
> -#include <linux/i2c/twl4030-madc.h>
> -#include <linux/hwmon.h>
> -#include <linux/hwmon-sysfs.h>
> -#include <linux/stddef.h>
> -#include <linux/sysfs.h>
> -#include <linux/err.h>
> -#include <linux/types.h>
> -
> -/*
> - * sysfs hook function
> - */
> -static ssize_t madc_read(struct device *dev,
> - struct device_attribute *devattr, char *buf)
> -{
> - struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
> - struct twl4030_madc_request req = {
> - .channels = 1 << attr->index,
> - .method = TWL4030_MADC_SW2,
> - .type = TWL4030_MADC_WAIT,
> - };
> - long val;
> -
> - val = twl4030_madc_conversion(&req);
> - if (val < 0)
> - return val;
> -
> - return sprintf(buf, "%d\n", req.rbuf[attr->index]);
> -}
> -
> -/* sysfs nodes to read individual channels from user side */
> -static SENSOR_DEVICE_ATTR(in0_input, S_IRUGO, madc_read, NULL, 0);
> -static SENSOR_DEVICE_ATTR(temp1_input, S_IRUGO, madc_read, NULL, 1);
> -static SENSOR_DEVICE_ATTR(in2_input, S_IRUGO, madc_read, NULL, 2);
> -static SENSOR_DEVICE_ATTR(in3_input, S_IRUGO, madc_read, NULL, 3);
> -static SENSOR_DEVICE_ATTR(in4_input, S_IRUGO, madc_read, NULL, 4);
> -static SENSOR_DEVICE_ATTR(in5_input, S_IRUGO, madc_read, NULL, 5);
> -static SENSOR_DEVICE_ATTR(in6_input, S_IRUGO, madc_read, NULL, 6);
> -static SENSOR_DEVICE_ATTR(in7_input, S_IRUGO, madc_read, NULL, 7);
> -static SENSOR_DEVICE_ATTR(in8_input, S_IRUGO, madc_read, NULL, 8);
> -static SENSOR_DEVICE_ATTR(in9_input, S_IRUGO, madc_read, NULL, 9);
> -static SENSOR_DEVICE_ATTR(curr10_input, S_IRUGO, madc_read, NULL, 10);
> -static SENSOR_DEVICE_ATTR(in11_input, S_IRUGO, madc_read, NULL, 11);
> -static SENSOR_DEVICE_ATTR(in12_input, S_IRUGO, madc_read, NULL, 12);
> -static SENSOR_DEVICE_ATTR(in15_input, S_IRUGO, madc_read, NULL, 15);
> -
> -static struct attribute *twl4030_madc_attrs[] = {
> - &sensor_dev_attr_in0_input.dev_attr.attr,
> - &sensor_dev_attr_temp1_input.dev_attr.attr,
> - &sensor_dev_attr_in2_input.dev_attr.attr,
> - &sensor_dev_attr_in3_input.dev_attr.attr,
> - &sensor_dev_attr_in4_input.dev_attr.attr,
> - &sensor_dev_attr_in5_input.dev_attr.attr,
> - &sensor_dev_attr_in6_input.dev_attr.attr,
> - &sensor_dev_attr_in7_input.dev_attr.attr,
> - &sensor_dev_attr_in8_input.dev_attr.attr,
> - &sensor_dev_attr_in9_input.dev_attr.attr,
> - &sensor_dev_attr_curr10_input.dev_attr.attr,
> - &sensor_dev_attr_in11_input.dev_attr.attr,
> - &sensor_dev_attr_in12_input.dev_attr.attr,
> - &sensor_dev_attr_in15_input.dev_attr.attr,
> - NULL
> -};
> -ATTRIBUTE_GROUPS(twl4030_madc);
> -
> -static int twl4030_madc_hwmon_probe(struct platform_device *pdev)
> -{
> - struct device *hwmon;
> -
> - hwmon = devm_hwmon_device_register_with_groups(&pdev->dev,
> - "twl4030_madc", NULL,
> - twl4030_madc_groups);
> - return PTR_ERR_OR_ZERO(hwmon);
> -}
> -
> -static struct platform_driver twl4030_madc_hwmon_driver = {
> - .probe = twl4030_madc_hwmon_probe,
> - .driver = {
> - .name = "twl4030_madc_hwmon",
> - },
> -};
> -
> -module_platform_driver(twl4030_madc_hwmon_driver);
> -
> -MODULE_DESCRIPTION("TWL4030 ADC Hwmon driver");
> -MODULE_LICENSE("GPL");
> -MODULE_AUTHOR("J Keerthy");
> -MODULE_ALIAS("platform:twl4030_madc_hwmon");
> --
> 2.11.0
>
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 3/7] iio: adc: twl4030: Drop twl4030_get_madc_conversion()
2017-04-27 15:30 ` [PATCH 3/7] iio: adc: twl4030: Drop twl4030_get_madc_conversion() Sebastian Reichel
@ 2017-04-30 16:35 ` Jonathan Cameron
2017-06-03 9:36 ` Jonathan Cameron
0 siblings, 1 reply; 27+ messages in thread
From: Jonathan Cameron @ 2017-04-30 16:35 UTC (permalink / raw)
To: Sebastian Reichel, Sebastian Reichel, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler, Jean Delvare,
Guenter Roeck
Cc: J Keerthy, linux-iio, linux-hwmon, linux-kernel
On 27/04/17 16:30, Sebastian Reichel wrote:
> Drop legacy twl4030_get_madc_conversion() method. It has been
> used by drivers to get madc data before it conversion to IIO
> API. There are no users in the mainline kernel anymore.
>
> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Acked-by: Jonathan Cameron <jic23@kernel.org>
> ---
> drivers/iio/adc/twl4030-madc.c | 21 ---------------------
> include/linux/i2c/twl4030-madc.h | 1 -
> 2 files changed, 22 deletions(-)
>
> diff --git a/drivers/iio/adc/twl4030-madc.c b/drivers/iio/adc/twl4030-madc.c
> index 0c74869a540a..88e44066ef82 100644
> --- a/drivers/iio/adc/twl4030-madc.c
> +++ b/drivers/iio/adc/twl4030-madc.c
> @@ -642,27 +642,6 @@ int twl4030_madc_conversion(struct twl4030_madc_request *req)
> }
> EXPORT_SYMBOL_GPL(twl4030_madc_conversion);
>
> -int twl4030_get_madc_conversion(int channel_no)
> -{
> - struct twl4030_madc_request req;
> - int temp = 0;
> - int ret;
> -
> - req.channels = (1 << channel_no);
> - req.method = TWL4030_MADC_SW2;
> - req.active = 0;
> - req.raw = 0;
> - req.func_cb = NULL;
> - ret = twl4030_madc_conversion(&req);
> - if (ret < 0)
> - return ret;
> - if (req.rbuf[channel_no] > 0)
> - temp = req.rbuf[channel_no];
> -
> - return temp;
> -}
> -EXPORT_SYMBOL_GPL(twl4030_get_madc_conversion);
> -
> /**
> * twl4030_madc_set_current_generator() - setup bias current
> *
> diff --git a/include/linux/i2c/twl4030-madc.h b/include/linux/i2c/twl4030-madc.h
> index 1c0134dd3271..0c919ebb31e0 100644
> --- a/include/linux/i2c/twl4030-madc.h
> +++ b/include/linux/i2c/twl4030-madc.h
> @@ -143,5 +143,4 @@ struct twl4030_madc_user_parms {
> };
>
> int twl4030_madc_conversion(struct twl4030_madc_request *conv);
> -int twl4030_get_madc_conversion(int channel_no);
> #endif
>
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 4/7] iio: adc: twl4030: Unexport twl4030_madc_conversion()
2017-04-27 15:30 ` [PATCH 4/7] iio: adc: twl4030: Unexport twl4030_madc_conversion() Sebastian Reichel
@ 2017-04-30 16:35 ` Jonathan Cameron
2017-06-03 9:37 ` Jonathan Cameron
0 siblings, 1 reply; 27+ messages in thread
From: Jonathan Cameron @ 2017-04-30 16:35 UTC (permalink / raw)
To: Sebastian Reichel, Sebastian Reichel, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler, Jean Delvare,
Guenter Roeck
Cc: J Keerthy, linux-iio, linux-hwmon, linux-kernel
On 27/04/17 16:30, Sebastian Reichel wrote:
> All madc users have been converted to IIO API, so drop the
> legacy API. The function is still used inside of the driver.
>
> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Acked-by: Jonathan Cameron <jic23@kernel.org>
> ---
> drivers/iio/adc/twl4030-madc.c | 5 +++--
> include/linux/i2c/twl4030-madc.h | 2 --
> 2 files changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/iio/adc/twl4030-madc.c b/drivers/iio/adc/twl4030-madc.c
> index 88e44066ef82..be60f76d1a50 100644
> --- a/drivers/iio/adc/twl4030-madc.c
> +++ b/drivers/iio/adc/twl4030-madc.c
> @@ -72,6 +72,8 @@ struct twl4030_madc_data {
> u8 isr;
> };
>
> +static int twl4030_madc_conversion(struct twl4030_madc_request *req);
> +
> static int twl4030_madc_read(struct iio_dev *iio_dev,
> const struct iio_chan_spec *chan,
> int *val, int *val2, long mask)
> @@ -568,7 +570,7 @@ static int twl4030_madc_wait_conversion_ready(struct twl4030_madc_data *madc,
> * be a negative error value in the corresponding array element.
> * returns 0 if succeeds else error value
> */
> -int twl4030_madc_conversion(struct twl4030_madc_request *req)
> +static int twl4030_madc_conversion(struct twl4030_madc_request *req)
> {
> const struct twl4030_madc_conversion_method *method;
> int ret;
> @@ -640,7 +642,6 @@ int twl4030_madc_conversion(struct twl4030_madc_request *req)
>
> return ret;
> }
> -EXPORT_SYMBOL_GPL(twl4030_madc_conversion);
>
> /**
> * twl4030_madc_set_current_generator() - setup bias current
> diff --git a/include/linux/i2c/twl4030-madc.h b/include/linux/i2c/twl4030-madc.h
> index 0c919ebb31e0..be9260e261ac 100644
> --- a/include/linux/i2c/twl4030-madc.h
> +++ b/include/linux/i2c/twl4030-madc.h
> @@ -141,6 +141,4 @@ struct twl4030_madc_user_parms {
> int status;
> u16 result;
> };
> -
> -int twl4030_madc_conversion(struct twl4030_madc_request *conv);
> #endif
>
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 6/7] iio: adc: twl4030: Remove twl4030_madc_request.func_cb
2017-04-27 15:30 ` [PATCH 6/7] iio: adc: twl4030: Remove twl4030_madc_request.func_cb Sebastian Reichel
@ 2017-04-30 16:37 ` Jonathan Cameron
0 siblings, 0 replies; 27+ messages in thread
From: Jonathan Cameron @ 2017-04-30 16:37 UTC (permalink / raw)
To: Sebastian Reichel, Sebastian Reichel, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler, Jean Delvare,
Guenter Roeck
Cc: J Keerthy, linux-iio, linux-hwmon, linux-kernel
On 27/04/17 16:30, Sebastian Reichel wrote:
> This functionality is not used by the IIO subsystem. Due
> to removal of legacy API it can also be removed.
>
> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Acked-by: Jonathan Cameron <jic23@kernel.org>
> ---
> drivers/iio/adc/twl4030-madc.c | 70 ----------------------------------------
> include/linux/i2c/twl4030-madc.h | 1 -
> 2 files changed, 71 deletions(-)
>
> diff --git a/drivers/iio/adc/twl4030-madc.c b/drivers/iio/adc/twl4030-madc.c
> index be60f76d1a50..21df5b932bd1 100644
> --- a/drivers/iio/adc/twl4030-madc.c
> +++ b/drivers/iio/adc/twl4030-madc.c
> @@ -86,7 +86,6 @@ static int twl4030_madc_read(struct iio_dev *iio_dev,
>
> req.channels = BIT(chan->channel);
> req.active = false;
> - req.func_cb = NULL;
> req.type = TWL4030_MADC_WAIT;
> req.raw = !(mask == IIO_CHAN_INFO_PROCESSED);
> req.do_avg = (mask == IIO_CHAN_INFO_AVERAGE_RAW);
> @@ -343,37 +342,6 @@ static int twl4030_madc_read_channels(struct twl4030_madc_data *madc,
> }
>
> /*
> - * Enables irq.
> - * @madc - pointer to twl4030_madc_data struct
> - * @id - irq number to be enabled
> - * can take one of TWL4030_MADC_RT, TWL4030_MADC_SW1, TWL4030_MADC_SW2
> - * corresponding to RT, SW1, SW2 conversion requests.
> - * If the i2c read fails it returns an error else returns 0.
> - */
> -static int twl4030_madc_enable_irq(struct twl4030_madc_data *madc, u8 id)
> -{
> - u8 val;
> - int ret;
> -
> - ret = twl_i2c_read_u8(TWL4030_MODULE_MADC, &val, madc->imr);
> - if (ret) {
> - dev_err(madc->dev, "unable to read imr register 0x%X\n",
> - madc->imr);
> - return ret;
> - }
> -
> - val &= ~(1 << id);
> - ret = twl_i2c_write_u8(TWL4030_MODULE_MADC, val, madc->imr);
> - if (ret) {
> - dev_err(madc->dev,
> - "unable to write imr register 0x%X\n", madc->imr);
> - return ret;
> - }
> -
> - return 0;
> -}
> -
> -/*
> * Disables irq.
> * @madc - pointer to twl4030_madc_data struct
> * @id - irq number to be disabled
> @@ -442,11 +410,6 @@ static irqreturn_t twl4030_madc_threaded_irq_handler(int irq, void *_madc)
> /* Read results */
> len = twl4030_madc_read_channels(madc, method->rbase,
> r->channels, r->rbuf, r->raw);
> - /* Return results to caller */
> - if (r->func_cb != NULL) {
> - r->func_cb(len, r->channels, r->rbuf);
> - r->func_cb = NULL;
> - }
> /* Free request */
> r->result_pending = 0;
> r->active = 0;
> @@ -468,11 +431,6 @@ static irqreturn_t twl4030_madc_threaded_irq_handler(int irq, void *_madc)
> /* Read results */
> len = twl4030_madc_read_channels(madc, method->rbase,
> r->channels, r->rbuf, r->raw);
> - /* Return results to caller */
> - if (r->func_cb != NULL) {
> - r->func_cb(len, r->channels, r->rbuf);
> - r->func_cb = NULL;
> - }
> /* Free request */
> r->result_pending = 0;
> r->active = 0;
> @@ -482,23 +440,6 @@ static irqreturn_t twl4030_madc_threaded_irq_handler(int irq, void *_madc)
> return IRQ_HANDLED;
> }
>
> -static int twl4030_madc_set_irq(struct twl4030_madc_data *madc,
> - struct twl4030_madc_request *req)
> -{
> - struct twl4030_madc_request *p;
> - int ret;
> -
> - p = &madc->requests[req->method];
> - memcpy(p, req, sizeof(*req));
> - ret = twl4030_madc_enable_irq(madc, req->method);
> - if (ret < 0) {
> - dev_err(madc->dev, "enable irq failed!!\n");
> - return ret;
> - }
> -
> - return 0;
> -}
> -
> /*
> * Function which enables the madc conversion
> * by writing to the control register.
> @@ -607,17 +548,6 @@ static int twl4030_madc_conversion(struct twl4030_madc_request *req)
> goto out;
> }
> }
> - if (req->type == TWL4030_MADC_IRQ_ONESHOT && req->func_cb != NULL) {
> - ret = twl4030_madc_set_irq(twl4030_madc, req);
> - if (ret < 0)
> - goto out;
> - ret = twl4030_madc_start_conversion(twl4030_madc, req->method);
> - if (ret < 0)
> - goto out;
> - twl4030_madc->requests[req->method].active = 1;
> - ret = 0;
> - goto out;
> - }
> /* With RT method we should not be here anymore */
> if (req->method == TWL4030_MADC_RT) {
> ret = -EINVAL;
> diff --git a/include/linux/i2c/twl4030-madc.h b/include/linux/i2c/twl4030-madc.h
> index f395700fb933..34e94747b61e 100644
> --- a/include/linux/i2c/twl4030-madc.h
> +++ b/include/linux/i2c/twl4030-madc.h
> @@ -51,7 +51,6 @@ struct twl4030_madc_request {
> bool result_pending;
> bool raw;
> int rbuf[TWL4030_MADC_MAX_CHANNELS];
> - void (*func_cb)(int len, int channels, int *buf);
> };
>
> enum conversion_methods {
>
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 7/7] iio: adc: twl4030: Fold twl4030-madc.h into driver
2017-04-27 15:30 ` [PATCH 7/7] iio: adc: twl4030: Fold twl4030-madc.h into driver Sebastian Reichel
@ 2017-04-30 16:38 ` Jonathan Cameron
2017-06-03 9:45 ` Jonathan Cameron
0 siblings, 1 reply; 27+ messages in thread
From: Jonathan Cameron @ 2017-04-30 16:38 UTC (permalink / raw)
To: Sebastian Reichel, Sebastian Reichel, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler, Jean Delvare,
Guenter Roeck
Cc: J Keerthy, linux-iio, linux-hwmon, linux-kernel
On 27/04/17 16:30, Sebastian Reichel wrote:
> twl4030-madc.h is no longer used by anything outside of
> the iio driver, so it can be merged into the driver.
>
> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Acked-by: Jonathan Cameron <jic23@kernel.org>
> ---
> drivers/iio/adc/twl4030-madc.c | 113 +++++++++++++++++++++++++++++++-
> include/linux/i2c/twl4030-madc.h | 137 ---------------------------------------
> 2 files changed, 112 insertions(+), 138 deletions(-)
> delete mode 100644 include/linux/i2c/twl4030-madc.h
>
> diff --git a/drivers/iio/adc/twl4030-madc.c b/drivers/iio/adc/twl4030-madc.c
> index 21df5b932bd1..bd3d37fc2144 100644
> --- a/drivers/iio/adc/twl4030-madc.c
> +++ b/drivers/iio/adc/twl4030-madc.c
> @@ -36,7 +36,6 @@
> #include <linux/platform_device.h>
> #include <linux/slab.h>
> #include <linux/i2c/twl.h>
> -#include <linux/i2c/twl4030-madc.h>
> #include <linux/module.h>
> #include <linux/stddef.h>
> #include <linux/mutex.h>
> @@ -49,9 +48,121 @@
>
> #include <linux/iio/iio.h>
>
> +#define TWL4030_MADC_MAX_CHANNELS 16
> +
> +#define TWL4030_MADC_CTRL1 0x00
> +#define TWL4030_MADC_CTRL2 0x01
> +
> +#define TWL4030_MADC_RTSELECT_LSB 0x02
> +#define TWL4030_MADC_SW1SELECT_LSB 0x06
> +#define TWL4030_MADC_SW2SELECT_LSB 0x0A
> +
> +#define TWL4030_MADC_RTAVERAGE_LSB 0x04
> +#define TWL4030_MADC_SW1AVERAGE_LSB 0x08
> +#define TWL4030_MADC_SW2AVERAGE_LSB 0x0C
> +
> +#define TWL4030_MADC_CTRL_SW1 0x12
> +#define TWL4030_MADC_CTRL_SW2 0x13
> +
> +#define TWL4030_MADC_RTCH0_LSB 0x17
> +#define TWL4030_MADC_GPCH0_LSB 0x37
> +
> +#define TWL4030_MADC_MADCON (1 << 0) /* MADC power on */
> +#define TWL4030_MADC_BUSY (1 << 0) /* MADC busy */
> +/* MADC conversion completion */
> +#define TWL4030_MADC_EOC_SW (1 << 1)
> +/* MADC SWx start conversion */
> +#define TWL4030_MADC_SW_START (1 << 5)
> +#define TWL4030_MADC_ADCIN0 (1 << 0)
> +#define TWL4030_MADC_ADCIN1 (1 << 1)
> +#define TWL4030_MADC_ADCIN2 (1 << 2)
> +#define TWL4030_MADC_ADCIN3 (1 << 3)
> +#define TWL4030_MADC_ADCIN4 (1 << 4)
> +#define TWL4030_MADC_ADCIN5 (1 << 5)
> +#define TWL4030_MADC_ADCIN6 (1 << 6)
> +#define TWL4030_MADC_ADCIN7 (1 << 7)
> +#define TWL4030_MADC_ADCIN8 (1 << 8)
> +#define TWL4030_MADC_ADCIN9 (1 << 9)
> +#define TWL4030_MADC_ADCIN10 (1 << 10)
> +#define TWL4030_MADC_ADCIN11 (1 << 11)
> +#define TWL4030_MADC_ADCIN12 (1 << 12)
> +#define TWL4030_MADC_ADCIN13 (1 << 13)
> +#define TWL4030_MADC_ADCIN14 (1 << 14)
> +#define TWL4030_MADC_ADCIN15 (1 << 15)
> +
> +/* Fixed channels */
> +#define TWL4030_MADC_BTEMP TWL4030_MADC_ADCIN1
> +#define TWL4030_MADC_VBUS TWL4030_MADC_ADCIN8
> +#define TWL4030_MADC_VBKB TWL4030_MADC_ADCIN9
> +#define TWL4030_MADC_ICHG TWL4030_MADC_ADCIN10
> +#define TWL4030_MADC_VCHG TWL4030_MADC_ADCIN11
> +#define TWL4030_MADC_VBAT TWL4030_MADC_ADCIN12
> +
> +/* Step size and prescaler ratio */
> +#define TEMP_STEP_SIZE 147
> +#define TEMP_PSR_R 100
> +#define CURR_STEP_SIZE 147
> +#define CURR_PSR_R1 44
> +#define CURR_PSR_R2 88
> +
> +#define TWL4030_BCI_BCICTL1 0x23
> +#define TWL4030_BCI_CGAIN 0x020
> +#define TWL4030_BCI_MESBAT (1 << 1)
> +#define TWL4030_BCI_TYPEN (1 << 4)
> +#define TWL4030_BCI_ITHEN (1 << 3)
> +
> +#define REG_BCICTL2 0x024
> +#define TWL4030_BCI_ITHSENS 0x007
> +
> +/* Register and bits for GPBR1 register */
> +#define TWL4030_REG_GPBR1 0x0c
> +#define TWL4030_GPBR1_MADC_HFCLK_EN (1 << 7)
> +
> #define TWL4030_USB_SEL_MADC_MCPC (1<<3)
> #define TWL4030_USB_CARKIT_ANA_CTRL 0xBB
>
> +struct twl4030_madc_conversion_method {
> + u8 sel;
> + u8 avg;
> + u8 rbase;
> + u8 ctrl;
> +};
> +
> +/**
> + * struct twl4030_madc_request - madc request packet for channel conversion
> + * @channels: 16 bit bitmap for individual channels
> + * @do_avg: sample the input channel for 4 consecutive cycles
> + * @method: RT, SW1, SW2
> + * @type: Polling or interrupt based method
> + * @active: Flag if request is active
> + * @result_pending: Flag from irq handler, that result is ready
> + * @raw: Return raw value, do not convert it
> + * @rbuf: Result buffer
> + */
> +struct twl4030_madc_request {
> + unsigned long channels;
> + bool do_avg;
> + u16 method;
> + u16 type;
> + bool active;
> + bool result_pending;
> + bool raw;
> + int rbuf[TWL4030_MADC_MAX_CHANNELS];
> +};
> +
> +enum conversion_methods {
> + TWL4030_MADC_RT,
> + TWL4030_MADC_SW1,
> + TWL4030_MADC_SW2,
> + TWL4030_MADC_NUM_METHODS
> +};
> +
> +enum sample_type {
> + TWL4030_MADC_WAIT,
> + TWL4030_MADC_IRQ_ONESHOT,
> + TWL4030_MADC_IRQ_REARM
> +};
> +
> /**
> * struct twl4030_madc_data - a container for madc info
> * @dev: Pointer to device structure for madc
> diff --git a/include/linux/i2c/twl4030-madc.h b/include/linux/i2c/twl4030-madc.h
> deleted file mode 100644
> index 34e94747b61e..000000000000
> --- a/include/linux/i2c/twl4030-madc.h
> +++ /dev/null
> @@ -1,137 +0,0 @@
> -/*
> - * twl4030_madc.h - Header for TWL4030 MADC
> - *
> - * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
> - * J Keerthy <j-keerthy@ti.com>
> - *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms of the GNU General Public License
> - * version 2 as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful, but
> - * WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> - * General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; if not, write to the Free Software
> - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> - * 02110-1301 USA
> - *
> - */
> -
> -#ifndef _TWL4030_MADC_H
> -#define _TWL4030_MADC_H
> -
> -struct twl4030_madc_conversion_method {
> - u8 sel;
> - u8 avg;
> - u8 rbase;
> - u8 ctrl;
> -};
> -
> -#define TWL4030_MADC_MAX_CHANNELS 16
> -
> -
> -/*
> - * twl4030_madc_request- madc request packet for channel conversion
> - * @channels: 16 bit bitmap for individual channels
> - * @do_avgP: sample the input channel for 4 consecutive cycles
> - * @method: RT, SW1, SW2
> - * @type: Polling or interrupt based method
> - * @raw: Return raw value, do not convert it
> - */
> -
> -struct twl4030_madc_request {
> - unsigned long channels;
> - bool do_avg;
> - u16 method;
> - u16 type;
> - bool active;
> - bool result_pending;
> - bool raw;
> - int rbuf[TWL4030_MADC_MAX_CHANNELS];
> -};
> -
> -enum conversion_methods {
> - TWL4030_MADC_RT,
> - TWL4030_MADC_SW1,
> - TWL4030_MADC_SW2,
> - TWL4030_MADC_NUM_METHODS
> -};
> -
> -enum sample_type {
> - TWL4030_MADC_WAIT,
> - TWL4030_MADC_IRQ_ONESHOT,
> - TWL4030_MADC_IRQ_REARM
> -};
> -
> -#define TWL4030_MADC_CTRL1 0x00
> -#define TWL4030_MADC_CTRL2 0x01
> -
> -#define TWL4030_MADC_RTSELECT_LSB 0x02
> -#define TWL4030_MADC_SW1SELECT_LSB 0x06
> -#define TWL4030_MADC_SW2SELECT_LSB 0x0A
> -
> -#define TWL4030_MADC_RTAVERAGE_LSB 0x04
> -#define TWL4030_MADC_SW1AVERAGE_LSB 0x08
> -#define TWL4030_MADC_SW2AVERAGE_LSB 0x0C
> -
> -#define TWL4030_MADC_CTRL_SW1 0x12
> -#define TWL4030_MADC_CTRL_SW2 0x13
> -
> -#define TWL4030_MADC_RTCH0_LSB 0x17
> -#define TWL4030_MADC_GPCH0_LSB 0x37
> -
> -#define TWL4030_MADC_MADCON (1 << 0) /* MADC power on */
> -#define TWL4030_MADC_BUSY (1 << 0) /* MADC busy */
> -/* MADC conversion completion */
> -#define TWL4030_MADC_EOC_SW (1 << 1)
> -/* MADC SWx start conversion */
> -#define TWL4030_MADC_SW_START (1 << 5)
> -#define TWL4030_MADC_ADCIN0 (1 << 0)
> -#define TWL4030_MADC_ADCIN1 (1 << 1)
> -#define TWL4030_MADC_ADCIN2 (1 << 2)
> -#define TWL4030_MADC_ADCIN3 (1 << 3)
> -#define TWL4030_MADC_ADCIN4 (1 << 4)
> -#define TWL4030_MADC_ADCIN5 (1 << 5)
> -#define TWL4030_MADC_ADCIN6 (1 << 6)
> -#define TWL4030_MADC_ADCIN7 (1 << 7)
> -#define TWL4030_MADC_ADCIN8 (1 << 8)
> -#define TWL4030_MADC_ADCIN9 (1 << 9)
> -#define TWL4030_MADC_ADCIN10 (1 << 10)
> -#define TWL4030_MADC_ADCIN11 (1 << 11)
> -#define TWL4030_MADC_ADCIN12 (1 << 12)
> -#define TWL4030_MADC_ADCIN13 (1 << 13)
> -#define TWL4030_MADC_ADCIN14 (1 << 14)
> -#define TWL4030_MADC_ADCIN15 (1 << 15)
> -
> -/* Fixed channels */
> -#define TWL4030_MADC_BTEMP TWL4030_MADC_ADCIN1
> -#define TWL4030_MADC_VBUS TWL4030_MADC_ADCIN8
> -#define TWL4030_MADC_VBKB TWL4030_MADC_ADCIN9
> -#define TWL4030_MADC_ICHG TWL4030_MADC_ADCIN10
> -#define TWL4030_MADC_VCHG TWL4030_MADC_ADCIN11
> -#define TWL4030_MADC_VBAT TWL4030_MADC_ADCIN12
> -
> -/* Step size and prescaler ratio */
> -#define TEMP_STEP_SIZE 147
> -#define TEMP_PSR_R 100
> -#define CURR_STEP_SIZE 147
> -#define CURR_PSR_R1 44
> -#define CURR_PSR_R2 88
> -
> -#define TWL4030_BCI_BCICTL1 0x23
> -#define TWL4030_BCI_CGAIN 0x020
> -#define TWL4030_BCI_MESBAT (1 << 1)
> -#define TWL4030_BCI_TYPEN (1 << 4)
> -#define TWL4030_BCI_ITHEN (1 << 3)
> -
> -#define REG_BCICTL2 0x024
> -#define TWL4030_BCI_ITHSENS 0x007
> -
> -/* Register and bits for GPBR1 register */
> -#define TWL4030_REG_GPBR1 0x0c
> -#define TWL4030_GPBR1_MADC_HFCLK_EN (1 << 7)
> -
> -#endif
>
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 1/7] hwmon: twl4030-madc: drop driver
2017-04-27 16:51 ` Guenter Roeck
@ 2017-04-30 16:41 ` Jonathan Cameron
2017-04-30 18:46 ` Guenter Roeck
2017-05-01 9:27 ` Sebastian Reichel
0 siblings, 2 replies; 27+ messages in thread
From: Jonathan Cameron @ 2017-04-30 16:41 UTC (permalink / raw)
To: Guenter Roeck, Sebastian Reichel
Cc: Sebastian Reichel, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler, Jean Delvare, J Keerthy, linux-iio,
linux-hwmon, linux-kernel, Wolfram Sang
On 27/04/17 17:51, Guenter Roeck wrote:
> On Thu, Apr 27, 2017 at 05:30:06PM +0200, Sebastian Reichel wrote:
>> This driver is no longer needed:
>>
>> * It has no mainline users
>> * It has no DT support and OMAP is DT only
>> * iio-hwmon can be used for madc, which also works with DT
>>
>> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
>
> Acked-by: Guenter Roeck <linux@roeck-us.net>
>
> ... assuming this will be pushed through the same tree as the rest
> of the series. Let me know if I should queue it up in hwmon for v4.12.
We are too late for the series to go through IIO for the 4.12 cycle, so I guess it
makes sense to take this one through hwmon if you still have time.
I can then pick up the rest once I have acks from Wolfram
(who should have been cc'd as we are hoovering up things from the
i2c directories in this series) + power supply side of things.
Jonathan
>
> Thanks,
> Guenter
>
>> ---
>> drivers/hwmon/Kconfig | 10 ----
>> drivers/hwmon/Makefile | 1 -
>> drivers/hwmon/twl4030-madc-hwmon.c | 118 -------------------------------------
>> 3 files changed, 129 deletions(-)
>> delete mode 100644 drivers/hwmon/twl4030-madc-hwmon.c
>>
>> diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
>> index 0649d53f3d16..776d1ac2bfee 100644
>> --- a/drivers/hwmon/Kconfig
>> +++ b/drivers/hwmon/Kconfig
>> @@ -1643,16 +1643,6 @@ config SENSORS_TMP421
>> This driver can also be built as a module. If so, the module
>> will be called tmp421.
>>
>> -config SENSORS_TWL4030_MADC
>> - tristate "Texas Instruments TWL4030 MADC Hwmon"
>> - depends on TWL4030_MADC
>> - help
>> - If you say yes here you get hwmon support for triton
>> - TWL4030-MADC.
>> -
>> - This driver can also be built as a module. If so it will be called
>> - twl4030-madc-hwmon.
>> -
>> config SENSORS_VEXPRESS
>> tristate "Versatile Express"
>> depends on VEXPRESS_CONFIG
>> diff --git a/drivers/hwmon/Makefile b/drivers/hwmon/Makefile
>> index 5509edf6186a..c05530d6cb6e 100644
>> --- a/drivers/hwmon/Makefile
>> +++ b/drivers/hwmon/Makefile
>> @@ -157,7 +157,6 @@ obj-$(CONFIG_SENSORS_TMP103) += tmp103.o
>> obj-$(CONFIG_SENSORS_TMP108) += tmp108.o
>> obj-$(CONFIG_SENSORS_TMP401) += tmp401.o
>> obj-$(CONFIG_SENSORS_TMP421) += tmp421.o
>> -obj-$(CONFIG_SENSORS_TWL4030_MADC)+= twl4030-madc-hwmon.o
>> obj-$(CONFIG_SENSORS_VEXPRESS) += vexpress-hwmon.o
>> obj-$(CONFIG_SENSORS_VIA_CPUTEMP)+= via-cputemp.o
>> obj-$(CONFIG_SENSORS_VIA686A) += via686a.o
>> diff --git a/drivers/hwmon/twl4030-madc-hwmon.c b/drivers/hwmon/twl4030-madc-hwmon.c
>> deleted file mode 100644
>> index b5caf7fdb487..000000000000
>> --- a/drivers/hwmon/twl4030-madc-hwmon.c
>> +++ /dev/null
>> @@ -1,118 +0,0 @@
>> -/*
>> - *
>> - * TWL4030 MADC Hwmon driver-This driver monitors the real time
>> - * conversion of analog signals like battery temperature,
>> - * battery type, battery level etc. User can ask for the conversion on a
>> - * particular channel using the sysfs nodes.
>> - *
>> - * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
>> - * J Keerthy <j-keerthy@ti.com>
>> - *
>> - * This program is free software; you can redistribute it and/or
>> - * modify it under the terms of the GNU General Public License
>> - * version 2 as published by the Free Software Foundation.
>> - *
>> - * This program is distributed in the hope that it will be useful, but
>> - * WITHOUT ANY WARRANTY; without even the implied warranty of
>> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
>> - * General Public License for more details.
>> - *
>> - * You should have received a copy of the GNU General Public License
>> - * along with this program; if not, write to the Free Software
>> - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
>> - * 02110-1301 USA
>> - *
>> - */
>> -#include <linux/init.h>
>> -#include <linux/module.h>
>> -#include <linux/kernel.h>
>> -#include <linux/i2c/twl.h>
>> -#include <linux/device.h>
>> -#include <linux/platform_device.h>
>> -#include <linux/i2c/twl4030-madc.h>
>> -#include <linux/hwmon.h>
>> -#include <linux/hwmon-sysfs.h>
>> -#include <linux/stddef.h>
>> -#include <linux/sysfs.h>
>> -#include <linux/err.h>
>> -#include <linux/types.h>
>> -
>> -/*
>> - * sysfs hook function
>> - */
>> -static ssize_t madc_read(struct device *dev,
>> - struct device_attribute *devattr, char *buf)
>> -{
>> - struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
>> - struct twl4030_madc_request req = {
>> - .channels = 1 << attr->index,
>> - .method = TWL4030_MADC_SW2,
>> - .type = TWL4030_MADC_WAIT,
>> - };
>> - long val;
>> -
>> - val = twl4030_madc_conversion(&req);
>> - if (val < 0)
>> - return val;
>> -
>> - return sprintf(buf, "%d\n", req.rbuf[attr->index]);
>> -}
>> -
>> -/* sysfs nodes to read individual channels from user side */
>> -static SENSOR_DEVICE_ATTR(in0_input, S_IRUGO, madc_read, NULL, 0);
>> -static SENSOR_DEVICE_ATTR(temp1_input, S_IRUGO, madc_read, NULL, 1);
>> -static SENSOR_DEVICE_ATTR(in2_input, S_IRUGO, madc_read, NULL, 2);
>> -static SENSOR_DEVICE_ATTR(in3_input, S_IRUGO, madc_read, NULL, 3);
>> -static SENSOR_DEVICE_ATTR(in4_input, S_IRUGO, madc_read, NULL, 4);
>> -static SENSOR_DEVICE_ATTR(in5_input, S_IRUGO, madc_read, NULL, 5);
>> -static SENSOR_DEVICE_ATTR(in6_input, S_IRUGO, madc_read, NULL, 6);
>> -static SENSOR_DEVICE_ATTR(in7_input, S_IRUGO, madc_read, NULL, 7);
>> -static SENSOR_DEVICE_ATTR(in8_input, S_IRUGO, madc_read, NULL, 8);
>> -static SENSOR_DEVICE_ATTR(in9_input, S_IRUGO, madc_read, NULL, 9);
>> -static SENSOR_DEVICE_ATTR(curr10_input, S_IRUGO, madc_read, NULL, 10);
>> -static SENSOR_DEVICE_ATTR(in11_input, S_IRUGO, madc_read, NULL, 11);
>> -static SENSOR_DEVICE_ATTR(in12_input, S_IRUGO, madc_read, NULL, 12);
>> -static SENSOR_DEVICE_ATTR(in15_input, S_IRUGO, madc_read, NULL, 15);
>> -
>> -static struct attribute *twl4030_madc_attrs[] = {
>> - &sensor_dev_attr_in0_input.dev_attr.attr,
>> - &sensor_dev_attr_temp1_input.dev_attr.attr,
>> - &sensor_dev_attr_in2_input.dev_attr.attr,
>> - &sensor_dev_attr_in3_input.dev_attr.attr,
>> - &sensor_dev_attr_in4_input.dev_attr.attr,
>> - &sensor_dev_attr_in5_input.dev_attr.attr,
>> - &sensor_dev_attr_in6_input.dev_attr.attr,
>> - &sensor_dev_attr_in7_input.dev_attr.attr,
>> - &sensor_dev_attr_in8_input.dev_attr.attr,
>> - &sensor_dev_attr_in9_input.dev_attr.attr,
>> - &sensor_dev_attr_curr10_input.dev_attr.attr,
>> - &sensor_dev_attr_in11_input.dev_attr.attr,
>> - &sensor_dev_attr_in12_input.dev_attr.attr,
>> - &sensor_dev_attr_in15_input.dev_attr.attr,
>> - NULL
>> -};
>> -ATTRIBUTE_GROUPS(twl4030_madc);
>> -
>> -static int twl4030_madc_hwmon_probe(struct platform_device *pdev)
>> -{
>> - struct device *hwmon;
>> -
>> - hwmon = devm_hwmon_device_register_with_groups(&pdev->dev,
>> - "twl4030_madc", NULL,
>> - twl4030_madc_groups);
>> - return PTR_ERR_OR_ZERO(hwmon);
>> -}
>> -
>> -static struct platform_driver twl4030_madc_hwmon_driver = {
>> - .probe = twl4030_madc_hwmon_probe,
>> - .driver = {
>> - .name = "twl4030_madc_hwmon",
>> - },
>> -};
>> -
>> -module_platform_driver(twl4030_madc_hwmon_driver);
>> -
>> -MODULE_DESCRIPTION("TWL4030 ADC Hwmon driver");
>> -MODULE_LICENSE("GPL");
>> -MODULE_AUTHOR("J Keerthy");
>> -MODULE_ALIAS("platform:twl4030_madc_hwmon");
>> --
>> 2.11.0
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-iio" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 1/7] hwmon: twl4030-madc: drop driver
2017-04-30 16:41 ` Jonathan Cameron
@ 2017-04-30 18:46 ` Guenter Roeck
2017-05-01 9:27 ` Sebastian Reichel
1 sibling, 0 replies; 27+ messages in thread
From: Guenter Roeck @ 2017-04-30 18:46 UTC (permalink / raw)
To: Jonathan Cameron, Sebastian Reichel
Cc: Sebastian Reichel, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler, Jean Delvare, J Keerthy, linux-iio,
linux-hwmon, linux-kernel, Wolfram Sang
On 04/30/2017 09:41 AM, Jonathan Cameron wrote:
> On 27/04/17 17:51, Guenter Roeck wrote:
>> On Thu, Apr 27, 2017 at 05:30:06PM +0200, Sebastian Reichel wrote:
>>> This driver is no longer needed:
>>>
>>> * It has no mainline users
>>> * It has no DT support and OMAP is DT only
>>> * iio-hwmon can be used for madc, which also works with DT
>>>
>>> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
>>
>> Acked-by: Guenter Roeck <linux@roeck-us.net>
>>
>> ... assuming this will be pushed through the same tree as the rest
>> of the series. Let me know if I should queue it up in hwmon for v4.12.
> We are too late for the series to go through IIO for the 4.12 cycle, so I guess it
> makes sense to take this one through hwmon if you still have time.
>
Ok, done.
Guenter
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 1/7] hwmon: twl4030-madc: drop driver
2017-04-30 16:41 ` Jonathan Cameron
2017-04-30 18:46 ` Guenter Roeck
@ 2017-05-01 9:27 ` Sebastian Reichel
2017-05-01 10:38 ` Wolfram Sang
1 sibling, 1 reply; 27+ messages in thread
From: Sebastian Reichel @ 2017-05-01 9:27 UTC (permalink / raw)
To: Jonathan Cameron; +Cc: linux-iio, linux-hwmon, linux-kernel, Wolfram Sang
[-- Attachment #1: Type: text/plain, Size: 1437 bytes --]
Hi,
On Sun, Apr 30, 2017 at 05:41:05PM +0100, Jonathan Cameron wrote:
> On 27/04/17 17:51, Guenter Roeck wrote:
> > On Thu, Apr 27, 2017 at 05:30:06PM +0200, Sebastian Reichel wrote:
> >> This driver is no longer needed:
> >>
> >> * It has no mainline users
> >> * It has no DT support and OMAP is DT only
> >> * iio-hwmon can be used for madc, which also works with DT
> >>
> >> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
> >
> > Acked-by: Guenter Roeck <linux@roeck-us.net>
> >
> > ... assuming this will be pushed through the same tree as the rest
> > of the series. Let me know if I should queue it up in hwmon for v4.12.
> We are too late for the series to go through IIO for the 4.12 cycle, so I guess it
> makes sense to take this one through hwmon if you still have time.
>
> I can then pick up the rest once I have acks from Wolfram
> (who should have been cc'd as we are hoovering up things from the
> i2c directories in this series)
$ ./scripts/get_maintainer.pl -f include/linux/i2c/twl4030-madc.h
linux-kernel@vger.kernel.org (open list)
This directory contains headers for random i2c chips
and Wolfram maintains the bus drivers (and is already
overloaded with work afaik), so I did not Cc him.
> + power supply side of things.
I just send my pull-request for 4.12. I will queue this up for my
early -rc/late merge window pull-request.
-- Sebastian
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 1/7] hwmon: twl4030-madc: drop driver
2017-05-01 9:27 ` Sebastian Reichel
@ 2017-05-01 10:38 ` Wolfram Sang
0 siblings, 0 replies; 27+ messages in thread
From: Wolfram Sang @ 2017-05-01 10:38 UTC (permalink / raw)
To: Sebastian Reichel; +Cc: Jonathan Cameron, linux-iio, linux-hwmon, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 824 bytes --]
> > I can then pick up the rest once I have acks from Wolfram
> > (who should have been cc'd as we are hoovering up things from the
> > i2c directories in this series)
>
> $ ./scripts/get_maintainer.pl -f include/linux/i2c/twl4030-madc.h
> linux-kernel@vger.kernel.org (open list)
>
> This directory contains headers for random i2c chips
> and Wolfram maintains the bus drivers (and is already
> overloaded with work afaik), so I did not Cc him.
You both have a point :) I should maintain include/linux/i2c but as it
is mainly cruft at the moment, I don't do it very actively.
That being said, I now noticed the patchset and am super happy for the
move of the include file to the proper place. So, for all patches
touching include/linux/i2c:
Acked-by: Wolfram Sang <wsa@the-dreams.de>
Thanks!
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 2/7] power: supply: avoid unused twl4030-madc.h
2017-04-27 15:30 ` [PATCH 2/7] power: supply: avoid unused twl4030-madc.h Sebastian Reichel
@ 2017-05-01 11:51 ` Sebastian Reichel
0 siblings, 0 replies; 27+ messages in thread
From: Sebastian Reichel @ 2017-05-01 11:51 UTC (permalink / raw)
To: Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler, Jean Delvare, Guenter Roeck
Cc: J Keerthy, linux-iio, linux-hwmon, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 379 bytes --]
Hi,
On Thu, Apr 27, 2017 at 05:30:07PM +0200, Sebastian Reichel wrote:
> Avoid inclusion of unused twl4030-madc.h. This
> will allow twl4030-madc.h to be merged into the
> iio driver.
>
> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Queued into power-supply's for-next. I plan to
send a second pull-request for power-supply.
-- Sebastian
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 0/7] twl4030-madc cleanup
2017-04-27 15:30 [PATCH 0/7] twl4030-madc cleanup Sebastian Reichel
` (6 preceding siblings ...)
2017-04-27 15:30 ` [PATCH 7/7] iio: adc: twl4030: Fold twl4030-madc.h into driver Sebastian Reichel
@ 2017-05-20 16:54 ` Sebastian Reichel
2017-05-20 17:57 ` Jonathan Cameron
7 siblings, 1 reply; 27+ messages in thread
From: Sebastian Reichel @ 2017-05-20 16:54 UTC (permalink / raw)
To: Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler
Cc: linux-iio
[-- Attachment #1: Type: text/plain, Size: 754 bytes --]
Hi,
> Here are a few cleanup patches for the twl4030-madc
> driver, that remove the last users of the driver's
> legacy API and then remove it.
>
> Sebastian Reichel (7):
> hwmon: twl4030-madc: drop driver
> power: supply: avoid unused twl4030-madc.h
> iio: adc: twl4030: Drop twl4030_get_madc_conversion()
> iio: adc: twl4030: Unexport twl4030_madc_conversion()
> iio: adc: twl4030: Drop struct twl4030_madc_user_parms
> iio: adc: twl4030: Remove twl4030_madc_request.func_cb
> iio: adc: twl4030: Fold twl4030-madc.h into driver
Just a reminder, that patch 1 & 2 have been merged into 4.12-rc1
and Wolfram acked the changes to header in include/linux/i2c,
so patch 3-7 can be queued by iio for 4.13 :)
-- Sebastian
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 0/7] twl4030-madc cleanup
2017-05-20 16:54 ` [PATCH 0/7] twl4030-madc cleanup Sebastian Reichel
@ 2017-05-20 17:57 ` Jonathan Cameron
2017-06-03 9:43 ` Jonathan Cameron
0 siblings, 1 reply; 27+ messages in thread
From: Jonathan Cameron @ 2017-05-20 17:57 UTC (permalink / raw)
To: Sebastian Reichel, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler
Cc: linux-iio
On 20/05/17 17:54, Sebastian Reichel wrote:
> Hi,
>
>> Here are a few cleanup patches for the twl4030-madc
>> driver, that remove the last users of the driver's
>> legacy API and then remove it.
>>
>> Sebastian Reichel (7):
>> hwmon: twl4030-madc: drop driver
>> power: supply: avoid unused twl4030-madc.h
>> iio: adc: twl4030: Drop twl4030_get_madc_conversion()
>> iio: adc: twl4030: Unexport twl4030_madc_conversion()
>> iio: adc: twl4030: Drop struct twl4030_madc_user_parms
>> iio: adc: twl4030: Remove twl4030_madc_request.func_cb
>> iio: adc: twl4030: Fold twl4030-madc.h into driver
>
> Just a reminder, that patch 1 & 2 have been merged into 4.12-rc1
> and Wolfram acked the changes to header in include/linux/i2c,
> so patch 3-7 can be queued by iio for 4.13 :)
>
> -- Sebastian
>
Thanks for the reminder. I'll have to wait until I've fast
forwarded my togreg branch of iio.git (possibly a week or
so) as I have a lot of stuff queued up from prior to and
during the merge window. That'll pull in the driver drop at
which point the rest should go in nicely.
Anyhow, please feel free to remind me again if I look
like I've forgotten this after the fast forward merge has
occurred.
Jonathan
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 3/7] iio: adc: twl4030: Drop twl4030_get_madc_conversion()
2017-04-30 16:35 ` Jonathan Cameron
@ 2017-06-03 9:36 ` Jonathan Cameron
0 siblings, 0 replies; 27+ messages in thread
From: Jonathan Cameron @ 2017-06-03 9:36 UTC (permalink / raw)
To: Sebastian Reichel, Sebastian Reichel, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler, Jean Delvare,
Guenter Roeck
Cc: J Keerthy, linux-iio, linux-hwmon, linux-kernel
On Sun, 30 Apr 2017 17:35:04 +0100
Jonathan Cameron <jic23@kernel.org> wrote:
> On 27/04/17 16:30, Sebastian Reichel wrote:
> > Drop legacy twl4030_get_madc_conversion() method. It has been
> > used by drivers to get madc data before it conversion to IIO
> > API. There are no users in the mainline kernel anymore.
> >
> > Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
> Acked-by: Jonathan Cameron <jic23@kernel.org>
Applied to the togreg branch of iio.git and pushed out as testing
for the autobuilders to play with it.
Thanks,
Jonathan
> > ---
> > drivers/iio/adc/twl4030-madc.c | 21 ---------------------
> > include/linux/i2c/twl4030-madc.h | 1 -
> > 2 files changed, 22 deletions(-)
> >
> > diff --git a/drivers/iio/adc/twl4030-madc.c b/drivers/iio/adc/twl4030-madc.c
> > index 0c74869a540a..88e44066ef82 100644
> > --- a/drivers/iio/adc/twl4030-madc.c
> > +++ b/drivers/iio/adc/twl4030-madc.c
> > @@ -642,27 +642,6 @@ int twl4030_madc_conversion(struct twl4030_madc_request *req)
> > }
> > EXPORT_SYMBOL_GPL(twl4030_madc_conversion);
> >
> > -int twl4030_get_madc_conversion(int channel_no)
> > -{
> > - struct twl4030_madc_request req;
> > - int temp = 0;
> > - int ret;
> > -
> > - req.channels = (1 << channel_no);
> > - req.method = TWL4030_MADC_SW2;
> > - req.active = 0;
> > - req.raw = 0;
> > - req.func_cb = NULL;
> > - ret = twl4030_madc_conversion(&req);
> > - if (ret < 0)
> > - return ret;
> > - if (req.rbuf[channel_no] > 0)
> > - temp = req.rbuf[channel_no];
> > -
> > - return temp;
> > -}
> > -EXPORT_SYMBOL_GPL(twl4030_get_madc_conversion);
> > -
> > /**
> > * twl4030_madc_set_current_generator() - setup bias current
> > *
> > diff --git a/include/linux/i2c/twl4030-madc.h b/include/linux/i2c/twl4030-madc.h
> > index 1c0134dd3271..0c919ebb31e0 100644
> > --- a/include/linux/i2c/twl4030-madc.h
> > +++ b/include/linux/i2c/twl4030-madc.h
> > @@ -143,5 +143,4 @@ struct twl4030_madc_user_parms {
> > };
> >
> > int twl4030_madc_conversion(struct twl4030_madc_request *conv);
> > -int twl4030_get_madc_conversion(int channel_no);
> > #endif
> >
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-iio" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 4/7] iio: adc: twl4030: Unexport twl4030_madc_conversion()
2017-04-30 16:35 ` Jonathan Cameron
@ 2017-06-03 9:37 ` Jonathan Cameron
0 siblings, 0 replies; 27+ messages in thread
From: Jonathan Cameron @ 2017-06-03 9:37 UTC (permalink / raw)
To: Sebastian Reichel, Sebastian Reichel, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler, Jean Delvare,
Guenter Roeck
Cc: J Keerthy, linux-iio, linux-hwmon, linux-kernel
On Sun, 30 Apr 2017 17:35:47 +0100
Jonathan Cameron <jic23@kernel.org> wrote:
> On 27/04/17 16:30, Sebastian Reichel wrote:
> > All madc users have been converted to IIO API, so drop the
> > legacy API. The function is still used inside of the driver.
> >
> > Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
> Acked-by: Jonathan Cameron <jic23@kernel.org>
Applied to the togreg branch of iio.git and pushed out
as testing for the autobuilders to play with them.
thanks,
Jonathan
> > ---
> > drivers/iio/adc/twl4030-madc.c | 5 +++--
> > include/linux/i2c/twl4030-madc.h | 2 --
> > 2 files changed, 3 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/iio/adc/twl4030-madc.c b/drivers/iio/adc/twl4030-madc.c
> > index 88e44066ef82..be60f76d1a50 100644
> > --- a/drivers/iio/adc/twl4030-madc.c
> > +++ b/drivers/iio/adc/twl4030-madc.c
> > @@ -72,6 +72,8 @@ struct twl4030_madc_data {
> > u8 isr;
> > };
> >
> > +static int twl4030_madc_conversion(struct twl4030_madc_request *req);
> > +
> > static int twl4030_madc_read(struct iio_dev *iio_dev,
> > const struct iio_chan_spec *chan,
> > int *val, int *val2, long mask)
> > @@ -568,7 +570,7 @@ static int twl4030_madc_wait_conversion_ready(struct twl4030_madc_data *madc,
> > * be a negative error value in the corresponding array element.
> > * returns 0 if succeeds else error value
> > */
> > -int twl4030_madc_conversion(struct twl4030_madc_request *req)
> > +static int twl4030_madc_conversion(struct twl4030_madc_request *req)
> > {
> > const struct twl4030_madc_conversion_method *method;
> > int ret;
> > @@ -640,7 +642,6 @@ int twl4030_madc_conversion(struct twl4030_madc_request *req)
> >
> > return ret;
> > }
> > -EXPORT_SYMBOL_GPL(twl4030_madc_conversion);
> >
> > /**
> > * twl4030_madc_set_current_generator() - setup bias current
> > diff --git a/include/linux/i2c/twl4030-madc.h b/include/linux/i2c/twl4030-madc.h
> > index 0c919ebb31e0..be9260e261ac 100644
> > --- a/include/linux/i2c/twl4030-madc.h
> > +++ b/include/linux/i2c/twl4030-madc.h
> > @@ -141,6 +141,4 @@ struct twl4030_madc_user_parms {
> > int status;
> > u16 result;
> > };
> > -
> > -int twl4030_madc_conversion(struct twl4030_madc_request *conv);
> > #endif
> >
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-iio" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 5/7] iio: adc: twl4030: Drop struct twl4030_madc_user_parms
2017-04-27 15:30 ` [PATCH 5/7] iio: adc: twl4030: Drop struct twl4030_madc_user_parms Sebastian Reichel
@ 2017-06-03 9:40 ` Jonathan Cameron
0 siblings, 0 replies; 27+ messages in thread
From: Jonathan Cameron @ 2017-06-03 9:40 UTC (permalink / raw)
To: Sebastian Reichel
Cc: Sebastian Reichel, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler, Jean Delvare, Guenter Roeck, J Keerthy,
linux-iio, linux-hwmon, linux-kernel
On Thu, 27 Apr 2017 17:30:10 +0200
Sebastian Reichel <sebastian.reichel@collabora.co.uk> wrote:
> This struct is no longer used by anything in the kernel.
>
> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Applied to the togreg branch of iio.git and pushed out as testing for
the autobuilders to see if we have missed anything.
Jonathan
> ---
> include/linux/i2c/twl4030-madc.h | 6 ------
> 1 file changed, 6 deletions(-)
>
> diff --git a/include/linux/i2c/twl4030-madc.h b/include/linux/i2c/twl4030-madc.h
> index be9260e261ac..f395700fb933 100644
> --- a/include/linux/i2c/twl4030-madc.h
> +++ b/include/linux/i2c/twl4030-madc.h
> @@ -135,10 +135,4 @@ enum sample_type {
> #define TWL4030_REG_GPBR1 0x0c
> #define TWL4030_GPBR1_MADC_HFCLK_EN (1 << 7)
>
> -struct twl4030_madc_user_parms {
> - int channel;
> - int average;
> - int status;
> - u16 result;
> -};
> #endif
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 0/7] twl4030-madc cleanup
2017-05-20 17:57 ` Jonathan Cameron
@ 2017-06-03 9:43 ` Jonathan Cameron
2017-06-06 8:23 ` Sebastian Reichel
0 siblings, 1 reply; 27+ messages in thread
From: Jonathan Cameron @ 2017-06-03 9:43 UTC (permalink / raw)
To: Sebastian Reichel, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald-Stadler
Cc: linux-iio
On Sat, 20 May 2017 18:57:39 +0100
Jonathan Cameron <jic23@kernel.org> wrote:
> On 20/05/17 17:54, Sebastian Reichel wrote:
> > Hi,
> >
> >> Here are a few cleanup patches for the twl4030-madc
> >> driver, that remove the last users of the driver's
> >> legacy API and then remove it.
> >>
> >> Sebastian Reichel (7):
> >> hwmon: twl4030-madc: drop driver
> >> power: supply: avoid unused twl4030-madc.h
> >> iio: adc: twl4030: Drop twl4030_get_madc_conversion()
> >> iio: adc: twl4030: Unexport twl4030_madc_conversion()
> >> iio: adc: twl4030: Drop struct twl4030_madc_user_parms
> >> iio: adc: twl4030: Remove twl4030_madc_request.func_cb
> >> iio: adc: twl4030: Fold twl4030-madc.h into driver
> >
> > Just a reminder, that patch 1 & 2 have been merged into 4.12-rc1
> > and Wolfram acked the changes to header in include/linux/i2c,
> > so patch 3-7 can be queued by iio for 4.13 :)
> >
> > -- Sebastian
> >
> Thanks for the reminder. I'll have to wait until I've fast
> forwarded my togreg branch of iio.git (possibly a week or
> so) as I have a lot of stuff queued up from prior to and
> during the merge window. That'll pull in the driver drop at
> which point the rest should go in nicely.
>
> Anyhow, please feel free to remind me again if I look
> like I've forgotten this after the fast forward merge has
> occurred.
>
All now applied
Thanks,
Jonathan
> Jonathan
> --
> To unsubscribe from this list: send the line "unsubscribe linux-iio" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 7/7] iio: adc: twl4030: Fold twl4030-madc.h into driver
2017-04-30 16:38 ` Jonathan Cameron
@ 2017-06-03 9:45 ` Jonathan Cameron
0 siblings, 0 replies; 27+ messages in thread
From: Jonathan Cameron @ 2017-06-03 9:45 UTC (permalink / raw)
To: Sebastian Reichel, Sebastian Reichel, Hartmut Knaack,
Lars-Peter Clausen, Peter Meerwald-Stadler, Jean Delvare,
Guenter Roeck
Cc: J Keerthy, linux-iio, linux-hwmon, linux-kernel
On Sun, 30 Apr 2017 17:38:07 +0100
Jonathan Cameron <jic23@kernel.org> wrote:
> On 27/04/17 16:30, Sebastian Reichel wrote:
> > twl4030-madc.h is no longer used by anything outside of
> > the iio driver, so it can be merged into the driver.
> >
> > Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
> Acked-by: Jonathan Cameron <jic23@kernel.org>
Applied.
Thanks
Jonathan
> > ---
> > drivers/iio/adc/twl4030-madc.c | 113 +++++++++++++++++++++++++++++++-
> > include/linux/i2c/twl4030-madc.h | 137 ---------------------------------------
> > 2 files changed, 112 insertions(+), 138 deletions(-)
> > delete mode 100644 include/linux/i2c/twl4030-madc.h
> >
> > diff --git a/drivers/iio/adc/twl4030-madc.c b/drivers/iio/adc/twl4030-madc.c
> > index 21df5b932bd1..bd3d37fc2144 100644
> > --- a/drivers/iio/adc/twl4030-madc.c
> > +++ b/drivers/iio/adc/twl4030-madc.c
> > @@ -36,7 +36,6 @@
> > #include <linux/platform_device.h>
> > #include <linux/slab.h>
> > #include <linux/i2c/twl.h>
> > -#include <linux/i2c/twl4030-madc.h>
> > #include <linux/module.h>
> > #include <linux/stddef.h>
> > #include <linux/mutex.h>
> > @@ -49,9 +48,121 @@
> >
> > #include <linux/iio/iio.h>
> >
> > +#define TWL4030_MADC_MAX_CHANNELS 16
> > +
> > +#define TWL4030_MADC_CTRL1 0x00
> > +#define TWL4030_MADC_CTRL2 0x01
> > +
> > +#define TWL4030_MADC_RTSELECT_LSB 0x02
> > +#define TWL4030_MADC_SW1SELECT_LSB 0x06
> > +#define TWL4030_MADC_SW2SELECT_LSB 0x0A
> > +
> > +#define TWL4030_MADC_RTAVERAGE_LSB 0x04
> > +#define TWL4030_MADC_SW1AVERAGE_LSB 0x08
> > +#define TWL4030_MADC_SW2AVERAGE_LSB 0x0C
> > +
> > +#define TWL4030_MADC_CTRL_SW1 0x12
> > +#define TWL4030_MADC_CTRL_SW2 0x13
> > +
> > +#define TWL4030_MADC_RTCH0_LSB 0x17
> > +#define TWL4030_MADC_GPCH0_LSB 0x37
> > +
> > +#define TWL4030_MADC_MADCON (1 << 0) /* MADC power on */
> > +#define TWL4030_MADC_BUSY (1 << 0) /* MADC busy */
> > +/* MADC conversion completion */
> > +#define TWL4030_MADC_EOC_SW (1 << 1)
> > +/* MADC SWx start conversion */
> > +#define TWL4030_MADC_SW_START (1 << 5)
> > +#define TWL4030_MADC_ADCIN0 (1 << 0)
> > +#define TWL4030_MADC_ADCIN1 (1 << 1)
> > +#define TWL4030_MADC_ADCIN2 (1 << 2)
> > +#define TWL4030_MADC_ADCIN3 (1 << 3)
> > +#define TWL4030_MADC_ADCIN4 (1 << 4)
> > +#define TWL4030_MADC_ADCIN5 (1 << 5)
> > +#define TWL4030_MADC_ADCIN6 (1 << 6)
> > +#define TWL4030_MADC_ADCIN7 (1 << 7)
> > +#define TWL4030_MADC_ADCIN8 (1 << 8)
> > +#define TWL4030_MADC_ADCIN9 (1 << 9)
> > +#define TWL4030_MADC_ADCIN10 (1 << 10)
> > +#define TWL4030_MADC_ADCIN11 (1 << 11)
> > +#define TWL4030_MADC_ADCIN12 (1 << 12)
> > +#define TWL4030_MADC_ADCIN13 (1 << 13)
> > +#define TWL4030_MADC_ADCIN14 (1 << 14)
> > +#define TWL4030_MADC_ADCIN15 (1 << 15)
> > +
> > +/* Fixed channels */
> > +#define TWL4030_MADC_BTEMP TWL4030_MADC_ADCIN1
> > +#define TWL4030_MADC_VBUS TWL4030_MADC_ADCIN8
> > +#define TWL4030_MADC_VBKB TWL4030_MADC_ADCIN9
> > +#define TWL4030_MADC_ICHG TWL4030_MADC_ADCIN10
> > +#define TWL4030_MADC_VCHG TWL4030_MADC_ADCIN11
> > +#define TWL4030_MADC_VBAT TWL4030_MADC_ADCIN12
> > +
> > +/* Step size and prescaler ratio */
> > +#define TEMP_STEP_SIZE 147
> > +#define TEMP_PSR_R 100
> > +#define CURR_STEP_SIZE 147
> > +#define CURR_PSR_R1 44
> > +#define CURR_PSR_R2 88
> > +
> > +#define TWL4030_BCI_BCICTL1 0x23
> > +#define TWL4030_BCI_CGAIN 0x020
> > +#define TWL4030_BCI_MESBAT (1 << 1)
> > +#define TWL4030_BCI_TYPEN (1 << 4)
> > +#define TWL4030_BCI_ITHEN (1 << 3)
> > +
> > +#define REG_BCICTL2 0x024
> > +#define TWL4030_BCI_ITHSENS 0x007
> > +
> > +/* Register and bits for GPBR1 register */
> > +#define TWL4030_REG_GPBR1 0x0c
> > +#define TWL4030_GPBR1_MADC_HFCLK_EN (1 << 7)
> > +
> > #define TWL4030_USB_SEL_MADC_MCPC (1<<3)
> > #define TWL4030_USB_CARKIT_ANA_CTRL 0xBB
> >
> > +struct twl4030_madc_conversion_method {
> > + u8 sel;
> > + u8 avg;
> > + u8 rbase;
> > + u8 ctrl;
> > +};
> > +
> > +/**
> > + * struct twl4030_madc_request - madc request packet for channel conversion
> > + * @channels: 16 bit bitmap for individual channels
> > + * @do_avg: sample the input channel for 4 consecutive cycles
> > + * @method: RT, SW1, SW2
> > + * @type: Polling or interrupt based method
> > + * @active: Flag if request is active
> > + * @result_pending: Flag from irq handler, that result is ready
> > + * @raw: Return raw value, do not convert it
> > + * @rbuf: Result buffer
> > + */
> > +struct twl4030_madc_request {
> > + unsigned long channels;
> > + bool do_avg;
> > + u16 method;
> > + u16 type;
> > + bool active;
> > + bool result_pending;
> > + bool raw;
> > + int rbuf[TWL4030_MADC_MAX_CHANNELS];
> > +};
> > +
> > +enum conversion_methods {
> > + TWL4030_MADC_RT,
> > + TWL4030_MADC_SW1,
> > + TWL4030_MADC_SW2,
> > + TWL4030_MADC_NUM_METHODS
> > +};
> > +
> > +enum sample_type {
> > + TWL4030_MADC_WAIT,
> > + TWL4030_MADC_IRQ_ONESHOT,
> > + TWL4030_MADC_IRQ_REARM
> > +};
> > +
> > /**
> > * struct twl4030_madc_data - a container for madc info
> > * @dev: Pointer to device structure for madc
> > diff --git a/include/linux/i2c/twl4030-madc.h b/include/linux/i2c/twl4030-madc.h
> > deleted file mode 100644
> > index 34e94747b61e..000000000000
> > --- a/include/linux/i2c/twl4030-madc.h
> > +++ /dev/null
> > @@ -1,137 +0,0 @@
> > -/*
> > - * twl4030_madc.h - Header for TWL4030 MADC
> > - *
> > - * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
> > - * J Keerthy <j-keerthy@ti.com>
> > - *
> > - * This program is free software; you can redistribute it and/or
> > - * modify it under the terms of the GNU General Public License
> > - * version 2 as published by the Free Software Foundation.
> > - *
> > - * This program is distributed in the hope that it will be useful, but
> > - * WITHOUT ANY WARRANTY; without even the implied warranty of
> > - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> > - * General Public License for more details.
> > - *
> > - * You should have received a copy of the GNU General Public License
> > - * along with this program; if not, write to the Free Software
> > - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> > - * 02110-1301 USA
> > - *
> > - */
> > -
> > -#ifndef _TWL4030_MADC_H
> > -#define _TWL4030_MADC_H
> > -
> > -struct twl4030_madc_conversion_method {
> > - u8 sel;
> > - u8 avg;
> > - u8 rbase;
> > - u8 ctrl;
> > -};
> > -
> > -#define TWL4030_MADC_MAX_CHANNELS 16
> > -
> > -
> > -/*
> > - * twl4030_madc_request- madc request packet for channel conversion
> > - * @channels: 16 bit bitmap for individual channels
> > - * @do_avgP: sample the input channel for 4 consecutive cycles
> > - * @method: RT, SW1, SW2
> > - * @type: Polling or interrupt based method
> > - * @raw: Return raw value, do not convert it
> > - */
> > -
> > -struct twl4030_madc_request {
> > - unsigned long channels;
> > - bool do_avg;
> > - u16 method;
> > - u16 type;
> > - bool active;
> > - bool result_pending;
> > - bool raw;
> > - int rbuf[TWL4030_MADC_MAX_CHANNELS];
> > -};
> > -
> > -enum conversion_methods {
> > - TWL4030_MADC_RT,
> > - TWL4030_MADC_SW1,
> > - TWL4030_MADC_SW2,
> > - TWL4030_MADC_NUM_METHODS
> > -};
> > -
> > -enum sample_type {
> > - TWL4030_MADC_WAIT,
> > - TWL4030_MADC_IRQ_ONESHOT,
> > - TWL4030_MADC_IRQ_REARM
> > -};
> > -
> > -#define TWL4030_MADC_CTRL1 0x00
> > -#define TWL4030_MADC_CTRL2 0x01
> > -
> > -#define TWL4030_MADC_RTSELECT_LSB 0x02
> > -#define TWL4030_MADC_SW1SELECT_LSB 0x06
> > -#define TWL4030_MADC_SW2SELECT_LSB 0x0A
> > -
> > -#define TWL4030_MADC_RTAVERAGE_LSB 0x04
> > -#define TWL4030_MADC_SW1AVERAGE_LSB 0x08
> > -#define TWL4030_MADC_SW2AVERAGE_LSB 0x0C
> > -
> > -#define TWL4030_MADC_CTRL_SW1 0x12
> > -#define TWL4030_MADC_CTRL_SW2 0x13
> > -
> > -#define TWL4030_MADC_RTCH0_LSB 0x17
> > -#define TWL4030_MADC_GPCH0_LSB 0x37
> > -
> > -#define TWL4030_MADC_MADCON (1 << 0) /* MADC power on */
> > -#define TWL4030_MADC_BUSY (1 << 0) /* MADC busy */
> > -/* MADC conversion completion */
> > -#define TWL4030_MADC_EOC_SW (1 << 1)
> > -/* MADC SWx start conversion */
> > -#define TWL4030_MADC_SW_START (1 << 5)
> > -#define TWL4030_MADC_ADCIN0 (1 << 0)
> > -#define TWL4030_MADC_ADCIN1 (1 << 1)
> > -#define TWL4030_MADC_ADCIN2 (1 << 2)
> > -#define TWL4030_MADC_ADCIN3 (1 << 3)
> > -#define TWL4030_MADC_ADCIN4 (1 << 4)
> > -#define TWL4030_MADC_ADCIN5 (1 << 5)
> > -#define TWL4030_MADC_ADCIN6 (1 << 6)
> > -#define TWL4030_MADC_ADCIN7 (1 << 7)
> > -#define TWL4030_MADC_ADCIN8 (1 << 8)
> > -#define TWL4030_MADC_ADCIN9 (1 << 9)
> > -#define TWL4030_MADC_ADCIN10 (1 << 10)
> > -#define TWL4030_MADC_ADCIN11 (1 << 11)
> > -#define TWL4030_MADC_ADCIN12 (1 << 12)
> > -#define TWL4030_MADC_ADCIN13 (1 << 13)
> > -#define TWL4030_MADC_ADCIN14 (1 << 14)
> > -#define TWL4030_MADC_ADCIN15 (1 << 15)
> > -
> > -/* Fixed channels */
> > -#define TWL4030_MADC_BTEMP TWL4030_MADC_ADCIN1
> > -#define TWL4030_MADC_VBUS TWL4030_MADC_ADCIN8
> > -#define TWL4030_MADC_VBKB TWL4030_MADC_ADCIN9
> > -#define TWL4030_MADC_ICHG TWL4030_MADC_ADCIN10
> > -#define TWL4030_MADC_VCHG TWL4030_MADC_ADCIN11
> > -#define TWL4030_MADC_VBAT TWL4030_MADC_ADCIN12
> > -
> > -/* Step size and prescaler ratio */
> > -#define TEMP_STEP_SIZE 147
> > -#define TEMP_PSR_R 100
> > -#define CURR_STEP_SIZE 147
> > -#define CURR_PSR_R1 44
> > -#define CURR_PSR_R2 88
> > -
> > -#define TWL4030_BCI_BCICTL1 0x23
> > -#define TWL4030_BCI_CGAIN 0x020
> > -#define TWL4030_BCI_MESBAT (1 << 1)
> > -#define TWL4030_BCI_TYPEN (1 << 4)
> > -#define TWL4030_BCI_ITHEN (1 << 3)
> > -
> > -#define REG_BCICTL2 0x024
> > -#define TWL4030_BCI_ITHSENS 0x007
> > -
> > -/* Register and bits for GPBR1 register */
> > -#define TWL4030_REG_GPBR1 0x0c
> > -#define TWL4030_GPBR1_MADC_HFCLK_EN (1 << 7)
> > -
> > -#endif
> >
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-iio" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 0/7] twl4030-madc cleanup
2017-06-03 9:43 ` Jonathan Cameron
@ 2017-06-06 8:23 ` Sebastian Reichel
2017-06-11 15:04 ` Jonathan Cameron
0 siblings, 1 reply; 27+ messages in thread
From: Sebastian Reichel @ 2017-06-06 8:23 UTC (permalink / raw)
To: Jonathan Cameron
Cc: Hartmut Knaack, Lars-Peter Clausen, Peter Meerwald-Stadler,
linux-iio
[-- Attachment #1: Type: text/plain, Size: 1839 bytes --]
Hi Jonathan,
On Sat, Jun 03, 2017 at 10:43:30AM +0100, Jonathan Cameron wrote:
> On Sat, 20 May 2017 18:57:39 +0100
> Jonathan Cameron <jic23@kernel.org> wrote:
> > On 20/05/17 17:54, Sebastian Reichel wrote:
> > >> Here are a few cleanup patches for the twl4030-madc
> > >> driver, that remove the last users of the driver's
> > >> legacy API and then remove it.
> > >>
> > >> Sebastian Reichel (7):
> > >> hwmon: twl4030-madc: drop driver
> > >> power: supply: avoid unused twl4030-madc.h
> > >> iio: adc: twl4030: Drop twl4030_get_madc_conversion()
> > >> iio: adc: twl4030: Unexport twl4030_madc_conversion()
> > >> iio: adc: twl4030: Drop struct twl4030_madc_user_parms
> > >> iio: adc: twl4030: Remove twl4030_madc_request.func_cb
> > >> iio: adc: twl4030: Fold twl4030-madc.h into driver
> > >
> > > Just a reminder, that patch 1 & 2 have been merged into 4.12-rc1
> > > and Wolfram acked the changes to header in include/linux/i2c,
> > > so patch 3-7 can be queued by iio for 4.13 :)
> > >
> > > -- Sebastian
> > >
> > Thanks for the reminder. I'll have to wait until I've fast
> > forwarded my togreg branch of iio.git (possibly a week or
> > so) as I have a lot of stuff queued up from prior to and
> > during the merge window. That'll pull in the driver drop at
> > which point the rest should go in nicely.
> >
> > Anyhow, please feel free to remind me again if I look
> > like I've forgotten this after the fast forward merge has
> > occurred.
> >
> All now applied
Thanks. I assume you also applied patch 6/7 and just did not reply to
it? I would have checked myself, but as far as I can see you did not
yet update togreg branch on git.kernel.org [0].
[0] https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git/log/?h=togreg
-- Sebastian
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH 0/7] twl4030-madc cleanup
2017-06-06 8:23 ` Sebastian Reichel
@ 2017-06-11 15:04 ` Jonathan Cameron
0 siblings, 0 replies; 27+ messages in thread
From: Jonathan Cameron @ 2017-06-11 15:04 UTC (permalink / raw)
To: Sebastian Reichel
Cc: Hartmut Knaack, Lars-Peter Clausen, Peter Meerwald-Stadler,
linux-iio
On Tue, 6 Jun 2017 10:23:40 +0200
Sebastian Reichel <sre@kernel.org> wrote:
> Hi Jonathan,
>
> On Sat, Jun 03, 2017 at 10:43:30AM +0100, Jonathan Cameron wrote:
> > On Sat, 20 May 2017 18:57:39 +0100
> > Jonathan Cameron <jic23@kernel.org> wrote:
> > > On 20/05/17 17:54, Sebastian Reichel wrote:
> > > >> Here are a few cleanup patches for the twl4030-madc
> > > >> driver, that remove the last users of the driver's
> > > >> legacy API and then remove it.
> > > >>
> > > >> Sebastian Reichel (7):
> > > >> hwmon: twl4030-madc: drop driver
> > > >> power: supply: avoid unused twl4030-madc.h
> > > >> iio: adc: twl4030: Drop twl4030_get_madc_conversion()
> > > >> iio: adc: twl4030: Unexport twl4030_madc_conversion()
> > > >> iio: adc: twl4030: Drop struct twl4030_madc_user_parms
> > > >> iio: adc: twl4030: Remove twl4030_madc_request.func_cb
> > > >> iio: adc: twl4030: Fold twl4030-madc.h into driver
> > > >
> > > > Just a reminder, that patch 1 & 2 have been merged into 4.12-rc1
> > > > and Wolfram acked the changes to header in include/linux/i2c,
> > > > so patch 3-7 can be queued by iio for 4.13 :)
> > > >
> > > > -- Sebastian
> > > >
> > > Thanks for the reminder. I'll have to wait until I've fast
> > > forwarded my togreg branch of iio.git (possibly a week or
> > > so) as I have a lot of stuff queued up from prior to and
> > > during the merge window. That'll pull in the driver drop at
> > > which point the rest should go in nicely.
> > >
> > > Anyhow, please feel free to remind me again if I look
> > > like I've forgotten this after the fast forward merge has
> > > occurred.
> > >
> > All now applied
>
> Thanks. I assume you also applied patch 6/7 and just did not reply to
> it? I would have checked myself, but as far as I can see you did not
> yet update togreg branch on git.kernel.org [0].
>
> [0] https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git/log/?h=togreg
Yes, I was being a muppet and failed to push out.
Anyhow, currently in testing undergoing autobuilder fun. Busy week ahead
so might be a few days before I get it pushed out as togreg.
Sorry about that,
Jonathan
>
> -- Sebastian
^ permalink raw reply [flat|nested] 27+ messages in thread
end of thread, other threads:[~2017-06-11 15:04 UTC | newest]
Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-27 15:30 [PATCH 0/7] twl4030-madc cleanup Sebastian Reichel
2017-04-27 15:30 ` [PATCH 1/7] hwmon: twl4030-madc: drop driver Sebastian Reichel
2017-04-27 16:51 ` Guenter Roeck
2017-04-30 16:41 ` Jonathan Cameron
2017-04-30 18:46 ` Guenter Roeck
2017-05-01 9:27 ` Sebastian Reichel
2017-05-01 10:38 ` Wolfram Sang
2017-04-27 15:30 ` [PATCH 2/7] power: supply: avoid unused twl4030-madc.h Sebastian Reichel
2017-05-01 11:51 ` Sebastian Reichel
2017-04-27 15:30 ` [PATCH 3/7] iio: adc: twl4030: Drop twl4030_get_madc_conversion() Sebastian Reichel
2017-04-30 16:35 ` Jonathan Cameron
2017-06-03 9:36 ` Jonathan Cameron
2017-04-27 15:30 ` [PATCH 4/7] iio: adc: twl4030: Unexport twl4030_madc_conversion() Sebastian Reichel
2017-04-30 16:35 ` Jonathan Cameron
2017-06-03 9:37 ` Jonathan Cameron
2017-04-27 15:30 ` [PATCH 5/7] iio: adc: twl4030: Drop struct twl4030_madc_user_parms Sebastian Reichel
2017-06-03 9:40 ` Jonathan Cameron
2017-04-27 15:30 ` [PATCH 6/7] iio: adc: twl4030: Remove twl4030_madc_request.func_cb Sebastian Reichel
2017-04-30 16:37 ` Jonathan Cameron
2017-04-27 15:30 ` [PATCH 7/7] iio: adc: twl4030: Fold twl4030-madc.h into driver Sebastian Reichel
2017-04-30 16:38 ` Jonathan Cameron
2017-06-03 9:45 ` Jonathan Cameron
2017-05-20 16:54 ` [PATCH 0/7] twl4030-madc cleanup Sebastian Reichel
2017-05-20 17:57 ` Jonathan Cameron
2017-06-03 9:43 ` Jonathan Cameron
2017-06-06 8:23 ` Sebastian Reichel
2017-06-11 15:04 ` Jonathan Cameron
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).