Hi Andy,
I love your patch! Yet something to improve:
[auto build test ERROR on usb/usb-testing]
[also build test ERROR on linus/master v5.9-rc1 next-20200817]
[cannot apply to peter.chen-usb/ci-for-usb-next]
[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/Andy-Shevchenko/usb-early-xhci-d...
base:
https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing
config: x86_64-randconfig-r014-20200817 (attached as .config)
compiler: clang version 12.0.0 (
https://github.com/llvm/llvm-project
de71b46a519db014ce906a39f8a0e1b235ef1568)
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from drivers/usb/early/xhci-dbc.c:13:
include/linux/byteorder/generic.h:146:9: error: implicit declaration of function
'__cpu_to_le16' [-Werror,-Wimplicit-function-declaration]
*var = cpu_to_le16(le16_to_cpu(*var) + val);
^
include/linux/byteorder/generic.h:90:21: note: expanded from macro
'cpu_to_le16'
#define cpu_to_le16 __cpu_to_le16
^
include/linux/byteorder/generic.h:146:21: error: implicit declaration of function
'__le16_to_cpu' [-Werror,-Wimplicit-function-declaration]
*var = cpu_to_le16(le16_to_cpu(*var) + val);
^
include/linux/byteorder/generic.h:91:21: note: expanded from macro
'le16_to_cpu'
#define le16_to_cpu __le16_to_cpu
^
include/linux/byteorder/generic.h:151:9: error: implicit declaration of function
'__cpu_to_le32' [-Werror,-Wimplicit-function-declaration]
*var = cpu_to_le32(le32_to_cpu(*var) + val);
^
include/linux/byteorder/generic.h:88:21: note: expanded from macro
'cpu_to_le32'
#define cpu_to_le32 __cpu_to_le32
^
include/linux/byteorder/generic.h:151:21: error: implicit declaration of function
'__le32_to_cpu' [-Werror,-Wimplicit-function-declaration]
*var = cpu_to_le32(le32_to_cpu(*var) + val);
^
include/linux/byteorder/generic.h:89:21: note: expanded from macro
'le32_to_cpu'
#define le32_to_cpu __le32_to_cpu
^
include/linux/byteorder/generic.h:156:9: error: implicit declaration of function
'__cpu_to_le64' [-Werror,-Wimplicit-function-declaration]
*var = cpu_to_le64(le64_to_cpu(*var) + val);
^
include/linux/byteorder/generic.h:86:21: note: expanded from macro
'cpu_to_le64'
#define cpu_to_le64 __cpu_to_le64
^
include/linux/byteorder/generic.h:156:21: error: implicit declaration of function
'__le64_to_cpu' [-Werror,-Wimplicit-function-declaration]
*var = cpu_to_le64(le64_to_cpu(*var) + val);
^
include/linux/byteorder/generic.h:87:21: note: expanded from macro
'le64_to_cpu'
#define le64_to_cpu __le64_to_cpu
^
include/linux/byteorder/generic.h:164:12: error: implicit declaration of function
'__cpu_to_le16' [-Werror,-Wimplicit-function-declaration]
dst[i] = cpu_to_le16(src[i]);
^
include/linux/byteorder/generic.h:90:21: note: expanded from macro
'cpu_to_le16'
#define cpu_to_le16 __cpu_to_le16
^
include/linux/byteorder/generic.h:172:12: error: implicit declaration of function
'__le16_to_cpu' [-Werror,-Wimplicit-function-declaration]
dst[i] = le16_to_cpu(src[i]);
^
include/linux/byteorder/generic.h:91:21: note: expanded from macro
'le16_to_cpu'
#define le16_to_cpu __le16_to_cpu
^
> include/linux/byteorder/generic.h:179:3: error: implicit
declaration of function '__le32_to_cpus' [-Werror,-Wimplicit-function-declaration]
__le32_to_cpus(buf);
^
> include/linux/byteorder/generic.h:187:3: error: implicit
declaration of function '__cpu_to_le32s' [-Werror,-Wimplicit-function-declaration]
__cpu_to_le32s(buf);
^
> include/linux/byteorder/generic.h:194:9: error: implicit
declaration of function '__cpu_to_be16' [-Werror,-Wimplicit-function-declaration]
*var = cpu_to_be16(be16_to_cpu(*var) + val);
^
include/linux/byteorder/generic.h:96:21: note: expanded from macro
'cpu_to_be16'
#define cpu_to_be16 __cpu_to_be16
^
> include/linux/byteorder/generic.h:194:21: error: implicit
declaration of function '__be16_to_cpu' [-Werror,-Wimplicit-function-declaration]
*var = cpu_to_be16(be16_to_cpu(*var) + val);
^
include/linux/byteorder/generic.h:97:21: note: expanded from macro
'be16_to_cpu'
#define be16_to_cpu __be16_to_cpu
^
> include/linux/byteorder/generic.h:199:9: error: implicit
declaration of function '__cpu_to_be32' [-Werror,-Wimplicit-function-declaration]
*var = cpu_to_be32(be32_to_cpu(*var) + val);
^
include/linux/byteorder/generic.h:94:21: note: expanded from macro
'cpu_to_be32'
#define cpu_to_be32 __cpu_to_be32
^
> include/linux/byteorder/generic.h:199:21: error: implicit
declaration of function '__be32_to_cpu' [-Werror,-Wimplicit-function-declaration]
*var = cpu_to_be32(be32_to_cpu(*var) + val);
^
include/linux/byteorder/generic.h:95:21: note: expanded from macro
'be32_to_cpu'
#define be32_to_cpu __be32_to_cpu
^
> include/linux/byteorder/generic.h:204:9: error: implicit
declaration of function '__cpu_to_be64' [-Werror,-Wimplicit-function-declaration]
*var = cpu_to_be64(be64_to_cpu(*var) + val);
^
include/linux/byteorder/generic.h:92:21: note: expanded from macro
'cpu_to_be64'
#define cpu_to_be64 __cpu_to_be64
^
> include/linux/byteorder/generic.h:204:21: error: implicit
declaration of function '__be64_to_cpu' [-Werror,-Wimplicit-function-declaration]
*var = cpu_to_be64(be64_to_cpu(*var) + val);
^
include/linux/byteorder/generic.h:93:21: note: expanded from macro
'be64_to_cpu'
#define be64_to_cpu __be64_to_cpu
^
include/linux/byteorder/generic.h:212:12: error: implicit declaration of function
'__cpu_to_be32' [-Werror,-Wimplicit-function-declaration]
dst[i] = cpu_to_be32(src[i]);
^
include/linux/byteorder/generic.h:94:21: note: expanded from macro
'cpu_to_be32'
#define cpu_to_be32 __cpu_to_be32
^
include/linux/byteorder/generic.h:220:12: error: implicit declaration of function
'__be32_to_cpu' [-Werror,-Wimplicit-function-declaration]
dst[i] = be32_to_cpu(src[i]);
^
include/linux/byteorder/generic.h:95:21: note: expanded from macro
'be32_to_cpu'
#define be32_to_cpu __be32_to_cpu
^
> drivers/usb/early/xhci-dbc.c:260:35: error: incompatible pointer
types passing 'char [5]' to parameter of type 'const u16 *' (aka
'const unsigned short *') [-Werror,-Wincompatible-pointer-types]
cpu_to_le16_array(s_desc->wData, XDBC_STRING_SERIAL, strlen(XDBC_STRING_SERIAL));
^~~~~~~~~~~~~~~~~~
drivers/usb/early/xhci-dbc.h:92:29: note: expanded from macro
'XDBC_STRING_SERIAL'
#define XDBC_STRING_SERIAL "0001"
^~~~~~
include/linux/byteorder/generic.h:159:62: note: passing argument to parameter
'src' here
static inline void cpu_to_le16_array(__le16 *dst, const u16 *src, size_t len)
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
#
https://github.com/0day-ci/linux/commit/cea598a970d1425a2efd9d4e15b984bd0...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Andy-Shevchenko/usb-early-xhci-dbc-use-readl_poll_timeout-to-simplify-code/20200818-004710
git checkout cea598a970d1425a2efd9d4e15b984bd015561c9
vim +/__le32_to_cpus +179 include/linux/byteorder/generic.h
379f669600c31f Andy Shevchenko 2020-08-17 174
9def051018c08e Andy Shevchenko 2018-03-21 175 /* XXX: this stuff can be optimized */
9def051018c08e Andy Shevchenko 2018-03-21 176 static inline void le32_to_cpu_array(u32
*buf, unsigned int words)
9def051018c08e Andy Shevchenko 2018-03-21 177 {
9def051018c08e Andy Shevchenko 2018-03-21 178 while (words--) {
9def051018c08e Andy Shevchenko 2018-03-21 @179 __le32_to_cpus(buf);
9def051018c08e Andy Shevchenko 2018-03-21 180 buf++;
9def051018c08e Andy Shevchenko 2018-03-21 181 }
9def051018c08e Andy Shevchenko 2018-03-21 182 }
9def051018c08e Andy Shevchenko 2018-03-21 183
9def051018c08e Andy Shevchenko 2018-03-21 184 static inline void cpu_to_le32_array(u32
*buf, unsigned int words)
9def051018c08e Andy Shevchenko 2018-03-21 185 {
9def051018c08e Andy Shevchenko 2018-03-21 186 while (words--) {
9def051018c08e Andy Shevchenko 2018-03-21 @187 __cpu_to_le32s(buf);
9def051018c08e Andy Shevchenko 2018-03-21 188 buf++;
9def051018c08e Andy Shevchenko 2018-03-21 189 }
9def051018c08e Andy Shevchenko 2018-03-21 190 }
9def051018c08e Andy Shevchenko 2018-03-21 191
8b5f6883683c91 Marcin Slusarz 2008-02-08 192 static inline void be16_add_cpu(__be16
*var, u16 val)
8b5f6883683c91 Marcin Slusarz 2008-02-08 193 {
8b5f6883683c91 Marcin Slusarz 2008-02-08 @194 *var = cpu_to_be16(be16_to_cpu(*var) +
val);
8b5f6883683c91 Marcin Slusarz 2008-02-08 195 }
8b5f6883683c91 Marcin Slusarz 2008-02-08 196
8b5f6883683c91 Marcin Slusarz 2008-02-08 197 static inline void be32_add_cpu(__be32
*var, u32 val)
8b5f6883683c91 Marcin Slusarz 2008-02-08 198 {
8b5f6883683c91 Marcin Slusarz 2008-02-08 @199 *var = cpu_to_be32(be32_to_cpu(*var) +
val);
8b5f6883683c91 Marcin Slusarz 2008-02-08 200 }
8b5f6883683c91 Marcin Slusarz 2008-02-08 201
8b5f6883683c91 Marcin Slusarz 2008-02-08 202 static inline void be64_add_cpu(__be64
*var, u64 val)
8b5f6883683c91 Marcin Slusarz 2008-02-08 203 {
8b5f6883683c91 Marcin Slusarz 2008-02-08 @204 *var = cpu_to_be64(be64_to_cpu(*var) +
val);
8b5f6883683c91 Marcin Slusarz 2008-02-08 205 }
8b5f6883683c91 Marcin Slusarz 2008-02-08 206
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org