linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Miquel Raynal <miquel.raynal@bootlin.com>
To: Jonathan Cameron <jic23@kernel.org>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Lee Jones <lee.jones@linaro.org>
Cc: Peter Meerwald-Stadler <pmeerw@pmeerw.net>,
	Rob Herring <robh+dt@kernel.org>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	bcousson@baylibre.com, Tony Lindgren <tony@atomide.com>,
	linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
	linux-omap@vger.kernel.org,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	Vignesh Raghavendra <vigneshr@ti.com>,
	Lokesh Vutla <lokeshvutla@ti.com>,
	Tero Kristo <kristo@kernel.org>,
	Ryan Barnett <ryan.barnett@collins.com>,
	Grygorii Strashko <grygorii.strashko@ti.com>,
	Jason Reeder <jreeder@ti.com>, <linux-kernel@vger.kernel.org>,
	Miquel Raynal <miquel.raynal@bootlin.com>,
	Jonathan Cameron <Jonathan.Cameron@huawei.com>
Subject: [PATCH v4 29/48] mfd: ti_am335x_tscadc: Drop useless definitions from the header
Date: Tue, 28 Sep 2021 15:31:24 +0200	[thread overview]
Message-ID: <20210928133143.157329-30-miquel.raynal@bootlin.com> (raw)
In-Reply-To: <20210928133143.157329-1-miquel.raynal@bootlin.com>

Drop useless definitions from the header like the "masks" definitions
which are only used by the following definition.

It could be possible to got even further by removing these definitions
entirely and use FIELD_PREP() macros from the code directly, but while I
have no troubles making these changes in the header, changing the values
in the code directly could darkening a bit the logic and
hardening future git-blames for very little added value IMHO (but this
is of course a personal taste).

Certain macros are using GENMASK() to define the value of a particular
field, while this is purely "by chance" that the value and the mask have
the same value. In this case, drop the "mask" definition, use
FIELD_PREP() and GENMASK() in the macro defining the field, and use the
new macro to define the particular value by feeding directly the actual
number advertised in the datasheet into that macro, as in:
	-#define STEPCONFIG_RFM_VREFN   GENMASK(24, 23)
	-#define STEPCONFIG_RFM(val)    FIELD_PREP(STEPCONFIG_RFM_VREFN, (val))
	+#define STEPCONFIG_RFM(val)    FIELD_PREP(GENMASK(24, 23), (val))
	+#define STEPCONFIG_RFM_VREFN   STEPCONFIG_RFM(3)

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
---
 include/linux/mfd/ti_am335x_tscadc.h | 44 ++++++++++------------------
 1 file changed, 16 insertions(+), 28 deletions(-)

diff --git a/include/linux/mfd/ti_am335x_tscadc.h b/include/linux/mfd/ti_am335x_tscadc.h
index 31cffb6e8b17..51d987080cd3 100644
--- a/include/linux/mfd/ti_am335x_tscadc.h
+++ b/include/linux/mfd/ti_am335x_tscadc.h
@@ -52,12 +52,10 @@
 #define IRQENB_PENUP		BIT(9)
 
 /* Step Configuration */
-#define STEPCONFIG_MODE_MASK	GENMASK(1, 0)
-#define STEPCONFIG_MODE(val)	FIELD_PREP(STEPCONFIG_MODE_MASK, (val))
+#define STEPCONFIG_MODE(val)	FIELD_PREP(GENMASK(1, 0), (val))
 #define STEPCONFIG_MODE_SWCNT	STEPCONFIG_MODE(1)
 #define STEPCONFIG_MODE_HWSYNC	STEPCONFIG_MODE(2)
-#define STEPCONFIG_AVG_MASK	GENMASK(4, 2)
-#define STEPCONFIG_AVG(val)	FIELD_PREP(STEPCONFIG_AVG_MASK, (val))
+#define STEPCONFIG_AVG(val)	FIELD_PREP(GENMASK(4, 2), (val))
 #define STEPCONFIG_AVG_16	STEPCONFIG_AVG(4)
 #define STEPCONFIG_XPP		BIT(5)
 #define STEPCONFIG_XNN		BIT(6)
@@ -65,45 +63,36 @@
 #define STEPCONFIG_YNN		BIT(8)
 #define STEPCONFIG_XNP		BIT(9)
 #define STEPCONFIG_YPN		BIT(10)
-#define STEPCONFIG_RFP_VREFP	GENMASK(13, 12)
-#define STEPCONFIG_RFP(val)	FIELD_PREP(STEPCONFIG_RFP_VREFP, (val))
-#define STEPCONFIG_INM_MASK	GENMASK(18, 15)
-#define STEPCONFIG_INM(val)	FIELD_PREP(STEPCONFIG_INM_MASK, (val))
+#define STEPCONFIG_RFP(val)	FIELD_PREP(GENMASK(13, 12), (val))
+#define STEPCONFIG_RFP_VREFP	STEPCONFIG_RFP(3)
+#define STEPCONFIG_INM(val)	FIELD_PREP(GENMASK(18, 15), (val))
 #define STEPCONFIG_INM_ADCREFM	STEPCONFIG_INM(8)
-#define STEPCONFIG_INP_MASK	GENMASK(22, 19)
-#define STEPCONFIG_INP(val)	FIELD_PREP(STEPCONFIG_INP_MASK, (val))
+#define STEPCONFIG_INP(val)	FIELD_PREP(GENMASK(22, 19), (val))
 #define STEPCONFIG_INP_AN4	STEPCONFIG_INP(4)
 #define STEPCONFIG_INP_ADCREFM	STEPCONFIG_INP(8)
 #define STEPCONFIG_FIFO1	BIT(26)
-#define STEPCONFIG_RFM_VREFN	GENMASK(24, 23)
-#define STEPCONFIG_RFM(val)	FIELD_PREP(STEPCONFIG_RFM_VREFN, (val))
+#define STEPCONFIG_RFM(val)	FIELD_PREP(GENMASK(24, 23), (val))
+#define STEPCONFIG_RFM_VREFN	STEPCONFIG_RFM(3)
 
 /* Delay register */
-#define STEPDELAY_OPEN_MASK	GENMASK(17, 0)
-#define STEPDELAY_OPEN(val)	FIELD_PREP(STEPDELAY_OPEN_MASK, (val))
+#define STEPDELAY_OPEN(val)	FIELD_PREP(GENMASK(17, 0), (val))
 #define STEPCONFIG_OPENDLY	STEPDELAY_OPEN(0x098)
-#define STEPDELAY_SAMPLE_MASK	GENMASK(31, 24)
-#define STEPDELAY_SAMPLE(val)	FIELD_PREP(STEPDELAY_SAMPLE_MASK, (val))
 #define STEPCONFIG_MAX_OPENDLY	GENMASK(17, 0)
+#define STEPDELAY_SAMPLE(val)	FIELD_PREP(GENMASK(31, 24), (val))
 #define STEPCONFIG_SAMPLEDLY	STEPDELAY_SAMPLE(0)
 #define STEPCONFIG_MAX_SAMPLE	GENMASK(7, 0)
 
 /* Charge Config */
-#define STEPCHARGE_RFP_MASK	GENMASK(14, 12)
-#define STEPCHARGE_RFP(val)	FIELD_PREP(STEPCHARGE_RFP_MASK, (val))
+#define STEPCHARGE_RFP(val)	FIELD_PREP(GENMASK(14, 12), (val))
 #define STEPCHARGE_RFP_XPUL	STEPCHARGE_RFP(1)
-#define STEPCHARGE_INM_MASK	GENMASK(18, 15)
-#define STEPCHARGE_INM(val)	FIELD_PREP(STEPCHARGE_INM_MASK, (val))
+#define STEPCHARGE_INM(val)	FIELD_PREP(GENMASK(18, 15), (val))
 #define STEPCHARGE_INM_AN1	STEPCHARGE_INM(1)
-#define STEPCHARGE_INP_MASK	GENMASK(22, 19)
-#define STEPCHARGE_INP(val)	FIELD_PREP(STEPCHARGE_INP_MASK, (val))
-#define STEPCHARGE_RFM_MASK	GENMASK(24, 23)
-#define STEPCHARGE_RFM(val)	FIELD_PREP(STEPCHARGE_RFM_MASK, (val))
+#define STEPCHARGE_INP(val)	FIELD_PREP(GENMASK(22, 19), (val))
+#define STEPCHARGE_RFM(val)	FIELD_PREP(GENMASK(24, 23), (val))
 #define STEPCHARGE_RFM_XNUR	STEPCHARGE_RFM(1)
 
 /* Charge delay */
-#define CHARGEDLY_OPEN_MASK	GENMASK(17, 0)
-#define CHARGEDLY_OPEN(val)	FIELD_PREP(CHARGEDLY_OPEN_MASK, (val))
+#define CHARGEDLY_OPEN(val)	FIELD_PREP(GENMASK(17, 0), (val))
 #define CHARGEDLY_OPENDLY	CHARGEDLY_OPEN(0x400)
 
 /* Control register */
@@ -111,8 +100,7 @@
 #define CNTRLREG_STEPID		BIT(1)
 #define CNTRLREG_STEPCONFIGWRT	BIT(2)
 #define CNTRLREG_POWERDOWN	BIT(4)
-#define CNTRLREG_AFE_CTRL_MASK	GENMASK(6, 5)
-#define CNTRLREG_AFE_CTRL(val)	FIELD_PREP(CNTRLREG_AFE_CTRL_MASK, (val))
+#define CNTRLREG_AFE_CTRL(val)	FIELD_PREP(GENMASK(6, 5), (val))
 #define CNTRLREG_4WIRE		CNTRLREG_AFE_CTRL(1)
 #define CNTRLREG_5WIRE		CNTRLREG_AFE_CTRL(2)
 #define CNTRLREG_8WIRE		CNTRLREG_AFE_CTRL(3)
-- 
2.27.0


  parent reply	other threads:[~2021-09-28 13:33 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-28 13:30 [PATCH v4 00/48] TI AM437X ADC1 Miquel Raynal
2021-09-28 13:30 ` [PATCH v4 01/48] clk: ti: am43xx: Add clkctrl data for am43xx ADC1 Miquel Raynal
2021-09-28 13:30 ` [PATCH v4 02/48] dt-bindings: mfd: ti,am3359-tscadc: Add a yaml description for this MFD Miquel Raynal
2021-09-28 13:30 ` [PATCH v4 03/48] dt-bindings: touchscreen: ti,am3359-tsc: New yaml description Miquel Raynal
2021-09-28 13:30 ` [PATCH v4 04/48] dt-bindings: iio: adc: ti,am3359-adc: " Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 05/48] dt-bindings: touchscreen: ti,am3359-tsc: Remove deprecated text file Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 06/48] dt-bindings: mfd: ti,am3359-tscadc: Describe am4372 MFD compatible Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 07/48] dt-bindings: iio: adc: ti,am3359-adc: Describe am4372 ADC compatible Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 08/48] mfd: ti_am335x_tscadc: Ensure a balanced number of node get/put Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 09/48] mfd: ti_am335x_tscadc: Replace license text with SPDX tag Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 10/48] mfd: ti_am335x_tscadc: Fix style Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 11/48] mfd: ti_am335x_tscadc: Drop extra spacing when declaring stack variables Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 12/48] mfd: ti_am335x_tscadc: Get rid of useless gotos Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 13/48] mfd: ti_am335x_tscadc: Reword the comment explaining the dividers Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 14/48] mfd: ti_am335x_tscadc: Don't search the tree for our clock Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 15/48] mfd: ti_am335x_tscadc: Simplify divisor calculation Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 16/48] mfd: ti_am335x_tscadc: Move the driver structure allocation earlier Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 17/48] mfd: ti_am335x_tscadc: Use driver data Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 18/48] mfd: ti_am335x_tscadc: Mimic the probe from resume() Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 19/48] mfd: ti_am335x_tscadc: Drop useless variables from the driver structure Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 20/48] mfd: ti_am335x_tscadc: Always provide an idle configuration Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 21/48] mfd: ti_am335x_tscadc: Reorder the initialization steps Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 22/48] mfd: ti_am335x_tscadc: Gather the ctrl register logic in one place Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 23/48] mfd: ti_am335x_tscadc: Replace the header license text with SPDX tag Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 24/48] mfd: ti_am335x_tscadc: Fix header spacing Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 25/48] mfd: ti_am335x_tscadc: Use the new HZ_PER_MHZ macro Miquel Raynal
2021-09-29 15:29   ` Jonathan Cameron
2021-10-01  7:11     ` Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 26/48] mfd: ti_am335x_tscadc: Drop unused definitions from the header Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 27/48] mfd: ti_am335x_tscadc: Use BIT(), GENMASK() and FIELD_PREP() when relevant Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 28/48] mfd: ti_am335x_tscadc: Clarify the maximum values for DT entries Miquel Raynal
2021-09-28 13:31 ` Miquel Raynal [this message]
2021-09-28 13:31 ` [PATCH v4 30/48] mfd: ti_am335x_tscadc: Rename the subsystem enable macro Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 31/48] mfd: ti_am335x_tscadc: Add TSC prefix in certain macros Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 32/48] mfd: ti_am335x_tscadc: Rename a variable Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 33/48] mfd: ti_am335x_tscadc: Fix an error message Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 34/48] mfd: ti_am335x_tscadc: Add a boolean to clarify the presence of a touchscreen Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 35/48] mfd: ti_am335x_tscadc: Introduce a helper to deal with the type of hardware Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 36/48] mfd: ti_am335x_tscadc: Add ADC1/magnetic reader support Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 37/48] mfd: ti_am335x_tscadc: Support the correctly spelled DT property Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 38/48] iio: adc: ti_am335x_adc: Wait the idle state to avoid stalls Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 39/48] iio: adc: ti_am335x_adc: Replace license text with SPDX tag Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 40/48] iio: adc: ti_am335x_adc: Fix style Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 41/48] iio: adc: ti_am335x_adc: Get rid of useless gotos Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 42/48] iio: adc: ti_am335x_adc: Gather the checks on the delays Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 43/48] iio: adc: ti_am335x_adc: Add a unit to the timeout delay Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 44/48] iio: adc: ti_am335x_adc: Add the scale information Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 45/48] iio: adc: ti_am335x_adc: Add the am437x compatible Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 46/48] ARM: dts: am437x-cm-t43: Use a correctly spelled DT property Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 47/48] ARM: dts: am43xx: Describe the magnetic reader/ADC1 hardware module Miquel Raynal
2021-09-28 13:31 ` [PATCH v4 48/48] ARM: dts: am437x-gp-evm: enable ADC1 Miquel Raynal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210928133143.157329-30-miquel.raynal@bootlin.com \
    --to=miquel.raynal@bootlin.com \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=bcousson@baylibre.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=grygorii.strashko@ti.com \
    --cc=jic23@kernel.org \
    --cc=jreeder@ti.com \
    --cc=kristo@kernel.org \
    --cc=lars@metafoo.de \
    --cc=lee.jones@linaro.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=lokeshvutla@ti.com \
    --cc=pmeerw@pmeerw.net \
    --cc=robh+dt@kernel.org \
    --cc=ryan.barnett@collins.com \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=tony@atomide.com \
    --cc=vigneshr@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).