Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9308bc9a authored by Michael Hennerich's avatar Michael Hennerich Committed by Greg Kroah-Hartman
Browse files

staging:iio:meter:ade7758: Fix list and set of available sample frequencies.



Fix list of available sample frequencies.
Fix ade7758_write_frequency().

Signed-off-by: default avatarMichael Hennerich <michael.hennerich@analog.com>
Acked-by: default avatarJonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent fb7f6cca
Loading
Loading
Loading
Loading
+18 −10
Original line number Diff line number Diff line
@@ -533,7 +533,6 @@ static ssize_t ade7758_write_frequency(struct device *dev,
		size_t len)
{
	struct iio_dev *indio_dev = dev_get_drvdata(dev);
	struct ade7758_state *st = iio_dev_get_devdata(indio_dev);
	unsigned long val;
	int ret;
	u8 reg, t;
@@ -544,14 +543,23 @@ static ssize_t ade7758_write_frequency(struct device *dev,

	mutex_lock(&indio_dev->mlock);

	t = (26040 / val);
	if (t > 0)
		t >>= 1;

	if (t > 1)
		st->us->max_speed_hz = ADE7758_SPI_SLOW;
	else
		st->us->max_speed_hz = ADE7758_SPI_FAST;
	switch (val) {
	case 26040:
		t = 0;
		break;
	case 13020:
		t = 1;
		break;
	case 6510:
		t = 2;
		break;
	case 3255:
		t = 3;
		break;
	default:
		ret = -EINVAL;
		goto out;
	}

	ret = ade7758_spi_read_reg_8(dev,
			ADE7758_WAVMODE,
@@ -671,7 +679,7 @@ static IIO_DEV_ATTR_WAVEFORM_TYPE(S_IWUSR | S_IRUGO,

static IIO_DEV_ATTR_RESET(ade7758_write_reset);

static IIO_CONST_ATTR_SAMP_FREQ_AVAIL("26000 13000 65000 33000");
static IIO_CONST_ATTR_SAMP_FREQ_AVAIL("26040 13020 6510 3255");

static struct attribute *ade7758_attributes[] = {
	&iio_dev_attr_temp_raw.dev_attr.attr,