With the introduction of the 'include/uapi/linux/spi/spi.h' header, the
type of the macros are enforced to 'unsigned long int' via the _BITUL()
macro.

This causes some -Wformat warnings in the spi-stm32 driver.
This patch adds a double-negation operator to the bit-masks. Essentially,
the important values for debugging are 0 or 1, while masking them directly
would show 0 or BIT(x) values.
This way, the type of the arguments are automatically re-cast.

Fixes: f7005142dace ("spi: uapi: unify SPI modes into a single spi.h header")
Reported-by: kernel test robot <[email protected]>
Reported-by: Stephen Rothwell <[email protected]>
Cc: Andy Shevchenko <[email protected]>
Signed-off-by: Alexandru Ardelean <[email protected]>
---

Changelog v1 -> v2:
* revert to using '%d' specifiers
* add !! operatior to bit-masking; this way the types are automatically
  re-cast
* add 'Reported-by: kernel test robot <[email protected]>'

 drivers/spi/spi-stm32.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/spi/spi-stm32.c b/drivers/spi/spi-stm32.c
index 6017209c6d2f..be0fb169d7a7 100644
--- a/drivers/spi/spi-stm32.c
+++ b/drivers/spi/spi-stm32.c
@@ -1028,10 +1028,10 @@ static int stm32_spi_prepare_msg(struct spi_master 
*master,
                clrb |= spi->cfg->regs->lsb_first.mask;
 
        dev_dbg(spi->dev, "cpol=%d cpha=%d lsb_first=%d cs_high=%d\n",
-               spi_dev->mode & SPI_CPOL,
-               spi_dev->mode & SPI_CPHA,
-               spi_dev->mode & SPI_LSB_FIRST,
-               spi_dev->mode & SPI_CS_HIGH);
+               !!(spi_dev->mode & SPI_CPOL),
+               !!(spi_dev->mode & SPI_CPHA),
+               !!(spi_dev->mode & SPI_LSB_FIRST),
+               !!(spi_dev->mode & SPI_CS_HIGH));
 
        spin_lock_irqsave(&spi->lock, flags);
 
-- 
2.17.1

Reply via email to