[PATCH v2 1/2] iio: adc: mcp3422: rewrite mask macros using bitfield macros
Marcelo Machado Lage
marcelomlage em usp.br
Sex Abr 17 13:24:15 -03 2026
Rewrite MCP3422_CHANNEL_MASK, MCP3422_PGA_MASK, MCP3422_PGA_MASK
and MCP3422_CONT_SAMPLING using GENMASK() and BIT() macros from
bitfield.h.
The other macros MCP3422_SRATE_{240, 60, 15, 3} were not changed
because they are also used as array indices.
Signed-off-by: Marcelo Machado Lage <marcelomlage em usp.br>
Co-developed-by: Vinicius Lira <vinilira em usp.br>
Signed-off-by: Vinicius Lira <vinilira em usp.br>
---
drivers/iio/adc/mcp3422.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/iio/adc/mcp3422.c b/drivers/iio/adc/mcp3422.c
index 50834fdcf738..59bf73304588 100644
--- a/drivers/iio/adc/mcp3422.c
+++ b/drivers/iio/adc/mcp3422.c
@@ -13,6 +13,7 @@
* voltage unit is nV.
*/
+#include <linux/bits.h>
#include <linux/err.h>
#include <linux/i2c.h>
#include <linux/module.h>
@@ -25,9 +26,9 @@
#include <linux/iio/sysfs.h>
/* Masks */
-#define MCP3422_CHANNEL_MASK 0x60
-#define MCP3422_PGA_MASK 0x03
-#define MCP3422_SRATE_MASK 0x0C
+#define MCP3422_CHANNEL_MASK GENMASK(6, 5)
+#define MCP3422_PGA_MASK GENMASK(1, 0)
+#define MCP3422_SRATE_MASK GENMASK(3, 2)
#define MCP3422_SRATE_240 0x0
#define MCP3422_SRATE_60 0x1
#define MCP3422_SRATE_15 0x2
@@ -36,7 +37,7 @@
#define MCP3422_PGA_2 1
#define MCP3422_PGA_4 2
#define MCP3422_PGA_8 3
-#define MCP3422_CONT_SAMPLING 0x10
+#define MCP3422_CONT_SAMPLING BIT(4)
#define MCP3422_CHANNEL(config) (((config) & MCP3422_CHANNEL_MASK) >> 5)
#define MCP3422_PGA(config) ((config) & MCP3422_PGA_MASK)
--
2.34.1
Mais detalhes sobre a lista de discussão kernel