* [PATCH v2 1/2] iio: ina2xx: Fix whitespace and re-order code
@ 2016-02-24 17:38 Andrew F. Davis
2016-02-24 17:38 ` [PATCH v2 2/2] iio: ina2xx: Remove trace_printk debug statments Andrew F. Davis
2016-02-24 20:45 ` [PATCH v2 1/2] iio: ina2xx: Fix whitespace and re-order code Jonathan Cameron
0 siblings, 2 replies; 4+ messages in thread
From: Andrew F. Davis @ 2016-02-24 17:38 UTC (permalink / raw)
To: Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald, Marc Titinger
Cc: linux-iio, linux-kernel, Andrew F. Davis
Group of probably overly rigorous whitespace and code cleanups.
- Alphabetize includes
- Assign to variables in the order they are defined
- Alignment issues
- Group alike statements together
- Use helper macros
Signed-off-by: Andrew F. Davis <afd@ti.com>
---
Removed some unneeded changes in v1 at Jonathan's suggestion
drivers/iio/adc/ina2xx-adc.c | 134 +++++++++++++++++++++----------------------
1 file changed, 65 insertions(+), 69 deletions(-)
diff --git a/drivers/iio/adc/ina2xx-adc.c b/drivers/iio/adc/ina2xx-adc.c
index d803e50..d3e8207 100644
--- a/drivers/iio/adc/ina2xx-adc.c
+++ b/drivers/iio/adc/ina2xx-adc.c
@@ -19,17 +19,18 @@
*
* Configurable 7-bit I2C slave address from 0x40 to 0x4F
*/
-#include <linux/module.h>
-#include <linux/kthread.h>
+
#include <linux/delay.h>
+#include <linux/i2c.h>
#include <linux/iio/kfifo_buf.h>
#include <linux/iio/sysfs.h>
-#include <linux/i2c.h>
+#include <linux/kthread.h>
+#include <linux/module.h>
#include <linux/regmap.h>
-#include <linux/platform_data/ina2xx.h>
-
#include <linux/util_macros.h>
+#include <linux/platform_data/ina2xx.h>
+
/* INA2XX registers definition */
#define INA2XX_CONFIG 0x00
#define INA2XX_SHUNT_VOLTAGE 0x01 /* readonly */
@@ -38,7 +39,7 @@
#define INA2XX_CURRENT 0x04 /* readonly */
#define INA2XX_CALIBRATION 0x05
-#define INA226_ALERT_MASK 0x06
+#define INA226_ALERT_MASK GENMASK(2, 1)
#define INA266_CVRF BIT(3)
#define INA2XX_MAX_REGISTERS 8
@@ -113,7 +114,7 @@ struct ina2xx_chip_info {
struct mutex state_lock;
unsigned int shunt_resistor;
int avg;
- s64 prev_ns; /* track buffer capture time, check for underruns*/
+ s64 prev_ns; /* track buffer capture time, check for underruns */
int int_time_vbus; /* Bus voltage integration time uS */
int int_time_vshunt; /* Shunt voltage integration time uS */
bool allow_async_readout;
@@ -121,21 +122,21 @@ struct ina2xx_chip_info {
static const struct ina2xx_config ina2xx_config[] = {
[ina219] = {
- .config_default = INA219_CONFIG_DEFAULT,
- .calibration_factor = 40960000,
- .shunt_div = 100,
- .bus_voltage_shift = 3,
- .bus_voltage_lsb = 4000,
- .power_lsb = 20000,
- },
+ .config_default = INA219_CONFIG_DEFAULT,
+ .calibration_factor = 40960000,
+ .shunt_div = 100,
+ .bus_voltage_shift = 3,
+ .bus_voltage_lsb = 4000,
+ .power_lsb = 20000,
+ },
[ina226] = {
- .config_default = INA226_CONFIG_DEFAULT,
- .calibration_factor = 5120000,
- .shunt_div = 400,
- .bus_voltage_shift = 0,
- .bus_voltage_lsb = 1250,
- .power_lsb = 25000,
- },
+ .config_default = INA226_CONFIG_DEFAULT,
+ .calibration_factor = 5120000,
+ .shunt_div = 400,
+ .bus_voltage_shift = 0,
+ .bus_voltage_lsb = 1250,
+ .power_lsb = 25000,
+ },
};
static int ina2xx_read_raw(struct iio_dev *indio_dev,
@@ -149,7 +150,7 @@ static int ina2xx_read_raw(struct iio_dev *indio_dev,
switch (mask) {
case IIO_CHAN_INFO_RAW:
ret = regmap_read(chip->regmap, chan->address, ®val);
- if (ret < 0)
+ if (ret)
return ret;
if (is_signed_reg(chan->address))
@@ -251,7 +252,7 @@ static int ina226_set_int_time_vbus(struct ina2xx_chip_info *chip,
return -EINVAL;
bits = find_closest(val_us, ina226_conv_time_tab,
- ARRAY_SIZE(ina226_conv_time_tab));
+ ARRAY_SIZE(ina226_conv_time_tab));
chip->int_time_vbus = ina226_conv_time_tab[bits];
@@ -270,7 +271,7 @@ static int ina226_set_int_time_vshunt(struct ina2xx_chip_info *chip,
return -EINVAL;
bits = find_closest(val_us, ina226_conv_time_tab,
- ARRAY_SIZE(ina226_conv_time_tab));
+ ARRAY_SIZE(ina226_conv_time_tab));
chip->int_time_vshunt = ina226_conv_time_tab[bits];
@@ -285,8 +286,8 @@ static int ina2xx_write_raw(struct iio_dev *indio_dev,
int val, int val2, long mask)
{
struct ina2xx_chip_info *chip = iio_priv(indio_dev);
- int ret;
unsigned int config, tmp;
+ int ret;
if (iio_buffer_enabled(indio_dev))
return -EBUSY;
@@ -294,8 +295,8 @@ static int ina2xx_write_raw(struct iio_dev *indio_dev,
mutex_lock(&chip->state_lock);
ret = regmap_read(chip->regmap, INA2XX_CONFIG, &config);
- if (ret < 0)
- goto _err;
+ if (ret)
+ goto err;
tmp = config;
@@ -310,19 +311,19 @@ static int ina2xx_write_raw(struct iio_dev *indio_dev,
else
ret = ina226_set_int_time_vbus(chip, val2, &tmp);
break;
+
default:
ret = -EINVAL;
}
if (!ret && (tmp != config))
ret = regmap_write(chip->regmap, INA2XX_CONFIG, tmp);
-_err:
+err:
mutex_unlock(&chip->state_lock);
return ret;
}
-
static ssize_t ina2xx_allow_async_readout_show(struct device *dev,
struct device_attribute *attr,
char *buf)
@@ -355,6 +356,7 @@ static int set_shunt_resistor(struct ina2xx_chip_info *chip, unsigned int val)
return -EINVAL;
chip->shunt_resistor = val;
+
return 0;
}
@@ -500,7 +502,7 @@ static int ina2xx_work_buffer(struct iio_dev *indio_dev)
static int ina2xx_capture_thread(void *data)
{
- struct iio_dev *indio_dev = (struct iio_dev *)data;
+ struct iio_dev *indio_dev = data;
struct ina2xx_chip_info *chip = iio_priv(indio_dev);
unsigned int sampling_us = SAMPLING_PERIOD(chip);
int buffer_us;
@@ -575,8 +577,7 @@ static int ina2xx_debug_reg(struct iio_dev *indio_dev,
}
/* Possible integration times for vshunt and vbus */
-static IIO_CONST_ATTR_INT_TIME_AVAIL \
- ("0.000140 0.000204 0.000332 0.000588 0.001100 0.002116 0.004156 0.008244");
+static IIO_CONST_ATTR_INT_TIME_AVAIL("0.000140 0.000204 0.000332 0.000588 0.001100 0.002116 0.004156 0.008244");
static IIO_DEVICE_ATTR(in_allow_async_readout, S_IRUGO | S_IWUSR,
ina2xx_allow_async_readout_show,
@@ -598,21 +599,23 @@ static const struct attribute_group ina2xx_attribute_group = {
};
static const struct iio_info ina2xx_info = {
- .debugfs_reg_access = &ina2xx_debug_reg,
- .read_raw = &ina2xx_read_raw,
- .write_raw = &ina2xx_write_raw,
- .attrs = &ina2xx_attribute_group,
.driver_module = THIS_MODULE,
+ .attrs = &ina2xx_attribute_group,
+ .read_raw = ina2xx_read_raw,
+ .write_raw = ina2xx_write_raw,
+ .debugfs_reg_access = ina2xx_debug_reg,
};
/* Initialize the configuration and calibration registers. */
static int ina2xx_init(struct ina2xx_chip_info *chip, unsigned int config)
{
u16 regval;
- int ret = regmap_write(chip->regmap, INA2XX_CONFIG, config);
+ int ret;
- if (ret < 0)
+ ret = regmap_write(chip->regmap, INA2XX_CONFIG, config);
+ if (ret)
return ret;
+
/*
* Set current LSB to 1mA, shunt is in uOhms
* (equation 13 in datasheet). We hardcode a Current_LSB
@@ -621,7 +624,7 @@ static int ina2xx_init(struct ina2xx_chip_info *chip, unsigned int config)
* to the user for now.
*/
regval = DIV_ROUND_CLOSEST(chip->config->calibration_factor,
- chip->shunt_resistor);
+ chip->shunt_resistor);
return regmap_write(chip->regmap, INA2XX_CALIBRATION, regval);
}
@@ -632,8 +635,8 @@ static int ina2xx_probe(struct i2c_client *client,
struct ina2xx_chip_info *chip;
struct iio_dev *indio_dev;
struct iio_buffer *buffer;
- int ret;
unsigned int val;
+ int ret;
indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*chip));
if (!indio_dev)
@@ -641,8 +644,19 @@ static int ina2xx_probe(struct i2c_client *client,
chip = iio_priv(indio_dev);
+ /* This is only used for device removal purposes. */
+ i2c_set_clientdata(client, indio_dev);
+
+ chip->regmap = devm_regmap_init_i2c(client, &ina2xx_regmap_config);
+ if (IS_ERR(chip->regmap)) {
+ dev_err(&client->dev, "failed to allocate register map\n");
+ return PTR_ERR(chip->regmap);
+ }
+
chip->config = &ina2xx_config[id->driver_data];
+ mutex_init(&chip->state_lock);
+
if (of_property_read_u32(client->dev.of_node,
"shunt-resistor", &val) < 0) {
struct ina2xx_platform_data *pdata =
@@ -658,25 +672,6 @@ static int ina2xx_probe(struct i2c_client *client,
if (ret)
return ret;
- mutex_init(&chip->state_lock);
-
- /* This is only used for device removal purposes. */
- i2c_set_clientdata(client, indio_dev);
-
- indio_dev->name = id->name;
- indio_dev->channels = ina2xx_channels;
- indio_dev->num_channels = ARRAY_SIZE(ina2xx_channels);
-
- indio_dev->dev.parent = &client->dev;
- indio_dev->info = &ina2xx_info;
- indio_dev->modes = INDIO_DIRECT_MODE | INDIO_BUFFER_SOFTWARE;
-
- chip->regmap = devm_regmap_init_i2c(client, &ina2xx_regmap_config);
- if (IS_ERR(chip->regmap)) {
- dev_err(&client->dev, "failed to allocate register map\n");
- return PTR_ERR(chip->regmap);
- }
-
/* Patch the current config register with default. */
val = chip->config->config_default;
@@ -687,24 +682,28 @@ static int ina2xx_probe(struct i2c_client *client,
}
ret = ina2xx_init(chip, val);
- if (ret < 0) {
- dev_err(&client->dev, "error configuring the device: %d\n",
- ret);
- return -ENODEV;
+ if (ret) {
+ dev_err(&client->dev, "error configuring the device\n");
+ return ret;
}
+ indio_dev->modes = INDIO_DIRECT_MODE | INDIO_BUFFER_SOFTWARE;
+ indio_dev->dev.parent = &client->dev;
+ indio_dev->channels = ina2xx_channels;
+ indio_dev->num_channels = ARRAY_SIZE(ina2xx_channels);
+ indio_dev->name = id->name;
+ indio_dev->info = &ina2xx_info;
+ indio_dev->setup_ops = &ina2xx_setup_ops;
+
buffer = devm_iio_kfifo_allocate(&indio_dev->dev);
if (!buffer)
return -ENOMEM;
- indio_dev->setup_ops = &ina2xx_setup_ops;
-
iio_device_attach_buffer(indio_dev, buffer);
return iio_device_register(indio_dev);
}
-
static int ina2xx_remove(struct i2c_client *client)
{
struct iio_dev *indio_dev = i2c_get_clientdata(client);
@@ -717,7 +716,6 @@ static int ina2xx_remove(struct i2c_client *client)
INA2XX_MODE_MASK, 0);
}
-
static const struct i2c_device_id ina2xx_id[] = {
{"ina219", ina219},
{"ina220", ina219},
@@ -726,7 +724,6 @@ static const struct i2c_device_id ina2xx_id[] = {
{"ina231", ina226},
{}
};
-
MODULE_DEVICE_TABLE(i2c, ina2xx_id);
static struct i2c_driver ina2xx_driver = {
@@ -737,7 +734,6 @@ static struct i2c_driver ina2xx_driver = {
.remove = ina2xx_remove,
.id_table = ina2xx_id,
};
-
module_i2c_driver(ina2xx_driver);
MODULE_AUTHOR("Marc Titinger <marc.titinger@baylibre.com>");
--
2.7.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v2 2/2] iio: ina2xx: Remove trace_printk debug statments
2016-02-24 17:38 [PATCH v2 1/2] iio: ina2xx: Fix whitespace and re-order code Andrew F. Davis
@ 2016-02-24 17:38 ` Andrew F. Davis
2016-02-24 20:45 ` Jonathan Cameron
2016-02-24 20:45 ` [PATCH v2 1/2] iio: ina2xx: Fix whitespace and re-order code Jonathan Cameron
1 sibling, 1 reply; 4+ messages in thread
From: Andrew F. Davis @ 2016-02-24 17:38 UTC (permalink / raw)
To: Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald, Marc Titinger
Cc: linux-iio, linux-kernel, Andrew F. Davis
These are generally for devlopment use only, remove these
from performance-critical code, convert to dev_dbg elswhere.
Signed-off-by: Andrew F. Davis <afd@ti.com>
---
drivers/iio/adc/ina2xx-adc.c | 21 +++++++--------------
1 file changed, 7 insertions(+), 14 deletions(-)
diff --git a/drivers/iio/adc/ina2xx-adc.c b/drivers/iio/adc/ina2xx-adc.c
index d3e8207..65909d5 100644
--- a/drivers/iio/adc/ina2xx-adc.c
+++ b/drivers/iio/adc/ina2xx-adc.c
@@ -440,7 +440,6 @@ static int ina2xx_work_buffer(struct iio_dev *indio_dev)
struct ina2xx_chip_info *chip = iio_priv(indio_dev);
unsigned short data[8];
int bit, ret, i = 0;
- unsigned long buffer_us, elapsed_us;
s64 time_a, time_b;
unsigned int alert;
@@ -464,8 +463,6 @@ static int ina2xx_work_buffer(struct iio_dev *indio_dev)
return ret;
alert &= INA266_CVRF;
- trace_printk("Conversion ready: %d\n", !!alert);
-
} while (!alert);
/*
@@ -490,14 +487,9 @@ static int ina2xx_work_buffer(struct iio_dev *indio_dev)
iio_push_to_buffers_with_timestamp(indio_dev,
(unsigned int *)data, time_a);
- buffer_us = (unsigned long)(time_b - time_a) / 1000;
- elapsed_us = (unsigned long)(time_a - chip->prev_ns) / 1000;
-
- trace_printk("uS: elapsed: %lu, buf: %lu\n", elapsed_us, buffer_us);
-
chip->prev_ns = time_a;
- return buffer_us;
+ return (unsigned long)(time_b - time_a) / 1000;
};
static int ina2xx_capture_thread(void *data)
@@ -532,12 +524,13 @@ static int ina2xx_buffer_enable(struct iio_dev *indio_dev)
struct ina2xx_chip_info *chip = iio_priv(indio_dev);
unsigned int sampling_us = SAMPLING_PERIOD(chip);
- trace_printk("Enabling buffer w/ scan_mask %02x, freq = %d, avg =%u\n",
- (unsigned int)(*indio_dev->active_scan_mask),
- 1000000/sampling_us, chip->avg);
+ dev_dbg(&indio_dev->dev, "Enabling buffer w/ scan_mask %02x, freq = %d, avg =%u\n",
+ (unsigned int)(*indio_dev->active_scan_mask),
+ 1000000 / sampling_us, chip->avg);
- trace_printk("Expected work period: %u us\n", sampling_us);
- trace_printk("Async readout mode: %d\n", chip->allow_async_readout);
+ dev_dbg(&indio_dev->dev, "Expected work period: %u us\n", sampling_us);
+ dev_dbg(&indio_dev->dev, "Async readout mode: %d\n",
+ chip->allow_async_readout);
chip->prev_ns = iio_get_time_ns();
--
2.7.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2 1/2] iio: ina2xx: Fix whitespace and re-order code
2016-02-24 17:38 [PATCH v2 1/2] iio: ina2xx: Fix whitespace and re-order code Andrew F. Davis
2016-02-24 17:38 ` [PATCH v2 2/2] iio: ina2xx: Remove trace_printk debug statments Andrew F. Davis
@ 2016-02-24 20:45 ` Jonathan Cameron
1 sibling, 0 replies; 4+ messages in thread
From: Jonathan Cameron @ 2016-02-24 20:45 UTC (permalink / raw)
To: Andrew F. Davis, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald, Marc Titinger
Cc: linux-iio, linux-kernel
On 24/02/16 17:38, Andrew F. Davis wrote:
> Group of probably overly rigorous whitespace and code cleanups.
> - Alphabetize includes
> - Assign to variables in the order they are defined
> - Alignment issues
> - Group alike statements together
> - Use helper macros
>
> Signed-off-by: Andrew F. Davis <afd@ti.com>
Fair enough,
Applied to the togreg branch of iio.git - initially pushed out as testing
for the autobuilders to play with them.
Thanks,
Jonathan
> ---
> Removed some unneeded changes in v1 at Jonathan's suggestion
>
> drivers/iio/adc/ina2xx-adc.c | 134 +++++++++++++++++++++----------------------
> 1 file changed, 65 insertions(+), 69 deletions(-)
>
> diff --git a/drivers/iio/adc/ina2xx-adc.c b/drivers/iio/adc/ina2xx-adc.c
> index d803e50..d3e8207 100644
> --- a/drivers/iio/adc/ina2xx-adc.c
> +++ b/drivers/iio/adc/ina2xx-adc.c
> @@ -19,17 +19,18 @@
> *
> * Configurable 7-bit I2C slave address from 0x40 to 0x4F
> */
> -#include <linux/module.h>
> -#include <linux/kthread.h>
> +
> #include <linux/delay.h>
> +#include <linux/i2c.h>
> #include <linux/iio/kfifo_buf.h>
> #include <linux/iio/sysfs.h>
> -#include <linux/i2c.h>
> +#include <linux/kthread.h>
> +#include <linux/module.h>
> #include <linux/regmap.h>
> -#include <linux/platform_data/ina2xx.h>
> -
> #include <linux/util_macros.h>
>
> +#include <linux/platform_data/ina2xx.h>
> +
> /* INA2XX registers definition */
> #define INA2XX_CONFIG 0x00
> #define INA2XX_SHUNT_VOLTAGE 0x01 /* readonly */
> @@ -38,7 +39,7 @@
> #define INA2XX_CURRENT 0x04 /* readonly */
> #define INA2XX_CALIBRATION 0x05
>
> -#define INA226_ALERT_MASK 0x06
> +#define INA226_ALERT_MASK GENMASK(2, 1)
> #define INA266_CVRF BIT(3)
>
> #define INA2XX_MAX_REGISTERS 8
> @@ -113,7 +114,7 @@ struct ina2xx_chip_info {
> struct mutex state_lock;
> unsigned int shunt_resistor;
> int avg;
> - s64 prev_ns; /* track buffer capture time, check for underruns*/
> + s64 prev_ns; /* track buffer capture time, check for underruns */
> int int_time_vbus; /* Bus voltage integration time uS */
> int int_time_vshunt; /* Shunt voltage integration time uS */
> bool allow_async_readout;
> @@ -121,21 +122,21 @@ struct ina2xx_chip_info {
>
> static const struct ina2xx_config ina2xx_config[] = {
> [ina219] = {
> - .config_default = INA219_CONFIG_DEFAULT,
> - .calibration_factor = 40960000,
> - .shunt_div = 100,
> - .bus_voltage_shift = 3,
> - .bus_voltage_lsb = 4000,
> - .power_lsb = 20000,
> - },
> + .config_default = INA219_CONFIG_DEFAULT,
> + .calibration_factor = 40960000,
> + .shunt_div = 100,
> + .bus_voltage_shift = 3,
> + .bus_voltage_lsb = 4000,
> + .power_lsb = 20000,
> + },
> [ina226] = {
> - .config_default = INA226_CONFIG_DEFAULT,
> - .calibration_factor = 5120000,
> - .shunt_div = 400,
> - .bus_voltage_shift = 0,
> - .bus_voltage_lsb = 1250,
> - .power_lsb = 25000,
> - },
> + .config_default = INA226_CONFIG_DEFAULT,
> + .calibration_factor = 5120000,
> + .shunt_div = 400,
> + .bus_voltage_shift = 0,
> + .bus_voltage_lsb = 1250,
> + .power_lsb = 25000,
> + },
> };
>
> static int ina2xx_read_raw(struct iio_dev *indio_dev,
> @@ -149,7 +150,7 @@ static int ina2xx_read_raw(struct iio_dev *indio_dev,
> switch (mask) {
> case IIO_CHAN_INFO_RAW:
> ret = regmap_read(chip->regmap, chan->address, ®val);
> - if (ret < 0)
> + if (ret)
> return ret;
>
> if (is_signed_reg(chan->address))
> @@ -251,7 +252,7 @@ static int ina226_set_int_time_vbus(struct ina2xx_chip_info *chip,
> return -EINVAL;
>
> bits = find_closest(val_us, ina226_conv_time_tab,
> - ARRAY_SIZE(ina226_conv_time_tab));
> + ARRAY_SIZE(ina226_conv_time_tab));
>
> chip->int_time_vbus = ina226_conv_time_tab[bits];
>
> @@ -270,7 +271,7 @@ static int ina226_set_int_time_vshunt(struct ina2xx_chip_info *chip,
> return -EINVAL;
>
> bits = find_closest(val_us, ina226_conv_time_tab,
> - ARRAY_SIZE(ina226_conv_time_tab));
> + ARRAY_SIZE(ina226_conv_time_tab));
>
> chip->int_time_vshunt = ina226_conv_time_tab[bits];
>
> @@ -285,8 +286,8 @@ static int ina2xx_write_raw(struct iio_dev *indio_dev,
> int val, int val2, long mask)
> {
> struct ina2xx_chip_info *chip = iio_priv(indio_dev);
> - int ret;
> unsigned int config, tmp;
> + int ret;
>
> if (iio_buffer_enabled(indio_dev))
> return -EBUSY;
> @@ -294,8 +295,8 @@ static int ina2xx_write_raw(struct iio_dev *indio_dev,
> mutex_lock(&chip->state_lock);
>
> ret = regmap_read(chip->regmap, INA2XX_CONFIG, &config);
> - if (ret < 0)
> - goto _err;
> + if (ret)
> + goto err;
>
> tmp = config;
>
> @@ -310,19 +311,19 @@ static int ina2xx_write_raw(struct iio_dev *indio_dev,
> else
> ret = ina226_set_int_time_vbus(chip, val2, &tmp);
> break;
> +
> default:
> ret = -EINVAL;
> }
>
> if (!ret && (tmp != config))
> ret = regmap_write(chip->regmap, INA2XX_CONFIG, tmp);
> -_err:
> +err:
> mutex_unlock(&chip->state_lock);
>
> return ret;
> }
>
> -
> static ssize_t ina2xx_allow_async_readout_show(struct device *dev,
> struct device_attribute *attr,
> char *buf)
> @@ -355,6 +356,7 @@ static int set_shunt_resistor(struct ina2xx_chip_info *chip, unsigned int val)
> return -EINVAL;
>
> chip->shunt_resistor = val;
> +
> return 0;
> }
>
> @@ -500,7 +502,7 @@ static int ina2xx_work_buffer(struct iio_dev *indio_dev)
>
> static int ina2xx_capture_thread(void *data)
> {
> - struct iio_dev *indio_dev = (struct iio_dev *)data;
> + struct iio_dev *indio_dev = data;
> struct ina2xx_chip_info *chip = iio_priv(indio_dev);
> unsigned int sampling_us = SAMPLING_PERIOD(chip);
> int buffer_us;
> @@ -575,8 +577,7 @@ static int ina2xx_debug_reg(struct iio_dev *indio_dev,
> }
>
> /* Possible integration times for vshunt and vbus */
> -static IIO_CONST_ATTR_INT_TIME_AVAIL \
> - ("0.000140 0.000204 0.000332 0.000588 0.001100 0.002116 0.004156 0.008244");
> +static IIO_CONST_ATTR_INT_TIME_AVAIL("0.000140 0.000204 0.000332 0.000588 0.001100 0.002116 0.004156 0.008244");
>
> static IIO_DEVICE_ATTR(in_allow_async_readout, S_IRUGO | S_IWUSR,
> ina2xx_allow_async_readout_show,
> @@ -598,21 +599,23 @@ static const struct attribute_group ina2xx_attribute_group = {
> };
>
> static const struct iio_info ina2xx_info = {
> - .debugfs_reg_access = &ina2xx_debug_reg,
> - .read_raw = &ina2xx_read_raw,
> - .write_raw = &ina2xx_write_raw,
> - .attrs = &ina2xx_attribute_group,
> .driver_module = THIS_MODULE,
> + .attrs = &ina2xx_attribute_group,
> + .read_raw = ina2xx_read_raw,
> + .write_raw = ina2xx_write_raw,
> + .debugfs_reg_access = ina2xx_debug_reg,
> };
>
> /* Initialize the configuration and calibration registers. */
> static int ina2xx_init(struct ina2xx_chip_info *chip, unsigned int config)
> {
> u16 regval;
> - int ret = regmap_write(chip->regmap, INA2XX_CONFIG, config);
> + int ret;
>
> - if (ret < 0)
> + ret = regmap_write(chip->regmap, INA2XX_CONFIG, config);
> + if (ret)
> return ret;
> +
> /*
> * Set current LSB to 1mA, shunt is in uOhms
> * (equation 13 in datasheet). We hardcode a Current_LSB
> @@ -621,7 +624,7 @@ static int ina2xx_init(struct ina2xx_chip_info *chip, unsigned int config)
> * to the user for now.
> */
> regval = DIV_ROUND_CLOSEST(chip->config->calibration_factor,
> - chip->shunt_resistor);
> + chip->shunt_resistor);
>
> return regmap_write(chip->regmap, INA2XX_CALIBRATION, regval);
> }
> @@ -632,8 +635,8 @@ static int ina2xx_probe(struct i2c_client *client,
> struct ina2xx_chip_info *chip;
> struct iio_dev *indio_dev;
> struct iio_buffer *buffer;
> - int ret;
> unsigned int val;
> + int ret;
>
> indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*chip));
> if (!indio_dev)
> @@ -641,8 +644,19 @@ static int ina2xx_probe(struct i2c_client *client,
>
> chip = iio_priv(indio_dev);
>
> + /* This is only used for device removal purposes. */
> + i2c_set_clientdata(client, indio_dev);
> +
> + chip->regmap = devm_regmap_init_i2c(client, &ina2xx_regmap_config);
> + if (IS_ERR(chip->regmap)) {
> + dev_err(&client->dev, "failed to allocate register map\n");
> + return PTR_ERR(chip->regmap);
> + }
> +
> chip->config = &ina2xx_config[id->driver_data];
>
> + mutex_init(&chip->state_lock);
> +
> if (of_property_read_u32(client->dev.of_node,
> "shunt-resistor", &val) < 0) {
> struct ina2xx_platform_data *pdata =
> @@ -658,25 +672,6 @@ static int ina2xx_probe(struct i2c_client *client,
> if (ret)
> return ret;
>
> - mutex_init(&chip->state_lock);
> -
> - /* This is only used for device removal purposes. */
> - i2c_set_clientdata(client, indio_dev);
> -
> - indio_dev->name = id->name;
> - indio_dev->channels = ina2xx_channels;
> - indio_dev->num_channels = ARRAY_SIZE(ina2xx_channels);
> -
> - indio_dev->dev.parent = &client->dev;
> - indio_dev->info = &ina2xx_info;
> - indio_dev->modes = INDIO_DIRECT_MODE | INDIO_BUFFER_SOFTWARE;
> -
> - chip->regmap = devm_regmap_init_i2c(client, &ina2xx_regmap_config);
> - if (IS_ERR(chip->regmap)) {
> - dev_err(&client->dev, "failed to allocate register map\n");
> - return PTR_ERR(chip->regmap);
> - }
> -
> /* Patch the current config register with default. */
> val = chip->config->config_default;
>
> @@ -687,24 +682,28 @@ static int ina2xx_probe(struct i2c_client *client,
> }
>
> ret = ina2xx_init(chip, val);
> - if (ret < 0) {
> - dev_err(&client->dev, "error configuring the device: %d\n",
> - ret);
> - return -ENODEV;
> + if (ret) {
> + dev_err(&client->dev, "error configuring the device\n");
> + return ret;
> }
>
> + indio_dev->modes = INDIO_DIRECT_MODE | INDIO_BUFFER_SOFTWARE;
> + indio_dev->dev.parent = &client->dev;
> + indio_dev->channels = ina2xx_channels;
> + indio_dev->num_channels = ARRAY_SIZE(ina2xx_channels);
> + indio_dev->name = id->name;
> + indio_dev->info = &ina2xx_info;
> + indio_dev->setup_ops = &ina2xx_setup_ops;
> +
> buffer = devm_iio_kfifo_allocate(&indio_dev->dev);
> if (!buffer)
> return -ENOMEM;
>
> - indio_dev->setup_ops = &ina2xx_setup_ops;
> -
> iio_device_attach_buffer(indio_dev, buffer);
>
> return iio_device_register(indio_dev);
> }
>
> -
> static int ina2xx_remove(struct i2c_client *client)
> {
> struct iio_dev *indio_dev = i2c_get_clientdata(client);
> @@ -717,7 +716,6 @@ static int ina2xx_remove(struct i2c_client *client)
> INA2XX_MODE_MASK, 0);
> }
>
> -
> static const struct i2c_device_id ina2xx_id[] = {
> {"ina219", ina219},
> {"ina220", ina219},
> @@ -726,7 +724,6 @@ static const struct i2c_device_id ina2xx_id[] = {
> {"ina231", ina226},
> {}
> };
> -
> MODULE_DEVICE_TABLE(i2c, ina2xx_id);
>
> static struct i2c_driver ina2xx_driver = {
> @@ -737,7 +734,6 @@ static struct i2c_driver ina2xx_driver = {
> .remove = ina2xx_remove,
> .id_table = ina2xx_id,
> };
> -
> module_i2c_driver(ina2xx_driver);
>
> MODULE_AUTHOR("Marc Titinger <marc.titinger@baylibre.com>");
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2 2/2] iio: ina2xx: Remove trace_printk debug statments
2016-02-24 17:38 ` [PATCH v2 2/2] iio: ina2xx: Remove trace_printk debug statments Andrew F. Davis
@ 2016-02-24 20:45 ` Jonathan Cameron
0 siblings, 0 replies; 4+ messages in thread
From: Jonathan Cameron @ 2016-02-24 20:45 UTC (permalink / raw)
To: Andrew F. Davis, Hartmut Knaack, Lars-Peter Clausen,
Peter Meerwald, Marc Titinger
Cc: linux-iio, linux-kernel
On 24/02/16 17:38, Andrew F. Davis wrote:
> These are generally for devlopment use only, remove these
> from performance-critical code, convert to dev_dbg elswhere.
>
> Signed-off-by: Andrew F. Davis <afd@ti.com>
Applied.
> ---
> drivers/iio/adc/ina2xx-adc.c | 21 +++++++--------------
> 1 file changed, 7 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/iio/adc/ina2xx-adc.c b/drivers/iio/adc/ina2xx-adc.c
> index d3e8207..65909d5 100644
> --- a/drivers/iio/adc/ina2xx-adc.c
> +++ b/drivers/iio/adc/ina2xx-adc.c
> @@ -440,7 +440,6 @@ static int ina2xx_work_buffer(struct iio_dev *indio_dev)
> struct ina2xx_chip_info *chip = iio_priv(indio_dev);
> unsigned short data[8];
> int bit, ret, i = 0;
> - unsigned long buffer_us, elapsed_us;
> s64 time_a, time_b;
> unsigned int alert;
>
> @@ -464,8 +463,6 @@ static int ina2xx_work_buffer(struct iio_dev *indio_dev)
> return ret;
>
> alert &= INA266_CVRF;
> - trace_printk("Conversion ready: %d\n", !!alert);
> -
> } while (!alert);
>
> /*
> @@ -490,14 +487,9 @@ static int ina2xx_work_buffer(struct iio_dev *indio_dev)
> iio_push_to_buffers_with_timestamp(indio_dev,
> (unsigned int *)data, time_a);
>
> - buffer_us = (unsigned long)(time_b - time_a) / 1000;
> - elapsed_us = (unsigned long)(time_a - chip->prev_ns) / 1000;
> -
> - trace_printk("uS: elapsed: %lu, buf: %lu\n", elapsed_us, buffer_us);
> -
> chip->prev_ns = time_a;
>
> - return buffer_us;
> + return (unsigned long)(time_b - time_a) / 1000;
> };
>
> static int ina2xx_capture_thread(void *data)
> @@ -532,12 +524,13 @@ static int ina2xx_buffer_enable(struct iio_dev *indio_dev)
> struct ina2xx_chip_info *chip = iio_priv(indio_dev);
> unsigned int sampling_us = SAMPLING_PERIOD(chip);
>
> - trace_printk("Enabling buffer w/ scan_mask %02x, freq = %d, avg =%u\n",
> - (unsigned int)(*indio_dev->active_scan_mask),
> - 1000000/sampling_us, chip->avg);
> + dev_dbg(&indio_dev->dev, "Enabling buffer w/ scan_mask %02x, freq = %d, avg =%u\n",
> + (unsigned int)(*indio_dev->active_scan_mask),
> + 1000000 / sampling_us, chip->avg);
>
> - trace_printk("Expected work period: %u us\n", sampling_us);
> - trace_printk("Async readout mode: %d\n", chip->allow_async_readout);
> + dev_dbg(&indio_dev->dev, "Expected work period: %u us\n", sampling_us);
> + dev_dbg(&indio_dev->dev, "Async readout mode: %d\n",
> + chip->allow_async_readout);
>
> chip->prev_ns = iio_get_time_ns();
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-02-24 20:45 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-24 17:38 [PATCH v2 1/2] iio: ina2xx: Fix whitespace and re-order code Andrew F. Davis
2016-02-24 17:38 ` [PATCH v2 2/2] iio: ina2xx: Remove trace_printk debug statments Andrew F. Davis
2016-02-24 20:45 ` Jonathan Cameron
2016-02-24 20:45 ` [PATCH v2 1/2] iio: ina2xx: Fix whitespace and re-order code 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).