val is set to the value of ret right after ret is checked. If ret is not zero it goes to error_ret. So only value ret can have is zero, which makes the switch (val & 0x03) only match the case 0x00. Removing the switch and since val is only used for this, removing val as well. Signed-off-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx> --- drivers/staging/iio/accel/sca3000_core.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/drivers/staging/iio/accel/sca3000_core.c b/drivers/staging/iio/accel/sca3000_core.c index a8f533a..94656f6 100644 --- a/drivers/staging/iio/accel/sca3000_core.c +++ b/drivers/staging/iio/accel/sca3000_core.c @@ -586,7 +586,7 @@ static ssize_t sca3000_read_frequency(struct device *dev, { struct iio_dev *indio_dev = dev_to_iio_dev(dev); struct sca3000_state *st = iio_priv(indio_dev); - int ret, len = 0, base_freq = 0, val; + int ret, len = 0, base_freq = 0; mutex_lock(&st->lock); ret = __sca3000_get_base_freq(st, st->info, &base_freq); @@ -596,20 +596,8 @@ static ssize_t sca3000_read_frequency(struct device *dev, mutex_unlock(&st->lock); if (ret) goto error_ret; - val = ret; if (base_freq > 0) - switch (val & 0x03) { - case 0x00: - case 0x03: - len = sprintf(buf, "%d\n", base_freq); - break; - case 0x01: - len = sprintf(buf, "%d\n", base_freq / 2); - break; - case 0x02: - len = sprintf(buf, "%d\n", base_freq / 4); - break; - } + len = sprintf(buf, "%d\n", base_freq); return len; error_ret_mut: -- 2.5.1 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel