[PATCH 3/6] Staging/iio/adc/touchscreen/MXS: simplify register access
Marek Vasut
marex at denx.de
Mon Sep 16 10:15:40 EDT 2013
Dear Juergen Beisert,
> 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 <jbe at pengutronix.de>
> CC: linux-arm-kernel at lists.infradead.org
> CC: devel at driverdev.osuosl.org
> CC: Marek Vasut <marex at denx.de>
> CC: Fabio Estevam <fabio.estevam at freescale.com>
> CC: Jonathan Cameron <jic23 at cam.ac.uk>
> ---
> 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);
> +}
> +
> +static void mxs_lradc_reg(struct mxs_lradc *lradc, u32 val, u32 reg)
> +{
> + writel(val, lradc->base + reg);
> +}
Idea for later patch: Should we not move these functions to a MXS-specific
header _later_ on so other drivers can leverage them too ?
[...]
Best regards,
Marek Vasut
More information about the linux-arm-kernel
mailing list