Re: [PATCH v0 14/14] iio: magnetometer: ak8975: Make use of the macros from bits.h

Joshua Crofts
2026-04-28T07:23:41Z

On Mon, 27 Apr 2026 at 22:14, Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
>
> Make use of BIT() and GENMASK() where it makes sense.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
> drivers/iio/magnetometer/ak8975.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/iio/magnetometer/ak8975.c b/drivers/iio/magnetometer/ak8975.c
> index e6ca30b36965..4e53c61c8d69 100644
> --- a/drivers/iio/magnetometer/ak8975.c
> +++ b/drivers/iio/magnetometer/ak8975.c
> @@ -46,7 +46,7 @@
>
> #define AK8975_REG_ST1 0x02
> #define AK8975_REG_ST1_DRDY_SHIFT 0

Might as well remove these types of macros, as they are
otherwise unused in the code after this patch. Either that
or incorporate them into the BIT() and GENMASK()
macros to prevent magic numbers.

> -#define AK8975_REG_ST1_DRDY_MASK (1 << AK8975_REG_ST1_DRDY_SHIFT)
> +#define AK8975_REG_ST1_DRDY_MASK BIT(0)

> #define AK8975_REG_HXL 0x03
> #define AK8975_REG_HXH 0x04
> @@ -56,14 +56,14 @@
> #define AK8975_REG_HZH 0x08
> #define AK8975_REG_ST2 0x09
> #define AK8975_REG_ST2_DERR_SHIFT 2

Here.

> -#define AK8975_REG_ST2_DERR_MASK (1 << AK8975_REG_ST2_DERR_SHIFT)
> +#define AK8975_REG_ST2_DERR_MASK BIT(2)
>
> #define AK8975_REG_ST2_HOFL_SHIFT 3

Here.

> -#define AK8975_REG_ST2_HOFL_MASK (1 << AK8975_REG_ST2_HOFL_SHIFT)
> +#define AK8975_REG_ST2_HOFL_MASK BIT(3)
>
> #define AK8975_REG_CNTL 0x0A
> #define AK8975_REG_CNTL_MODE_SHIFT 0

Here.

> -#define AK8975_REG_CNTL_MODE_MASK (0xF << AK8975_REG_CNTL_MODE_SHIFT)
> +#define AK8975_REG_CNTL_MODE_MASK GENMASK(3, 0)
> #define AK8975_REG_CNTL_MODE_POWER_DOWN 0x00
> #define AK8975_REG_CNTL_MODE_ONCE 0x01
> #define AK8975_REG_CNTL_MODE_SELF_TEST 0x08
> @@ -96,7 +96,7 @@
> #define AK09912_REG_ST1 0x10
>
> #define AK09912_REG_ST1_DRDY_SHIFT 0

Here.

> -#define AK09912_REG_ST1_DRDY_MASK (1 << AK09912_REG_ST1_DRDY_SHIFT)
> +#define AK09912_REG_ST1_DRDY_MASK BIT(0)
>
> #define AK09912_REG_HXL 0x11
> #define AK09912_REG_HXH 0x12
> @@ -108,7 +108,7 @@
>
> #define AK09912_REG_ST2 0x18
> #define AK09912_REG_ST2_HOFL_SHIFT 3

Here.

> -#define AK09912_REG_ST2_HOFL_MASK (1 << AK09912_REG_ST2_HOFL_SHIFT)
> +#define AK09912_REG_ST2_HOFL_MASK BIT(3)
>
> #define AK09912_REG_CNTL1 0x30
>
> @@ -118,7 +118,7 @@
> #define AK09912_REG_CNTL_MODE_SELF_TEST 0x10
> #define AK09912_REG_CNTL_MODE_FUSE_ROM 0x1F
> #define AK09912_REG_CNTL2_MODE_SHIFT 0

Here.

> -#define AK09912_REG_CNTL2_MODE_MASK (0x1F << AK09912_REG_CNTL2_MODE_SHIFT)
> +#define AK09912_REG_CNTL2_MODE_MASK GENMASK(4, 0)

--
Kind regards

CJD