From: Michael Hennerich Date: Fri, 2 Sep 2011 16:25:21 +0000 (+0100) Subject: staging:iio:adc:ad7150: remove conversion mode handling. X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=cd400fc94dc94d89876b38c0267ebe4e8ffb8675;p=linux-beck.git staging:iio:adc:ad7150: remove conversion mode handling. The AD7150 family of devices power up in continues conversion mode. We can stay in this mode, unless power consumption becomes a real issue. Actually the event generation as well as the running average relies on continues conversion mode, so we better stay there. Signed-off-by: Michael Hennerich Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/iio/adc/ad7150.c b/drivers/staging/iio/adc/ad7150.c index 0685b8a0ffde..c561044363e0 100644 --- a/drivers/staging/iio/adc/ad7150.c +++ b/drivers/staging/iio/adc/ad7150.c @@ -89,93 +89,10 @@ struct ad7150_chip_info { struct mutex state_lock; }; -struct ad7150_conversion_mode { - char *name; - u8 reg_cfg; -}; - -static struct ad7150_conversion_mode -ad7150_conv_mode_table[AD7150_MAX_CONV_MODE] = { - { "idle", 0 }, - { "continuous-conversion", 1 }, - { "single-conversion", 2 }, - { "power-down", 3 }, -}; - /* * sysfs nodes */ -#define IIO_DEV_ATTR_AVAIL_CONVERSION_MODES(_show) \ - IIO_DEVICE_ATTR(available_conversion_modes, S_IRUGO, _show, NULL, 0) -#define IIO_DEV_ATTR_CONVERSION_MODE(_mode, _show, _store) \ - IIO_DEVICE_ATTR(conversion_mode, _mode, _show, _store, 0) - -static ssize_t ad7150_show_conversion_modes(struct device *dev, - struct device_attribute *attr, - char *buf) -{ - int i; - int len = 0; - - for (i = 0; i < AD7150_MAX_CONV_MODE; i++) - len += sprintf(buf + len, "%s\n", - ad7150_conv_mode_table[i].name); - - return len; -} - -static IIO_DEV_ATTR_AVAIL_CONVERSION_MODES(ad7150_show_conversion_modes); - -static ssize_t ad7150_show_conversion_mode(struct device *dev, - struct device_attribute *attr, - char *buf) -{ - struct iio_dev *dev_info = dev_get_drvdata(dev); - struct ad7150_chip_info *chip = iio_priv(dev_info); - - return sprintf(buf, "%s\n", chip->conversion_mode); -} - -static ssize_t ad7150_store_conversion_mode(struct device *dev, - struct device_attribute *attr, - const char *buf, - size_t len) -{ - struct iio_dev *dev_info = dev_get_drvdata(dev); - struct ad7150_chip_info *chip = iio_priv(dev_info); - u8 cfg; - int i, ret; - - ret = i2c_smbus_read_byte_data(chip->client, AD7150_CFG); - if (ret < 0) - return ret; - cfg = ret; - - for (i = 0; i < AD7150_MAX_CONV_MODE; i++) { - if (strncmp(buf, ad7150_conv_mode_table[i].name, - strlen(ad7150_conv_mode_table[i].name) - 1) == - 0) { - chip->conversion_mode = ad7150_conv_mode_table[i].name; - cfg |= 0x18 | ad7150_conv_mode_table[i].reg_cfg; - ret = i2c_smbus_write_byte_data(chip->client, - AD7150_CFG, - cfg); - if (ret < 0) - return ret; - return len; - } - } - - dev_err(dev, "not supported conversion mode\n"); - - return -EINVAL; -} - -static IIO_DEV_ATTR_CONVERSION_MODE(S_IRUGO | S_IWUSR, - ad7150_show_conversion_mode, - ad7150_store_conversion_mode); - static const u8 ad7150_addresses[][6] = { { AD7150_CH1_DATA_HIGH, AD7150_CH1_AVG_HIGH, AD7150_CH1_SETUP, AD7150_CH1_THR_HOLD_H, @@ -543,16 +460,6 @@ static const struct iio_chan_spec ad7150_channels[] = { }, }; -static struct attribute *ad7150_attributes[] = { - &iio_dev_attr_available_conversion_modes.dev_attr.attr, - &iio_dev_attr_conversion_mode.dev_attr.attr, - NULL, -}; - -static const struct attribute_group ad7150_attribute_group = { - .attrs = ad7150_attributes, -}; - /* * threshold events */ @@ -637,7 +544,6 @@ static struct attribute_group ad7150_event_attribute_group = { }; static const struct iio_info ad7150_info = { - .attrs = &ad7150_attribute_group, .event_attrs = &ad7150_event_attribute_group, .driver_module = THIS_MODULE, .read_raw = &ad7150_read_raw,