summaryrefslogtreecommitdiff
path: root/drivers/counter/ti-eqep.c
diff options
context:
space:
mode:
authorWilliam Breathitt Gray <vilhelm.gray@gmail.com>2019-10-06 16:03:09 -0400
committerJonathan Cameron <Jonathan.Cameron@huawei.com>2019-10-18 19:47:27 +0100
commitd49e6ee2d6c2b654c5eeb9aa1c4986cd1bec2582 (patch)
treeb6a3d0030853a61a33d55bd47a82975d7a5d7983 /drivers/counter/ti-eqep.c
parent16922ffee1217ec031162ca12ec9fe8710b11106 (diff)
downloadlwn-d49e6ee2d6c2b654c5eeb9aa1c4986cd1bec2582.tar.gz
lwn-d49e6ee2d6c2b654c5eeb9aa1c4986cd1bec2582.zip
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.c19
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,