[PATCH 3/6] Staging/iio/adc/touchscreen/MXS: simplify register access
From: jic23@kernel.org (Jonathan Cameron)
Date: 2013-09-15 10:35:29
Also in:
linux-iio
On 09/11/13 09:18, Juergen Beisert wrote:
Replace the individual register access by a few shared access function to make the code easier to read and in order to add the i.MX23 SoC in the next step. Signed-off-by: Juergen Beisert <redacted> CC: linux-arm-kernel at lists.infradead.org CC: devel at driverdev.osuosl.org CC: Marek Vasut <marex@denx.de> CC: Fabio Estevam <redacted> CC: Jonathan Cameron <redacted>
One little suggestion inline but I'm basically happy with this.
quoted hunk ↗ jump to hunk
--- drivers/staging/iio/adc/mxs-lradc.c | 204 +++++++++++++++++++++--------------- 1 file changed, 120 insertions(+), 84 deletions(-)diff --git a/drivers/staging/iio/adc/mxs-lradc.c b/drivers/staging/iio/adc/mxs-lradc.c index 5535fed..4317fee 100644 --- a/drivers/staging/iio/adc/mxs-lradc.c +++ b/drivers/staging/iio/adc/mxs-lradc.c@@ -235,6 +235,56 @@ struct mxs_lradc { #define LRADC_RESOLUTION 12 #define LRADC_SINGLE_SAMPLE_MASK ((1 << LRADC_RESOLUTION) - 1) +static void mxs_lradc_reg_set(struct mxs_lradc *lradc, u32 val, u32 reg) +{ + writel(val, lradc->base + reg + STMP_OFFSET_REG_SET); +} + +static void mxs_lradc_reg_clear(struct mxs_lradc *lradc, u32 val, u32 reg) +{ + writel(val, lradc->base + reg + STMP_OFFSET_REG_CLR); +} +
mxs_lradc_reg_write might be clearer?
+static void mxs_lradc_reg(struct mxs_lradc *lradc, u32 val, u32 reg)
+{
+ writel(val, lradc->base + reg);
+}