]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
iio: imu: smi330: Convert to common field_{get,prep}() helpers
authorGeert Uytterhoeven <geert+renesas@glider.be>
Thu, 15 Jan 2026 14:24:16 +0000 (15:24 +0100)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Fri, 16 Jan 2026 19:44:57 +0000 (19:44 +0000)
Drop the driver-specific smi330_field_get() and smi330_field_prep()
macros, in favor of the globally available variants from
<linux/bitfield.h>.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/imu/smi330/smi330_core.c

index 0cf673b44b6291b8b811e541bd3a18737c27b95f..7ec5ae7f521af6a4ca7e42f22815f0a5bb296008 100644 (file)
 #define SMI330_CHIP_ID 0x42
 #define SMI330_SOFT_RESET_DELAY 2000
 
-/* Non-constant mask variant of FIELD_GET() and FIELD_PREP() */
-#define smi330_field_get(_mask, _reg) (((_reg) & (_mask)) >> (ffs(_mask) - 1))
-#define smi330_field_prep(_mask, _val) (((_val) << (ffs(_mask) - 1)) & (_mask))
-
 #define SMI330_ACCEL_CHANNEL(_axis) {                                  \
        .type = IIO_ACCEL,                                              \
        .modified = 1,                                                  \
@@ -361,7 +357,7 @@ static int smi330_get_sensor_config(struct smi330_data *data,
        if (ret)
                return ret;
 
-       reg_val = smi330_field_get(attr->mask, reg_val);
+       reg_val = field_get(attr->mask, reg_val);
 
        if (attr->type == IIO_VAL_INT) {
                for (i = 0; i < attr->len; i++) {
@@ -410,7 +406,7 @@ static int smi330_set_sensor_config(struct smi330_data *data,
        if (ret)
                return ret;
 
-       reg_val = smi330_field_prep(attr->mask, reg_val);
+       reg_val = field_prep(attr->mask, reg_val);
        ret = regmap_update_bits(data->regmap, reg, attr->mask, reg_val);
        if (ret)
                return ret;