[PATCH] Replace manual bitfield manipulations with FIELD_GET()
Rafael Lopes Santana
santanarl em usp.br
Qua Abr 29 17:54:24 -03 2026
From: Rafael Lopes Santana <santanarl em usp.br>
---
drivers/iio/proximity/aw96103.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/iio/proximity/aw96103.c b/drivers/iio/proximity/aw96103.c
index 3472a2c36e44..083c11ab477b 100644
--- a/drivers/iio/proximity/aw96103.c
+++ b/drivers/iio/proximity/aw96103.c
@@ -591,7 +591,7 @@ static void aw96103_cfg_update(const struct firmware *fw, void *data)
}
for (i = 0; i < aw96103->max_channels; i++) {
- if ((aw96103->chan_en >> i) & 0x01)
+ if ((FIELD_GET(BIT(i),aw96103->chan_en)))
aw96103->channels_arr[i].used = true;
else
aw96103->channels_arr[i].used = false;
@@ -643,10 +643,10 @@ static irqreturn_t aw96103_irq(int irq, void *data)
if (!aw96103->channels_arr[i].used)
continue;
- curr_status = (((curr_status_val >> (24 + i)) & 0x1)) |
- (((curr_status_val >> (16 + i)) & 0x1) << 1) |
- (((curr_status_val >> (8 + i)) & 0x1) << 2) |
- (((curr_status_val >> i) & 0x1) << 3);
+ curr_status = (FIELD_GET(BIT(24+i),curr_status_val)) |
+ ((FIELD_GET(BIT(16+i),curr_status_val)) << 1) |
+ ((FIELD_GET(BIT(8+i),curr_status_val)) << 2) |
+ ((FIELD_GET(BIT(i),curr_status_val)) << 3);
if (aw96103->channels_arr[i].old_irq_status == curr_status)
continue;
--
2.53.0
Mais detalhes sobre a lista de discussão kernel