2020-11-24 11:46:19

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH v2 1/3] spi: convert to BIT() all spi_device flags

Hi Alexandru,

I love your patch! Perhaps something to improve:

[auto build test WARNING on spi/for-next]
[also build test WARNING on next-20201123]
[cannot apply to v5.10-rc5]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url: https://github.com/0day-ci/linux/commits/Alexandru-Ardelean/spi-convert-to-BIT-all-spi_device-flags/20201124-181801
base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next
config: i386-randconfig-a011-20201124 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/1d45734a72568cc2118c14f912affda571a5f9dc
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Alexandru-Ardelean/spi-convert-to-BIT-all-spi_device-flags/20201124-181801
git checkout 1d45734a72568cc2118c14f912affda571a5f9dc
# save the attached .config to linux build tree
make W=1 ARCH=i386

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>

All warnings (new ones prefixed by >>):

In file included from drivers/spi/spidev.c:26:
>> include/uapi/linux/spi/spidev.h:33: warning: "SPI_CPHA" redefined
33 | #define SPI_CPHA 0x01
|
In file included from drivers/spi/spidev.c:25:
include/linux/spi/spi.h:168: note: this is the location of the previous definition
168 | #define SPI_CPHA BIT(0) /* clock phase */
|
In file included from drivers/spi/spidev.c:26:
>> include/uapi/linux/spi/spidev.h:34: warning: "SPI_CPOL" redefined
34 | #define SPI_CPOL 0x02
|
In file included from drivers/spi/spidev.c:25:
include/linux/spi/spi.h:169: note: this is the location of the previous definition
169 | #define SPI_CPOL BIT(1) /* clock polarity */
|
In file included from drivers/spi/spidev.c:26:
>> include/uapi/linux/spi/spidev.h:41: warning: "SPI_CS_HIGH" redefined
41 | #define SPI_CS_HIGH 0x04
|
In file included from drivers/spi/spidev.c:25:
include/linux/spi/spi.h:175: note: this is the location of the previous definition
175 | #define SPI_CS_HIGH BIT(2) /* chipselect active high? */
|
In file included from drivers/spi/spidev.c:26:
>> include/uapi/linux/spi/spidev.h:42: warning: "SPI_LSB_FIRST" redefined
42 | #define SPI_LSB_FIRST 0x08
|
In file included from drivers/spi/spidev.c:25:
include/linux/spi/spi.h:176: note: this is the location of the previous definition
176 | #define SPI_LSB_FIRST BIT(3) /* per-word bits-on-wire */
|
In file included from drivers/spi/spidev.c:26:
>> include/uapi/linux/spi/spidev.h:43: warning: "SPI_3WIRE" redefined
43 | #define SPI_3WIRE 0x10
|
In file included from drivers/spi/spidev.c:25:
include/linux/spi/spi.h:177: note: this is the location of the previous definition
177 | #define SPI_3WIRE BIT(4) /* SI/SO signals shared */
|
In file included from drivers/spi/spidev.c:26:
>> include/uapi/linux/spi/spidev.h:44: warning: "SPI_LOOP" redefined
44 | #define SPI_LOOP 0x20
|
In file included from drivers/spi/spidev.c:25:
include/linux/spi/spi.h:178: note: this is the location of the previous definition
178 | #define SPI_LOOP BIT(5) /* loopback mode */
|
In file included from drivers/spi/spidev.c:26:
>> include/uapi/linux/spi/spidev.h:45: warning: "SPI_NO_CS" redefined
45 | #define SPI_NO_CS 0x40
|
In file included from drivers/spi/spidev.c:25:
include/linux/spi/spi.h:179: note: this is the location of the previous definition
179 | #define SPI_NO_CS BIT(6) /* 1 dev/bus, no chipselect */
|
In file included from drivers/spi/spidev.c:26:
>> include/uapi/linux/spi/spidev.h:46: warning: "SPI_READY" redefined
46 | #define SPI_READY 0x80
|
In file included from drivers/spi/spidev.c:25:
include/linux/spi/spi.h:180: note: this is the location of the previous definition
180 | #define SPI_READY BIT(7) /* slave pulls low to pause */
|
In file included from drivers/spi/spidev.c:26:
>> include/uapi/linux/spi/spidev.h:47: warning: "SPI_TX_DUAL" redefined
47 | #define SPI_TX_DUAL 0x100
|
In file included from drivers/spi/spidev.c:25:
include/linux/spi/spi.h:181: note: this is the location of the previous definition
181 | #define SPI_TX_DUAL BIT(8) /* transmit with 2 wires */
|
In file included from drivers/spi/spidev.c:26:
>> include/uapi/linux/spi/spidev.h:48: warning: "SPI_TX_QUAD" redefined
48 | #define SPI_TX_QUAD 0x200
|
In file included from drivers/spi/spidev.c:25:
include/linux/spi/spi.h:182: note: this is the location of the previous definition
182 | #define SPI_TX_QUAD BIT(9) /* transmit with 4 wires */
|
In file included from drivers/spi/spidev.c:26:
>> include/uapi/linux/spi/spidev.h:49: warning: "SPI_RX_DUAL" redefined
49 | #define SPI_RX_DUAL 0x400
|
In file included from drivers/spi/spidev.c:25:
include/linux/spi/spi.h:183: note: this is the location of the previous definition
183 | #define SPI_RX_DUAL BIT(10) /* receive with 2 wires */
|
In file included from drivers/spi/spidev.c:26:
>> include/uapi/linux/spi/spidev.h:50: warning: "SPI_RX_QUAD" redefined
50 | #define SPI_RX_QUAD 0x800
|
In file included from drivers/spi/spidev.c:25:
include/linux/spi/spi.h:184: note: this is the location of the previous definition
184 | #define SPI_RX_QUAD BIT(11) /* receive with 4 wires */
|
In file included from drivers/spi/spidev.c:26:
>> include/uapi/linux/spi/spidev.h:51: warning: "SPI_CS_WORD" redefined
51 | #define SPI_CS_WORD 0x1000
|
In file included from drivers/spi/spidev.c:25:
include/linux/spi/spi.h:185: note: this is the location of the previous definition
185 | #define SPI_CS_WORD BIT(12) /* toggle cs after each word */
|
In file included from drivers/spi/spidev.c:26:
>> include/uapi/linux/spi/spidev.h:52: warning: "SPI_TX_OCTAL" redefined
52 | #define SPI_TX_OCTAL 0x2000
|
In file included from drivers/spi/spidev.c:25:
include/linux/spi/spi.h:186: note: this is the location of the previous definition
186 | #define SPI_TX_OCTAL BIT(13) /* transmit with 8 wires */
|
In file included from drivers/spi/spidev.c:26:
>> include/uapi/linux/spi/spidev.h:53: warning: "SPI_RX_OCTAL" redefined
53 | #define SPI_RX_OCTAL 0x4000
|
In file included from drivers/spi/spidev.c:25:
include/linux/spi/spi.h:187: note: this is the location of the previous definition
187 | #define SPI_RX_OCTAL BIT(14) /* receive with 8 wires */
|
In file included from drivers/spi/spidev.c:26:
>> include/uapi/linux/spi/spidev.h:54: warning: "SPI_3WIRE_HIZ" redefined
54 | #define SPI_3WIRE_HIZ 0x8000
|
In file included from drivers/spi/spidev.c:25:
include/linux/spi/spi.h:188: note: this is the location of the previous definition
188 | #define SPI_3WIRE_HIZ BIT(15) /* high impedance turnaround */
|

vim +/SPI_CPHA +33 include/uapi/linux/spi/spidev.h

814a8d50eb1d88c include/linux/spi/spidev.h Andrea Paterniani 2007-05-08 28
814a8d50eb1d88c include/linux/spi/spidev.h Andrea Paterniani 2007-05-08 29 /* User space versions of kernel symbols for SPI clocking modes,
814a8d50eb1d88c include/linux/spi/spidev.h Andrea Paterniani 2007-05-08 30 * matching <linux/spi/spi.h>
814a8d50eb1d88c include/linux/spi/spidev.h Andrea Paterniani 2007-05-08 31 */
814a8d50eb1d88c include/linux/spi/spidev.h Andrea Paterniani 2007-05-08 32
814a8d50eb1d88c include/linux/spi/spidev.h Andrea Paterniani 2007-05-08 @33 #define SPI_CPHA 0x01
814a8d50eb1d88c include/linux/spi/spidev.h Andrea Paterniani 2007-05-08 @34 #define SPI_CPOL 0x02
814a8d50eb1d88c include/linux/spi/spidev.h Andrea Paterniani 2007-05-08 35
814a8d50eb1d88c include/linux/spi/spidev.h Andrea Paterniani 2007-05-08 36 #define SPI_MODE_0 (0|0)
814a8d50eb1d88c include/linux/spi/spidev.h Andrea Paterniani 2007-05-08 37 #define SPI_MODE_1 (0|SPI_CPHA)
814a8d50eb1d88c include/linux/spi/spidev.h Andrea Paterniani 2007-05-08 38 #define SPI_MODE_2 (SPI_CPOL|0)
814a8d50eb1d88c include/linux/spi/spidev.h Andrea Paterniani 2007-05-08 39 #define SPI_MODE_3 (SPI_CPOL|SPI_CPHA)
814a8d50eb1d88c include/linux/spi/spidev.h Andrea Paterniani 2007-05-08 40
6f166e3833d953f include/linux/spi/spidev.h Anton Vorontsov 2007-07-31 @41 #define SPI_CS_HIGH 0x04
6f166e3833d953f include/linux/spi/spidev.h Anton Vorontsov 2007-07-31 @42 #define SPI_LSB_FIRST 0x08
6f166e3833d953f include/linux/spi/spidev.h Anton Vorontsov 2007-07-31 @43 #define SPI_3WIRE 0x10
6f166e3833d953f include/linux/spi/spidev.h Anton Vorontsov 2007-07-31 @44 #define SPI_LOOP 0x20
b55f627feeb9d48 include/linux/spi/spidev.h David Brownell 2009-06-30 @45 #define SPI_NO_CS 0x40
b55f627feeb9d48 include/linux/spi/spidev.h David Brownell 2009-06-30 @46 #define SPI_READY 0x80
dc64d39b54c1e9d include/uapi/linux/spi/spidev.h Geert Uytterhoeven 2014-02-25 @47 #define SPI_TX_DUAL 0x100
dc64d39b54c1e9d include/uapi/linux/spi/spidev.h Geert Uytterhoeven 2014-02-25 @48 #define SPI_TX_QUAD 0x200
dc64d39b54c1e9d include/uapi/linux/spi/spidev.h Geert Uytterhoeven 2014-02-25 @49 #define SPI_RX_DUAL 0x400
dc64d39b54c1e9d include/uapi/linux/spi/spidev.h Geert Uytterhoeven 2014-02-25 @50 #define SPI_RX_QUAD 0x800
7bb64402a092136 include/uapi/linux/spi/spidev.h Qing Zhang 2020-06-11 @51 #define SPI_CS_WORD 0x1000
7bb64402a092136 include/uapi/linux/spi/spidev.h Qing Zhang 2020-06-11 @52 #define SPI_TX_OCTAL 0x2000
7bb64402a092136 include/uapi/linux/spi/spidev.h Qing Zhang 2020-06-11 @53 #define SPI_RX_OCTAL 0x4000
7bb64402a092136 include/uapi/linux/spi/spidev.h Qing Zhang 2020-06-11 @54 #define SPI_3WIRE_HIZ 0x8000
814a8d50eb1d88c include/linux/spi/spidev.h Andrea Paterniani 2007-05-08 55

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]


Attachments:
(No filename) (10.53 kB)
.config.gz (34.89 kB)
Download all attachments

2020-11-24 11:51:39

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 1/3] spi: convert to BIT() all spi_device flags

On Tue, Nov 24, 2020 at 1:42 PM kernel test robot <[email protected]> wrote:

> All warnings (new ones prefixed by >>):
>
> In file included from drivers/spi/spidev.c:26:
> >> include/uapi/linux/spi/spidev.h:33: warning: "SPI_CPHA" redefined
> 33 | #define SPI_CPHA 0x01

Argh! Can we have only one set of flags?

--
With Best Regards,
Andy Shevchenko

2020-11-24 12:06:52

by Alexandru Ardelean

[permalink] [raw]
Subject: RE: [PATCH v2 1/3] spi: convert to BIT() all spi_device flags



> -----Original Message-----
> From: Andy Shevchenko <[email protected]>
> Sent: Tuesday, November 24, 2020 1:50 PM
> To: kernel test robot <[email protected]>
> Cc: Ardelean, Alexandru <[email protected]>; linux-spi <linux-
> [email protected]>; devicetree <[email protected]>; Linux Kernel
> Mailing List <[email protected]>; [email protected]; Mark
> Brown <[email protected]>; Rob Herring <[email protected]>; Bogdan,
> Dragos <[email protected]>
> Subject: Re: [PATCH v2 1/3] spi: convert to BIT() all spi_device flags
>
> On Tue, Nov 24, 2020 at 1:42 PM kernel test robot <[email protected]> wrote:
>
> > All warnings (new ones prefixed by >>):
> >
> > In file included from drivers/spi/spidev.c:26:
> > >> include/uapi/linux/spi/spidev.h:33: warning: "SPI_CPHA" redefined
> > 33 | #define SPI_CPHA 0x01
>
> Argh! Can we have only one set of flags?
>

My bad here for not catching this earlier.

It might be an idea to create a "include/uapi/linux/spi/spi.h" and include this in " include/uapi/linux/spi/spidev.h "
Then the " include/uapi/linux/spi/spi.h " would also be included in " include/linux/spi/spi.h "
We would naturally drop the BIT() macros for the uapi header.


> --
> With Best Regards,
> Andy Shevchenko

2020-11-25 02:06:46

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 1/3] spi: convert to BIT() all spi_device flags

On Tue, Nov 24, 2020 at 2:03 PM Ardelean, Alexandru
<[email protected]> wrote:

> > > In file included from drivers/spi/spidev.c:26:
> > > >> include/uapi/linux/spi/spidev.h:33: warning: "SPI_CPHA" redefined
> > > 33 | #define SPI_CPHA 0x01
> >
> > Argh! Can we have only one set of flags?
> >
>
> My bad here for not catching this earlier.
>
> It might be an idea to create a "include/uapi/linux/spi/spi.h" and include this in " include/uapi/linux/spi/spidev.h "
> Then the " include/uapi/linux/spi/spi.h " would also be included in " include/linux/spi/spi.h "
> We would naturally drop the BIT() macros for the uapi header.

uAPI has its own _BIT*() macros.


--
With Best Regards,
Andy Shevchenko