diff options
author | William Breathitt Gray <vilhelm.gray@gmail.com> | 2019-10-06 23:03:09 +0300 |
---|---|---|
committer | Jonathan Cameron <Jonathan.Cameron@huawei.com> | 2019-10-18 21:47:27 +0300 |
commit | d49e6ee2d6c2b654c5eeb9aa1c4986cd1bec2582 (patch) | |
tree | b6a3d0030853a61a33d55bd47a82975d7a5d7983 /drivers/counter/ti-eqep.c | |
parent | 16922ffee1217ec031162ca12ec9fe8710b11106 (diff) | |
download | linux-d49e6ee2d6c2b654c5eeb9aa1c4986cd1bec2582.tar.xz |
counter: Simplify the count_read and count_write callbacks
The count_read and count_write callbacks are simplified to pass val as
unsigned long rather than as an opaque data structure. The opaque
counter_count_read_value and counter_count_write_value structures,
counter_count_value_type enum, and relevant counter_count_read_value_set
and counter_count_write_value_get functions, are removed as they are no
longer used.
Cc: Patrick Havelange <patrick.havelange@essensium.com>
Acked-by: Fabrice Gasnier <fabrice.gasnier@st.com>
Acked-by: David Lechner <david@lechnology.com>
Signed-off-by: William Breathitt Gray <vilhelm.gray@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Diffstat (limited to 'drivers/counter/ti-eqep.c')
-rw-r--r-- | drivers/counter/ti-eqep.c | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/drivers/counter/ti-eqep.c b/drivers/counter/ti-eqep.c index 4b3ef2449c06..1ff07faef27f 100644 --- a/drivers/counter/ti-eqep.c +++ b/drivers/counter/ti-eqep.c @@ -93,35 +93,28 @@ struct ti_eqep_cnt { }; static int ti_eqep_count_read(struct counter_device *counter, - struct counter_count *count, - struct counter_count_read_value *val) + struct counter_count *count, unsigned long *val) { struct ti_eqep_cnt *priv = counter->priv; u32 cnt; regmap_read(priv->regmap32, QPOSCNT, &cnt); - counter_count_read_value_set(val, COUNTER_COUNT_POSITION, &cnt); + *val = cnt; return 0; } static int ti_eqep_count_write(struct counter_device *counter, - struct counter_count *count, - struct counter_count_write_value *val) + struct counter_count *count, unsigned long val) { struct ti_eqep_cnt *priv = counter->priv; - u32 cnt, max; - int err; - - err = counter_count_write_value_get(&cnt, COUNTER_COUNT_POSITION, val); - if (err) - return err; + u32 max; regmap_read(priv->regmap32, QPOSMAX, &max); - if (cnt > max) + if (val > max) return -EINVAL; - return regmap_write(priv->regmap32, QPOSCNT, cnt); + return regmap_write(priv->regmap32, QPOSCNT, val); } static int ti_eqep_function_get(struct counter_device *counter, |