Subject: linux-next: build failure after merge of the staging tree

From: Stephen Rothwell <[email-masked]>
Date: Tue, 8 Oct 2019 13:49:07 +1100

Hi all,

After merging the staging tree, today's linux-next build (powerpc
allyesconfig) failed like this:

In file included from include/linux/byteorder/big_endian.h:5,
                 from arch/powerpc/include/uapi/asm/byteorder.h:14,
                 from include/asm-generic/bitops/le.h:6,
                 from arch/powerpc/include/asm/bitops.h:243,
                 from include/linux/bitops.h:26,
                 from include/linux/kernel.h:12,
                 from include/asm-generic/bug.h:19,
                 from arch/powerpc/include/asm/bug.h:120,
                 from include/linux/bug.h:5,
                 from include/linux/gpio/consumer.h:5,
                 from drivers/staging/wfx/bh.c:8:
drivers/staging/wfx/bh.c: In function 'rx_helper':
drivers/staging/wfx/bh.c:86:19: warning: passing argument 1 of '__swab16s' makes pointer from integer without a cast [-Wint-conversion]
   86 |   le16_to_cpus(hif->len);
include/uapi/linux/byteorder/big_endian.h:97:38: note: in definition of macro '__le16_to_cpus'
   97 | #define __le16_to_cpus(x) __swab16s((x))
      |                                      ^
drivers/staging/wfx/bh.c:86:3: note: in expansion of macro 'le16_to_cpus'
   86 |   le16_to_cpus(hif->len);
      |   ^~~~~~~~~~~~
In file included from include/linux/swab.h:5,
                 from include/uapi/linux/byteorder/big_endian.h:13,
                 from include/linux/byteorder/big_endian.h:5,
                 from arch/powerpc/include/uapi/asm/byteorder.h:14,
                 from include/asm-generic/bitops/le.h:6,
                 from arch/powerpc/include/asm/bitops.h:243,
                 from include/linux/bitops.h:26,
                 from include/linux/kernel.h:12,
                 from include/asm-generic/bug.h:19,
                 from arch/powerpc/include/asm/bug.h:120,
                 from include/linux/bug.h:5,
                 from include/linux/gpio/consumer.h:5,
                 from drivers/staging/wfx/bh.c:8:
include/uapi/linux/swab.h:230:37: note: expected '__u16 *' {aka 'short unsigned int *'} but argument is of type 'uint16_t' {aka 'short unsigned int'}
  230 | static inline void __swab16s(__u16 *p)
      |                              ~~~~~~~^
In file included from include/linux/byteorder/big_endian.h:5,
                 from arch/powerpc/include/uapi/asm/byteorder.h:14,
                 from include/asm-generic/bitops/le.h:6,
                 from arch/powerpc/include/asm/bitops.h:243,
                 from include/linux/bitops.h:26,
                 from include/linux/kernel.h:12,
                 from include/asm-generic/bug.h:19,
                 from arch/powerpc/include/asm/bug.h:120,
                 from include/linux/bug.h:5,
                 from include/linux/gpio/consumer.h:5,
                 from drivers/staging/wfx/bh.c:8:
drivers/staging/wfx/bh.c:91:19: warning: passing argument 1 of '__swab16s' makes pointer from integer without a cast [-Wint-conversion]
   91 |   le16_to_cpus(hif->len);
include/uapi/linux/byteorder/big_endian.h:97:38: note: in definition of macro '__le16_to_cpus'
   97 | #define __le16_to_cpus(x) __swab16s((x))
      |                                      ^
drivers/staging/wfx/bh.c:91:3: note: in expansion of macro 'le16_to_cpus'
   91 |   le16_to_cpus(hif->len);
      |   ^~~~~~~~~~~~
In file included from include/linux/swab.h:5,
                 from include/uapi/linux/byteorder/big_endian.h:13,
                 from include/linux/byteorder/big_endian.h:5,
                 from arch/powerpc/include/uapi/asm/byteorder.h:14,
                 from include/asm-generic/bitops/le.h:6,
                 from arch/powerpc/include/asm/bitops.h:243,
                 from include/linux/bitops.h:26,
                 from include/linux/kernel.h:12,
                 from include/asm-generic/bug.h:19,
                 from arch/powerpc/include/asm/bug.h:120,
                 from include/linux/bug.h:5,
                 from include/linux/gpio/consumer.h:5,
                 from drivers/staging/wfx/bh.c:8:
include/uapi/linux/swab.h:230:37: note: expected '__u16 *' {aka 'short unsigned int *'} but argument is of type 'uint16_t' {aka 'short unsigned int'}
  230 | static inline void __swab16s(__u16 *p)
      |                              ~~~~~~~^
In file included from include/linux/byteorder/big_endian.h:5,
                 from arch/powerpc/include/uapi/asm/byteorder.h:14,
                 from include/asm-generic/bitops/le.h:6,
                 from arch/powerpc/include/asm/bitops.h:243,
                 from include/linux/bitops.h:26,
                 from include/linux/kernel.h:12,
                 from include/asm-generic/bug.h:19,
                 from arch/powerpc/include/asm/bug.h:120,
                 from include/linux/bug.h:5,
                 from include/net/mac80211.h:16,
                 from drivers/staging/wfx/key.c:8:
drivers/staging/wfx/hif_tx_mib.h: In function 'hif_set_mfp':
drivers/staging/wfx/hif_tx_mib.h:139:15: error: passing argument 1 of '__swab32s' from incompatible pointer type [-Werror=incompatible-pointer-types]
  139 |  cpu_to_le32s(&val);
include/uapi/linux/byteorder/big_endian.h:94:38: note: in definition of macro '__cpu_to_le32s'
   94 | #define __cpu_to_le32s(x) __swab32s((x))
      |                                      ^
drivers/staging/wfx/hif_tx_mib.h:139:2: note: in expansion of macro 'cpu_to_le32s'
  139 |  cpu_to_le32s(&val);
      |  ^~~~~~~~~~~~
In file included from include/linux/swab.h:5,
                 from include/uapi/linux/byteorder/big_endian.h:13,
                 from include/linux/byteorder/big_endian.h:5,
                 from arch/powerpc/include/uapi/asm/byteorder.h:14,
                 from include/asm-generic/bitops/le.h:6,
                 from arch/powerpc/include/asm/bitops.h:243,
                 from include/linux/bitops.h:26,
                 from include/linux/kernel.h:12,
                 from include/asm-generic/bug.h:19,
                 from arch/powerpc/include/asm/bug.h:120,
                 from include/linux/bug.h:5,
                 from include/net/mac80211.h:16,
                 from drivers/staging/wfx/key.c:8:
include/uapi/linux/swab.h:242:46: note: expected '__u32 *' {aka 'unsigned int *'} but argument is of type 'struct hif_mib_protected_mgmt_policy *'
  242 | static __always_inline void __swab32s(__u32 *p)
      |                                       ~~~~~~~^
In file included from include/linux/byteorder/big_endian.h:5,
                 from arch/powerpc/include/uapi/asm/byteorder.h:14,
                 from include/asm-generic/bitops/le.h:6,
                 from arch/powerpc/include/asm/bitops.h:243,
                 from include/linux/bitops.h:26,
                 from include/linux/kernel.h:12,
                 from include/asm-generic/bug.h:19,
                 from arch/powerpc/include/asm/bug.h:120,
                 from include/linux/bug.h:5,
                 from include/net/mac80211.h:16,
                 from drivers/staging/wfx/scan.c:8:
drivers/staging/wfx/hif_tx_mib.h: In function 'hif_set_mfp':
drivers/staging/wfx/hif_tx_mib.h:139:15: error: passing argument 1 of '__swab32s' from incompatible pointer type [-Werror=incompatible-pointer-types]
  139 |  cpu_to_le32s(&val);
include/uapi/linux/byteorder/big_endian.h:94:38: note: in definition of macro '__cpu_to_le32s'
   94 | #define __cpu_to_le32s(x) __swab32s((x))
      |                                      ^
drivers/staging/wfx/hif_tx_mib.h:139:2: note: in expansion of macro 'cpu_to_le32s'
  139 |  cpu_to_le32s(&val);
      |  ^~~~~~~~~~~~
In file included from include/linux/swab.h:5,
                 from include/uapi/linux/byteorder/big_endian.h:13,
                 from include/linux/byteorder/big_endian.h:5,
                 from arch/powerpc/include/uapi/asm/byteorder.h:14,
                 from include/asm-generic/bitops/le.h:6,
                 from arch/powerpc/include/asm/bitops.h:243,
                 from include/linux/bitops.h:26,
                 from include/linux/kernel.h:12,
                 from include/asm-generic/bug.h:19,
                 from arch/powerpc/include/asm/bug.h:120,
                 from include/linux/bug.h:5,
                 from include/net/mac80211.h:16,
                 from drivers/staging/wfx/scan.c:8:
include/uapi/linux/swab.h:242:46: note: expected '__u32 *' {aka 'unsigned int *'} but argument is of type 'struct hif_mib_protected_mgmt_policy *'
  242 | static __always_inline void __swab32s(__u32 *p)
      |                                       ~~~~~~~^
In file included from include/linux/byteorder/big_endian.h:5,
                 from arch/powerpc/include/uapi/asm/byteorder.h:14,
                 from include/asm-generic/bitops/le.h:6,
                 from arch/powerpc/include/asm/bitops.h:243,
                 from include/linux/bitops.h:26,
                 from include/linux/kernel.h:12,
                 from include/linux/list.h:9,
                 from include/linux/module.h:9,
                 from drivers/staging/wfx/main.c:13:
drivers/staging/wfx/hif_tx_mib.h: In function 'hif_set_mfp':
drivers/staging/wfx/hif_tx_mib.h:139:15: error: passing argument 1 of '__swab32s' from incompatible pointer type [-Werror=incompatible-pointer-types]
  139 |  cpu_to_le32s(&val);
include/uapi/linux/byteorder/big_endian.h:94:38: note: in definition of macro '__cpu_to_le32s'
   94 | #define __cpu_to_le32s(x) __swab32s((x))
      |                                      ^
drivers/staging/wfx/hif_tx_mib.h:139:2: note: in expansion of macro 'cpu_to_le32s'
  139 |  cpu_to_le32s(&val);
      |  ^~~~~~~~~~~~
In file included from include/linux/swab.h:5,
                 from include/uapi/linux/byteorder/big_endian.h:13,
                 from include/linux/byteorder/big_endian.h:5,
                 from arch/powerpc/include/uapi/asm/byteorder.h:14,
                 from include/asm-generic/bitops/le.h:6,
                 from arch/powerpc/include/asm/bitops.h:243,
                 from include/linux/bitops.h:26,
                 from include/linux/kernel.h:12,
                 from include/linux/list.h:9,
                 from include/linux/module.h:9,
                 from drivers/staging/wfx/main.c:13:
include/uapi/linux/swab.h:242:46: note: expected '__u32 *' {aka 'unsigned int *'} but argument is of type 'struct hif_mib_protected_mgmt_policy *'
  242 | static __always_inline void __swab32s(__u32 *p)
      |                                       ~~~~~~~^
In file included from include/linux/byteorder/big_endian.h:5,
                 from arch/powerpc/include/uapi/asm/byteorder.h:14,
                 from include/asm-generic/bitops/le.h:6,
                 from arch/powerpc/include/asm/bitops.h:243,
                 from include/linux/bitops.h:26,
                 from include/linux/kernel.h:12,
                 from include/asm-generic/bug.h:19,
                 from arch/powerpc/include/asm/bug.h:120,
                 from include/linux/bug.h:5,
                 from include/net/mac80211.h:16,
                 from drivers/staging/wfx/data_tx.c:8:
drivers/staging/wfx/hif_tx_mib.h: In function 'hif_set_mfp':
drivers/staging/wfx/hif_tx_mib.h:139:15: error: passing argument 1 of '__swab32s' from incompatible pointer type [-Werror=incompatible-pointer-types]
  139 |  cpu_to_le32s(&val);
include/uapi/linux/byteorder/big_endian.h:94:38: note: in definition of macro '__cpu_to_le32s'
   94 | #define __cpu_to_le32s(x) __swab32s((x))
      |                                      ^
drivers/staging/wfx/hif_tx_mib.h:139:2: note: in expansion of macro 'cpu_to_le32s'
  139 |  cpu_to_le32s(&val);
      |  ^~~~~~~~~~~~
In file included from include/linux/swab.h:5,
                 from include/uapi/linux/byteorder/big_endian.h:13,
                 from include/linux/byteorder/big_endian.h:5,
                 from arch/powerpc/include/uapi/asm/byteorder.h:14,
                 from include/asm-generic/bitops/le.h:6,
                 from arch/powerpc/include/asm/bitops.h:243,
                 from include/linux/bitops.h:26,
                 from include/linux/kernel.h:12,
                 from include/asm-generic/bug.h:19,
                 from arch/powerpc/include/asm/bug.h:120,
                 from include/linux/bug.h:5,
                 from include/net/mac80211.h:16,
                 from drivers/staging/wfx/data_tx.c:8:
include/uapi/linux/swab.h:242:46: note: expected '__u32 *' {aka 'unsigned int *'} but argument is of type 'struct hif_mib_protected_mgmt_policy *'
  242 | static __always_inline void __swab32s(__u32 *p)
      |                                       ~~~~~~~^
In file included from include/linux/byteorder/big_endian.h:5,
                 from arch/powerpc/include/uapi/asm/byteorder.h:14,
                 from include/asm-generic/bitops/le.h:6,
                 from arch/powerpc/include/asm/bitops.h:243,
                 from include/linux/bitops.h:26,
                 from include/linux/kernel.h:12,
                 from include/asm-generic/bug.h:19,
                 from arch/powerpc/include/asm/bug.h:120,
                 from include/linux/bug.h:5,
                 from include/net/mac80211.h:16,
                 from drivers/staging/wfx/data_tx.c:8:
drivers/staging/wfx/data_tx.c: In function 'wfx_tx_inner':
include/uapi/linux/byteorder/big_endian.h:35:26: warning: conversion from 'short unsigned int' to 'uint8_t' {aka 'unsigned char'} changes value from '1024' to '0' [-Woverflow]
   35 | #define __cpu_to_le16(x) ((__force __le16)__swab16((x)))
      |                          ^
include/linux/byteorder/generic.h:90:21: note: in expansion of macro '__cpu_to_le16'
   90 | #define cpu_to_le16 __cpu_to_le16
      |                     ^~~~~~~~~~~~~
drivers/staging/wfx/data_tx.c:623:16: note: in expansion of macro 'cpu_to_le16'
  623 |  hif_msg->id = cpu_to_le16(HIF_REQ_ID_TX);
      |                ^~~~~~~~~~~
In file included from include/linux/byteorder/big_endian.h:5,
                 from arch/powerpc/include/uapi/asm/byteorder.h:14,
                 from include/asm-generic/bitops/le.h:6,
                 from arch/powerpc/include/asm/bitops.h:243,
                 from include/linux/bitops.h:26,
                 from include/linux/kernel.h:12,
                 from include/asm-generic/bug.h:19,
                 from arch/powerpc/include/asm/bug.h:120,
                 from include/linux/bug.h:5,
                 from include/net/mac80211.h:16,
                 from drivers/staging/wfx/sta.c:8:
drivers/staging/wfx/hif_tx_mib.h: In function 'hif_set_mfp':
drivers/staging/wfx/hif_tx_mib.h:139:15: error: passing argument 1 of '__swab32s' from incompatible pointer type [-Werror=incompatible-pointer-types]
  139 |  cpu_to_le32s(&val);
include/uapi/linux/byteorder/big_endian.h:94:38: note: in definition of macro '__cpu_to_le32s'
   94 | #define __cpu_to_le32s(x) __swab32s((x))
      |                                      ^
drivers/staging/wfx/hif_tx_mib.h:139:2: note: in expansion of macro 'cpu_to_le32s'
  139 |  cpu_to_le32s(&val);
      |  ^~~~~~~~~~~~
In file included from include/linux/swab.h:5,
                 from include/uapi/linux/byteorder/big_endian.h:13,
                 from include/linux/byteorder/big_endian.h:5,
                 from arch/powerpc/include/uapi/asm/byteorder.h:14,
                 from include/asm-generic/bitops/le.h:6,
                 from arch/powerpc/include/asm/bitops.h:243,
                 from include/linux/bitops.h:26,
                 from include/linux/kernel.h:12,
                 from include/asm-generic/bug.h:19,
                 from arch/powerpc/include/asm/bug.h:120,
                 from include/linux/bug.h:5,
                 from include/net/mac80211.h:16,
                 from drivers/staging/wfx/sta.c:8:
include/uapi/linux/swab.h:242:46: note: expected '__u32 *' {aka 'unsigned int *'} but argument is of type 'struct hif_mib_protected_mgmt_policy *'
  242 | static __always_inline void __swab32s(__u32 *p)
      |                                       ~~~~~~~^
In file included from include/linux/byteorder/big_endian.h:5,
                 from arch/powerpc/include/uapi/asm/byteorder.h:14,
                 from include/asm-generic/bitops/le.h:6,
                 from arch/powerpc/include/asm/bitops.h:243,
                 from include/linux/bitops.h:26,
                 from include/linux/kernel.h:12,
                 from include/linux/list.h:9,
                 from include/linux/wait.h:7,
                 from include/linux/wait_bit.h:8,
                 from include/linux/fs.h:6,
                 from include/linux/debugfs.h:15,
                 from drivers/staging/wfx/debug.c:8:
drivers/staging/wfx/hif_tx_mib.h: In function 'hif_set_mfp':
drivers/staging/wfx/hif_tx_mib.h:139:15: error: passing argument 1 of '__swab32s' from incompatible pointer type [-Werror=incompatible-pointer-types]
  139 |  cpu_to_le32s(&val);
include/uapi/linux/byteorder/big_endian.h:94:38: note: in definition of macro '__cpu_to_le32s'
   94 | #define __cpu_to_le32s(x) __swab32s((x))
      |                                      ^
drivers/staging/wfx/hif_tx_mib.h:139:2: note: in expansion of macro 'cpu_to_le32s'
  139 |  cpu_to_le32s(&val);
      |  ^~~~~~~~~~~~
In file included from include/linux/swab.h:5,
                 from include/uapi/linux/byteorder/big_endian.h:13,
                 from include/linux/byteorder/big_endian.h:5,
                 from arch/powerpc/include/uapi/asm/byteorder.h:14,
                 from include/asm-generic/bitops/le.h:6,
                 from arch/powerpc/include/asm/bitops.h:243,
                 from include/linux/bitops.h:26,
                 from include/linux/kernel.h:12,
                 from include/linux/list.h:9,
                 from include/linux/wait.h:7,
                 from include/linux/wait_bit.h:8,
                 from include/linux/fs.h:6,
                 from include/linux/debugfs.h:15,
                 from drivers/staging/wfx/debug.c:8:
include/uapi/linux/swab.h:242:46: note: expected '__u32 *' {aka 'unsigned int *'} but argument is of type 'struct hif_mib_protected_mgmt_policy *'
  242 | static __always_inline void __swab32s(__u32 *p)
      |                                       ~~~~~~~^

Caused by commits from the staging tree.

I have disabled CONFIG_WFX for today.

-- 
Cheers,
Stephen Rothwell