Re: [PATCH v6 5/5] Bluetooth: Add toggle to switch off interleave scan
by kernel test robot
Hi Howard,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on bluetooth-next/master]
[also build test WARNING on net-next/master net/master v5.10-rc1 next-20201030]
[cannot apply to bluetooth/master sparc-next/master]
[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/Howard-Chung/Bluetooth-Interleav...
base: https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git master
config: arm64-randconfig-r016-20201030 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project fa5a13276764a2657b3571fa3c57b07ee5d2d661)
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 arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://github.com/0day-ci/linux/commit/20ec572cf329be621588cca7150ec51d7...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Howard-Chung/Bluetooth-Interleave-with-allowlist-scan/20201030-171045
git checkout 20ec572cf329be621588cca7150ec51d702fdfac
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> net/bluetooth/mgmt_config.c:202:14: warning: format specifies type 'size_t' (aka 'unsigned long') but the argument has type 'u8' (aka 'unsigned char') [-Wformat]
len, exp_type_len, type);
^~~~~~~~~~~~
include/net/bluetooth/bluetooth.h:186:38: note: expanded from macro 'bt_dev_warn'
BT_WARN("%s: " fmt, (hdev)->name, ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
include/net/bluetooth/bluetooth.h:174:47: note: expanded from macro 'BT_WARN'
#define BT_WARN(fmt, ...) bt_warn(fmt "\n", ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
1 warning generated.
vim +202 net/bluetooth/mgmt_config.c
127
128 int set_def_system_config(struct sock *sk, struct hci_dev *hdev, void *data,
129 u16 data_len)
130 {
131 u16 buffer_left = data_len;
132 u8 *buffer = data;
133
134 if (buffer_left < sizeof(struct mgmt_tlv)) {
135 return mgmt_cmd_status(sk, hdev->id,
136 MGMT_OP_SET_DEF_SYSTEM_CONFIG,
137 MGMT_STATUS_INVALID_PARAMS);
138 }
139
140 /* First pass to validate the tlv */
141 while (buffer_left >= sizeof(struct mgmt_tlv)) {
142 const u8 len = TO_TLV(buffer)->length;
143 u8 exp_type_len;
144 const u16 exp_len = sizeof(struct mgmt_tlv) +
145 len;
146 const u16 type = le16_to_cpu(TO_TLV(buffer)->type);
147
148 if (buffer_left < exp_len) {
149 bt_dev_warn(hdev, "invalid len left %d, exp >= %d",
150 buffer_left, exp_len);
151
152 return mgmt_cmd_status(sk, hdev->id,
153 MGMT_OP_SET_DEF_SYSTEM_CONFIG,
154 MGMT_STATUS_INVALID_PARAMS);
155 }
156
157 /* Please see mgmt-api.txt for documentation of these values */
158 switch (type) {
159 case 0x0000:
160 case 0x0001:
161 case 0x0002:
162 case 0x0003:
163 case 0x0004:
164 case 0x0005:
165 case 0x0006:
166 case 0x0007:
167 case 0x0008:
168 case 0x0009:
169 case 0x000a:
170 case 0x000b:
171 case 0x000c:
172 case 0x000d:
173 case 0x000e:
174 case 0x000f:
175 case 0x0010:
176 case 0x0011:
177 case 0x0012:
178 case 0x0013:
179 case 0x0014:
180 case 0x0015:
181 case 0x0016:
182 case 0x0017:
183 case 0x0018:
184 case 0x0019:
185 case 0x001a:
186 case 0x001b:
187 case 0x001d:
188 case 0x001e:
189 exp_type_len = sizeof(u16);
190 break;
191 case 0x001f:
192 exp_type_len = sizeof(u8);
193 break;
194 default:
195 exp_type_len = 0;
196 bt_dev_warn(hdev, "unsupported parameter %u", type);
197 break;
198 }
199
200 if (exp_type_len && len != exp_type_len) {
201 bt_dev_warn(hdev, "invalid length %d, exp %zu for type %d",
> 202 len, exp_type_len, type);
203
204 return mgmt_cmd_status(sk, hdev->id,
205 MGMT_OP_SET_DEF_SYSTEM_CONFIG,
206 MGMT_STATUS_INVALID_PARAMS);
207 }
208
209 buffer_left -= exp_len;
210 buffer += exp_len;
211 }
212
213 buffer_left = data_len;
214 buffer = data;
215 while (buffer_left >= sizeof(struct mgmt_tlv)) {
216 const u8 len = TO_TLV(buffer)->length;
217 const u16 exp_len = sizeof(struct mgmt_tlv) +
218 len;
219 const u16 type = le16_to_cpu(TO_TLV(buffer)->type);
220
221 switch (type) {
222 case 0x0000:
223 hdev->def_page_scan_type = TLV_GET_LE16(buffer);
224 break;
225 case 0x0001:
226 hdev->def_page_scan_int = TLV_GET_LE16(buffer);
227 break;
228 case 0x0002:
229 hdev->def_page_scan_window = TLV_GET_LE16(buffer);
230 break;
231 case 0x0003:
232 hdev->def_inq_scan_type = TLV_GET_LE16(buffer);
233 break;
234 case 0x0004:
235 hdev->def_inq_scan_int = TLV_GET_LE16(buffer);
236 break;
237 case 0x0005:
238 hdev->def_inq_scan_window = TLV_GET_LE16(buffer);
239 break;
240 case 0x0006:
241 hdev->def_br_lsto = TLV_GET_LE16(buffer);
242 break;
243 case 0x0007:
244 hdev->def_page_timeout = TLV_GET_LE16(buffer);
245 break;
246 case 0x0008:
247 hdev->sniff_min_interval = TLV_GET_LE16(buffer);
248 break;
249 case 0x0009:
250 hdev->sniff_max_interval = TLV_GET_LE16(buffer);
251 break;
252 case 0x000a:
253 hdev->le_adv_min_interval = TLV_GET_LE16(buffer);
254 break;
255 case 0x000b:
256 hdev->le_adv_max_interval = TLV_GET_LE16(buffer);
257 break;
258 case 0x000c:
259 hdev->def_multi_adv_rotation_duration =
260 TLV_GET_LE16(buffer);
261 break;
262 case 0x000d:
263 hdev->le_scan_interval = TLV_GET_LE16(buffer);
264 break;
265 case 0x000e:
266 hdev->le_scan_window = TLV_GET_LE16(buffer);
267 break;
268 case 0x000f:
269 hdev->le_scan_int_suspend = TLV_GET_LE16(buffer);
270 break;
271 case 0x0010:
272 hdev->le_scan_window_suspend = TLV_GET_LE16(buffer);
273 break;
274 case 0x0011:
275 hdev->le_scan_int_discovery = TLV_GET_LE16(buffer);
276 break;
277 case 0x00012:
278 hdev->le_scan_window_discovery = TLV_GET_LE16(buffer);
279 break;
280 case 0x00013:
281 hdev->le_scan_int_adv_monitor = TLV_GET_LE16(buffer);
282 break;
283 case 0x00014:
284 hdev->le_scan_window_adv_monitor = TLV_GET_LE16(buffer);
285 break;
286 case 0x00015:
287 hdev->le_scan_int_connect = TLV_GET_LE16(buffer);
288 break;
289 case 0x00016:
290 hdev->le_scan_window_connect = TLV_GET_LE16(buffer);
291 break;
292 case 0x00017:
293 hdev->le_conn_min_interval = TLV_GET_LE16(buffer);
294 break;
295 case 0x00018:
296 hdev->le_conn_max_interval = TLV_GET_LE16(buffer);
297 break;
298 case 0x00019:
299 hdev->le_conn_latency = TLV_GET_LE16(buffer);
300 break;
301 case 0x0001a:
302 hdev->le_supv_timeout = TLV_GET_LE16(buffer);
303 break;
304 case 0x0001b:
305 hdev->def_le_autoconnect_timeout =
306 msecs_to_jiffies(TLV_GET_LE16(buffer));
307 break;
308 case 0x0001d:
309 hdev->advmon_allowlist_duration = TLV_GET_LE16(buffer);
310 break;
311 case 0x0001e:
312 hdev->advmon_no_filter_duration = TLV_GET_LE16(buffer);
313 break;
314 case 0x0001f:
315 hdev->enable_advmon_interleave_scan = TLV_GET_LE8(buffer);
316 break;
317 default:
318 bt_dev_warn(hdev, "unsupported parameter %u", type);
319 break;
320 }
321
322 buffer_left -= exp_len;
323 buffer += exp_len;
324 }
325
326 return mgmt_cmd_complete(sk, hdev->id,
327 MGMT_OP_SET_DEF_SYSTEM_CONFIG, 0, NULL, 0);
328 }
329
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
[xlnx:xlnx_rebase_v5.4 864/1683] fpga-mgr.c:undefined reference to `dma_buf_get'
by kernel test robot
tree: https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.4
head: 87d2d58e2137748748d96a630fd93eb0e2d81123
commit: 1a0c556193a3d81ff6bde4c571c38b2c19bbb443 [864/1683] fpga: support loading from a pre-allocated buffer
config: arm-socfpga_defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
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
# https://github.com/Xilinx/linux-xlnx/commit/1a0c556193a3d81ff6bde4c571c38...
git remote add xlnx https://github.com/Xilinx/linux-xlnx
git fetch --no-tags xlnx xlnx_rebase_v5.4
git checkout 1a0c556193a3d81ff6bde4c571c38b2c19bbb443
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm
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 >>):
arm-linux-gnueabi-ld: drivers/mtd/spi-nor/cadence-quadspi.o: in function `cqspi_setup_flash.constprop.0':
cadence-quadspi.c:(.text+0x15c0): undefined reference to `__aeabi_ldivmod'
arm-linux-gnueabi-ld: drivers/fpga/fpga-mgr.o: in function `fpga_device_ioctl':
>> fpga-mgr.c:(.text+0xd54): undefined reference to `dma_buf_get'
arm-linux-gnueabi-ld: drivers/fpga/fpga-mgr.o: in function `fpga_mgr_load':
>> fpga-mgr.c:(.text+0x123c): undefined reference to `dma_buf_attach'
>> arm-linux-gnueabi-ld: fpga-mgr.c:(.text+0x1250): undefined reference to `dma_buf_map_attachment'
>> arm-linux-gnueabi-ld: fpga-mgr.c:(.text+0x1288): undefined reference to `dma_buf_unmap_attachment'
>> arm-linux-gnueabi-ld: fpga-mgr.c:(.text+0x1294): undefined reference to `dma_buf_detach'
>> arm-linux-gnueabi-ld: fpga-mgr.c:(.text+0x129c): undefined reference to `dma_buf_put'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
[asm-generic:asm-generic-timers 1/15] arch/arm/Kconfig:271: syntax error
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git asm-generic-timers
head: 9e49c5debd62585e5b2097a625d18425d6ce513b
commit: 3621395d9bdc98541ffb77efdf99330a998988cd [1/15] ARM: remove ebsa110 platform
config: arm-randconfig-r036-20201030
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project fa5a13276764a2657b3571fa3c57b07ee5d2d661)
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 arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git/comm...
git remote add asm-generic https://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git
git fetch --no-tags asm-generic asm-generic-timers
git checkout 3621395d9bdc98541ffb77efdf99330a998988cd
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm randconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm
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 >>):
>> arch/arm/Kconfig:271: syntax error
arch/arm/Kconfig:270: invalid statement
arch/arm/Kconfig:271: invalid statement
arch/arm/Kconfig:272: invalid statement
arch/arm/Kconfig:273: invalid statement
arch/arm/Kconfig:274: invalid statement
arch/arm/Kconfig:275: unknown statement "Please"
arch/arm/Kconfig:276:warning: ignoring unsupported character '.'
arch/arm/Kconfig:276: unknown statement "location"
make[2]: *** [scripts/kconfig/Makefile:71: oldconfig] Error 1
make[1]: *** [Makefile:604: oldconfig] Error 2
make: *** [Makefile:185: __sub-make] Error 2
make: Target 'oldconfig' not remade because of errors.
--
>> arch/arm/Kconfig:271: syntax error
arch/arm/Kconfig:270: invalid statement
arch/arm/Kconfig:271: invalid statement
arch/arm/Kconfig:272: invalid statement
arch/arm/Kconfig:273: invalid statement
arch/arm/Kconfig:274: invalid statement
arch/arm/Kconfig:275: unknown statement "Please"
arch/arm/Kconfig:276:warning: ignoring unsupported character '.'
arch/arm/Kconfig:276: unknown statement "location"
make[2]: *** [scripts/kconfig/Makefile:71: olddefconfig] Error 1
make[1]: *** [Makefile:604: olddefconfig] Error 2
make: *** [Makefile:185: __sub-make] Error 2
make: Target 'olddefconfig' not remade because of errors.
vim +271 arch/arm/Kconfig
60460abffc71523 Seung-Woo Kim 2013-02-06 163
75e7153abd220f1 Ralf Baechle 2007-02-09 164 config SYS_SUPPORTS_APM_EMULATION
75e7153abd220f1 Ralf Baechle 2007-02-09 165 bool
75e7153abd220f1 Ralf Baechle 2007-02-09 166
bc581770cfdd8c1 Linus Walleij 2009-09-15 167 config HAVE_TCM
bc581770cfdd8c1 Linus Walleij 2009-09-15 168 bool
bc581770cfdd8c1 Linus Walleij 2009-09-15 169 select GENERIC_ALLOCATOR
bc581770cfdd8c1 Linus Walleij 2009-09-15 170
e119bfff1f102f8 Russell King 2010-01-10 171 config HAVE_PROC_CPU
e119bfff1f102f8 Russell King 2010-01-10 172 bool
e119bfff1f102f8 Russell King 2010-01-10 173
ce816fa88cca083 Uwe Kleine-König 2014-04-07 174 config NO_IOPORT_MAP
5ea817699400348 Al Viro 2007-02-11 175 bool
5ea817699400348 Al Viro 2007-02-11 176
^1da177e4c3f415 Linus Torvalds 2005-04-16 177 config SBUS
^1da177e4c3f415 Linus Torvalds 2005-04-16 178 bool
^1da177e4c3f415 Linus Torvalds 2005-04-16 179
f16fb1ecc5a1cb2 Russell King 2007-04-28 180 config STACKTRACE_SUPPORT
f16fb1ecc5a1cb2 Russell King 2007-04-28 181 bool
f16fb1ecc5a1cb2 Russell King 2007-04-28 182 default y
f16fb1ecc5a1cb2 Russell King 2007-04-28 183
f16fb1ecc5a1cb2 Russell King 2007-04-28 184 config LOCKDEP_SUPPORT
f16fb1ecc5a1cb2 Russell King 2007-04-28 185 bool
f16fb1ecc5a1cb2 Russell King 2007-04-28 186 default y
f16fb1ecc5a1cb2 Russell King 2007-04-28 187
7ad1bcb25c5623f Russell King 2006-08-27 188 config TRACE_IRQFLAGS_SUPPORT
7ad1bcb25c5623f Russell King 2006-08-27 189 bool
cb1293e2f594558 Arnd Bergmann 2015-05-26 190 default !CPU_V7M
7ad1bcb25c5623f Russell King 2006-08-27 191
f0d1b0b30d250a0 David Howells 2006-12-08 192 config ARCH_HAS_ILOG2_U32
f0d1b0b30d250a0 David Howells 2006-12-08 193 bool
f0d1b0b30d250a0 David Howells 2006-12-08 194
f0d1b0b30d250a0 David Howells 2006-12-08 195 config ARCH_HAS_ILOG2_U64
f0d1b0b30d250a0 David Howells 2006-12-08 196 bool
f0d1b0b30d250a0 David Howells 2006-12-08 197
4a1b573346ee0d6 Eduardo Valentin 2013-06-13 198 config ARCH_HAS_BANDGAP
4a1b573346ee0d6 Eduardo Valentin 2013-06-13 199 bool
4a1b573346ee0d6 Eduardo Valentin 2013-06-13 200
a5f4c561b3b19a9 Stefan Agner 2015-08-13 201 config FIX_EARLYCON_MEM
a5f4c561b3b19a9 Stefan Agner 2015-08-13 202 def_bool y if MMU
a5f4c561b3b19a9 Stefan Agner 2015-08-13 203
b89c3b165fbec60 Akinobu Mita 2006-03-26 204 config GENERIC_HWEIGHT
b89c3b165fbec60 Akinobu Mita 2006-03-26 205 bool
b89c3b165fbec60 Akinobu Mita 2006-03-26 206 default y
b89c3b165fbec60 Akinobu Mita 2006-03-26 207
^1da177e4c3f415 Linus Torvalds 2005-04-16 208 config GENERIC_CALIBRATE_DELAY
^1da177e4c3f415 Linus Torvalds 2005-04-16 209 bool
^1da177e4c3f415 Linus Torvalds 2005-04-16 210 default y
^1da177e4c3f415 Linus Torvalds 2005-04-16 211
a08b6b7968e7a6a Al Viro 2005-09-06 212 config ARCH_MAY_HAVE_PC_FDC
a08b6b7968e7a6a Al Viro 2005-09-06 213 bool
a08b6b7968e7a6a Al Viro 2005-09-06 214
5ac6da669e2476d Christoph Lameter 2007-02-10 215 config ZONE_DMA
5ac6da669e2476d Christoph Lameter 2007-02-10 216 bool
5ac6da669e2476d Christoph Lameter 2007-02-10 217
c7edc9e326d53ca David A. Long 2014-03-07 218 config ARCH_SUPPORTS_UPROBES
c7edc9e326d53ca David A. Long 2014-03-07 219 def_bool y
c7edc9e326d53ca David A. Long 2014-03-07 220
58af4a244fa9f7e Rob Herring 2012-03-20 221 config ARCH_HAS_DMA_SET_COHERENT_MASK
58af4a244fa9f7e Rob Herring 2012-03-20 222 bool
58af4a244fa9f7e Rob Herring 2012-03-20 223
^1da177e4c3f415 Linus Torvalds 2005-04-16 224 config GENERIC_ISA_DMA
^1da177e4c3f415 Linus Torvalds 2005-04-16 225 bool
^1da177e4c3f415 Linus Torvalds 2005-04-16 226
^1da177e4c3f415 Linus Torvalds 2005-04-16 227 config FIQ
^1da177e4c3f415 Linus Torvalds 2005-04-16 228 bool
^1da177e4c3f415 Linus Torvalds 2005-04-16 229
13a5045d4ee5a24 Rob Herring 2012-02-07 230 config NEED_RET_TO_USER
13a5045d4ee5a24 Rob Herring 2012-02-07 231 bool
13a5045d4ee5a24 Rob Herring 2012-02-07 232
034d2f5af1b9766 Al Viro 2005-12-19 233 config ARCH_MTD_XIP
034d2f5af1b9766 Al Viro 2005-12-19 234 bool
034d2f5af1b9766 Al Viro 2005-12-19 235
dc21af99fadcfa0 Russell King 2011-01-04 236 config ARM_PATCH_PHYS_VIRT
c1becedc8871645 Russell King 2011-08-10 237 bool "Patch physical to virtual translations at runtime" if EMBEDDED
c1becedc8871645 Russell King 2011-08-10 238 default y
b511d75d6150892 Nicolas Pitre 2011-02-21 239 depends on !XIP_KERNEL && MMU
dc21af99fadcfa0 Russell King 2011-01-04 240 help
111e9a5ce66e64c Russell King 2011-05-12 241 Patch phys-to-virt and virt-to-phys translation functions at
111e9a5ce66e64c Russell King 2011-05-12 242 boot and module load time according to the position of the
111e9a5ce66e64c Russell King 2011-05-12 243 kernel in system memory.
dc21af99fadcfa0 Russell King 2011-01-04 244
111e9a5ce66e64c Russell King 2011-05-12 245 This can only be used with non-XIP MMU kernels where the base
daece59689e76ed Nicolas Pitre 2011-08-12 246 of physical memory is at a 16MB boundary.
dc21af99fadcfa0 Russell King 2011-01-04 247
c1becedc8871645 Russell King 2011-08-10 248 Only disable this option if you know that you do not require
c1becedc8871645 Russell King 2011-08-10 249 this feature (eg, building a kernel for a single machine) and
c1becedc8871645 Russell King 2011-08-10 250 you need to shrink the kernel to the minimal size.
dc21af99fadcfa0 Russell King 2011-01-04 251
c334bc150524f83 Rob Herring 2012-03-04 252 config NEED_MACH_IO_H
c334bc150524f83 Rob Herring 2012-03-04 253 bool
c334bc150524f83 Rob Herring 2012-03-04 254 help
c334bc150524f83 Rob Herring 2012-03-04 255 Select this when mach/io.h is required to provide special
c334bc150524f83 Rob Herring 2012-03-04 256 definitions for this platform. The need for mach/io.h should
c334bc150524f83 Rob Herring 2012-03-04 257 be avoided when possible.
c334bc150524f83 Rob Herring 2012-03-04 258
0cdc8b921d68817 Nicolas Pitre 2011-09-02 259 config NEED_MACH_MEMORY_H
1b9f95f8ade9efc Nicolas Pitre 2011-07-05 260 bool
1b9f95f8ade9efc Nicolas Pitre 2011-07-05 261 help
0cdc8b921d68817 Nicolas Pitre 2011-09-02 262 Select this when mach/memory.h is required to provide special
0cdc8b921d68817 Nicolas Pitre 2011-09-02 263 definitions for this platform. The need for mach/memory.h should
0cdc8b921d68817 Nicolas Pitre 2011-09-02 264 be avoided when possible.
1b9f95f8ade9efc Nicolas Pitre 2011-07-05 265
1b9f95f8ade9efc Nicolas Pitre 2011-07-05 266 config PHYS_OFFSET
974c07249b06d94 Nicolas Pitre 2011-12-02 267 hex "Physical address of main memory" if MMU
c6f54a9b3962609 Uwe Kleine-König 2014-07-23 268 depends on !ARM_PATCH_PHYS_VIRT
974c07249b06d94 Nicolas Pitre 2011-12-02 269 default DRAM_BASE if !MMU
3621395d9bdc985 Arnd Bergmann 2020-09-24 270 default 0x00000000 ARCH_FOOTBRIDGE
c6f54a9b3962609 Uwe Kleine-König 2014-07-23 @271 default 0x10000000 if ARCH_OMAP1 || ARCH_RPC
c6f54a9b3962609 Uwe Kleine-König 2014-07-23 272 default 0x20000000 if ARCH_S5PV210
b8824c9a54bb380 H Hartley Sweeten 2015-06-15 273 default 0xc0000000 if ARCH_SA1100
111e9a5ce66e64c Russell King 2011-05-12 274 help
1b9f95f8ade9efc Nicolas Pitre 2011-07-05 275 Please provide the physical address corresponding to the
1b9f95f8ade9efc Nicolas Pitre 2011-07-05 276 location of main memory in your system.
cada3c0841e1dea Russell King 2011-01-04 277
:::::: The code at line 271 was first introduced by commit
:::::: c6f54a9b39626090c934646f7d732e31b70ffce7 ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h>
:::::: TO: Uwe Kleine-König <u.kleine-koenig(a)pengutronix.de>
:::::: CC: Russell King <rmk+kernel(a)arm.linux.org.uk>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
Re: [PATCH 1/2] mailbox: stm32-ipcc: add COMPILE_TEST dependency
by kernel test robot
Hi Martin,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on fujitsu-integration/mailbox-for-next]
[also build test WARNING on stm32/stm32-next linus/master linux/master v5.10-rc1 next-20201030]
[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/Martin-Kaiser/mailbox-stm32-ipcc...
base: https://git.linaro.org/landing-teams/working/fujitsu/integration.git mailbox-for-next
config: x86_64-randconfig-r023-20201030 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 772aaa602383cf82795572ebcd86b0e660f3579f)
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
# https://github.com/0day-ci/linux/commit/6e22aaac25dcdd4c098c57d29363fa2c2...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Martin-Kaiser/mailbox-stm32-ipcc-add-COMPILE_TEST-dependency/20201024-220512
git checkout 6e22aaac25dcdd4c098c57d29363fa2c204e411e
# 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 warnings (new ones prefixed by >>):
>> drivers/mailbox/stm32-ipcc.c:147:22: warning: cast to smaller integer type 'unsigned int' from 'void *' [-Wvoid-pointer-to-int-cast]
unsigned int chan = (unsigned int)link->con_priv;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mailbox/stm32-ipcc.c:166:22: warning: cast to smaller integer type 'unsigned int' from 'void *' [-Wvoid-pointer-to-int-cast]
unsigned int chan = (unsigned int)link->con_priv;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mailbox/stm32-ipcc.c:186:22: warning: cast to smaller integer type 'unsigned int' from 'void *' [-Wvoid-pointer-to-int-cast]
unsigned int chan = (unsigned int)link->con_priv;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/mailbox/stm32-ipcc.c:310:40: warning: cast to 'void *' from smaller integer type 'unsigned int' [-Wint-to-void-pointer-cast]
ipcc->controller.chans[i].con_priv = (void *)i;
^~~~~~~~~
4 warnings generated.
vim +147 drivers/mailbox/stm32-ipcc.c
ffbded7dee97563 Fabien Dessenne 2018-05-31 144
ffbded7dee97563 Fabien Dessenne 2018-05-31 145 static int stm32_ipcc_send_data(struct mbox_chan *link, void *data)
ffbded7dee97563 Fabien Dessenne 2018-05-31 146 {
ffbded7dee97563 Fabien Dessenne 2018-05-31 @147 unsigned int chan = (unsigned int)link->con_priv;
ffbded7dee97563 Fabien Dessenne 2018-05-31 148 struct stm32_ipcc *ipcc = container_of(link->mbox, struct stm32_ipcc,
ffbded7dee97563 Fabien Dessenne 2018-05-31 149 controller);
ffbded7dee97563 Fabien Dessenne 2018-05-31 150
ffbded7dee97563 Fabien Dessenne 2018-05-31 151 dev_dbg(ipcc->controller.dev, "%s: chan:%d\n", __func__, chan);
ffbded7dee97563 Fabien Dessenne 2018-05-31 152
ffbded7dee97563 Fabien Dessenne 2018-05-31 153 /* set channel n occupied */
dba9a3dfe912dc4 Arnaud Pouliquen 2019-05-22 154 stm32_ipcc_set_bits(&ipcc->lock, ipcc->reg_proc + IPCC_XSCR,
dba9a3dfe912dc4 Arnaud Pouliquen 2019-05-22 155 TX_BIT_CHAN(chan));
ffbded7dee97563 Fabien Dessenne 2018-05-31 156
ffbded7dee97563 Fabien Dessenne 2018-05-31 157 /* unmask 'tx channel free' interrupt */
dba9a3dfe912dc4 Arnaud Pouliquen 2019-05-22 158 stm32_ipcc_clr_bits(&ipcc->lock, ipcc->reg_proc + IPCC_XMR,
dba9a3dfe912dc4 Arnaud Pouliquen 2019-05-22 159 TX_BIT_CHAN(chan));
ffbded7dee97563 Fabien Dessenne 2018-05-31 160
ffbded7dee97563 Fabien Dessenne 2018-05-31 161 return 0;
ffbded7dee97563 Fabien Dessenne 2018-05-31 162 }
ffbded7dee97563 Fabien Dessenne 2018-05-31 163
ffbded7dee97563 Fabien Dessenne 2018-05-31 164 static int stm32_ipcc_startup(struct mbox_chan *link)
ffbded7dee97563 Fabien Dessenne 2018-05-31 165 {
ffbded7dee97563 Fabien Dessenne 2018-05-31 166 unsigned int chan = (unsigned int)link->con_priv;
ffbded7dee97563 Fabien Dessenne 2018-05-31 167 struct stm32_ipcc *ipcc = container_of(link->mbox, struct stm32_ipcc,
ffbded7dee97563 Fabien Dessenne 2018-05-31 168 controller);
ffbded7dee97563 Fabien Dessenne 2018-05-31 169 int ret;
ffbded7dee97563 Fabien Dessenne 2018-05-31 170
ffbded7dee97563 Fabien Dessenne 2018-05-31 171 ret = clk_prepare_enable(ipcc->clk);
ffbded7dee97563 Fabien Dessenne 2018-05-31 172 if (ret) {
ffbded7dee97563 Fabien Dessenne 2018-05-31 173 dev_err(ipcc->controller.dev, "can not enable the clock\n");
ffbded7dee97563 Fabien Dessenne 2018-05-31 174 return ret;
ffbded7dee97563 Fabien Dessenne 2018-05-31 175 }
ffbded7dee97563 Fabien Dessenne 2018-05-31 176
ffbded7dee97563 Fabien Dessenne 2018-05-31 177 /* unmask 'rx channel occupied' interrupt */
dba9a3dfe912dc4 Arnaud Pouliquen 2019-05-22 178 stm32_ipcc_clr_bits(&ipcc->lock, ipcc->reg_proc + IPCC_XMR,
dba9a3dfe912dc4 Arnaud Pouliquen 2019-05-22 179 RX_BIT_CHAN(chan));
ffbded7dee97563 Fabien Dessenne 2018-05-31 180
ffbded7dee97563 Fabien Dessenne 2018-05-31 181 return 0;
ffbded7dee97563 Fabien Dessenne 2018-05-31 182 }
ffbded7dee97563 Fabien Dessenne 2018-05-31 183
ffbded7dee97563 Fabien Dessenne 2018-05-31 184 static void stm32_ipcc_shutdown(struct mbox_chan *link)
ffbded7dee97563 Fabien Dessenne 2018-05-31 185 {
ffbded7dee97563 Fabien Dessenne 2018-05-31 186 unsigned int chan = (unsigned int)link->con_priv;
ffbded7dee97563 Fabien Dessenne 2018-05-31 187 struct stm32_ipcc *ipcc = container_of(link->mbox, struct stm32_ipcc,
ffbded7dee97563 Fabien Dessenne 2018-05-31 188 controller);
ffbded7dee97563 Fabien Dessenne 2018-05-31 189
ffbded7dee97563 Fabien Dessenne 2018-05-31 190 /* mask rx/tx interrupt */
dba9a3dfe912dc4 Arnaud Pouliquen 2019-05-22 191 stm32_ipcc_set_bits(&ipcc->lock, ipcc->reg_proc + IPCC_XMR,
ffbded7dee97563 Fabien Dessenne 2018-05-31 192 RX_BIT_CHAN(chan) | TX_BIT_CHAN(chan));
ffbded7dee97563 Fabien Dessenne 2018-05-31 193
ffbded7dee97563 Fabien Dessenne 2018-05-31 194 clk_disable_unprepare(ipcc->clk);
ffbded7dee97563 Fabien Dessenne 2018-05-31 195 }
ffbded7dee97563 Fabien Dessenne 2018-05-31 196
ffbded7dee97563 Fabien Dessenne 2018-05-31 197 static const struct mbox_chan_ops stm32_ipcc_ops = {
ffbded7dee97563 Fabien Dessenne 2018-05-31 198 .send_data = stm32_ipcc_send_data,
ffbded7dee97563 Fabien Dessenne 2018-05-31 199 .startup = stm32_ipcc_startup,
ffbded7dee97563 Fabien Dessenne 2018-05-31 200 .shutdown = stm32_ipcc_shutdown,
ffbded7dee97563 Fabien Dessenne 2018-05-31 201 };
ffbded7dee97563 Fabien Dessenne 2018-05-31 202
ffbded7dee97563 Fabien Dessenne 2018-05-31 203 static int stm32_ipcc_probe(struct platform_device *pdev)
ffbded7dee97563 Fabien Dessenne 2018-05-31 204 {
ffbded7dee97563 Fabien Dessenne 2018-05-31 205 struct device *dev = &pdev->dev;
ffbded7dee97563 Fabien Dessenne 2018-05-31 206 struct device_node *np = dev->of_node;
ffbded7dee97563 Fabien Dessenne 2018-05-31 207 struct stm32_ipcc *ipcc;
ffbded7dee97563 Fabien Dessenne 2018-05-31 208 struct resource *res;
ffbded7dee97563 Fabien Dessenne 2018-05-31 209 unsigned int i;
ffbded7dee97563 Fabien Dessenne 2018-05-31 210 int ret;
ffbded7dee97563 Fabien Dessenne 2018-05-31 211 u32 ip_ver;
ffbded7dee97563 Fabien Dessenne 2018-05-31 212 static const char * const irq_name[] = {"rx", "tx"};
ffbded7dee97563 Fabien Dessenne 2018-05-31 213 irq_handler_t irq_thread[] = {stm32_ipcc_rx_irq, stm32_ipcc_tx_irq};
ffbded7dee97563 Fabien Dessenne 2018-05-31 214
ffbded7dee97563 Fabien Dessenne 2018-05-31 215 if (!np) {
ffbded7dee97563 Fabien Dessenne 2018-05-31 216 dev_err(dev, "No DT found\n");
ffbded7dee97563 Fabien Dessenne 2018-05-31 217 return -ENODEV;
ffbded7dee97563 Fabien Dessenne 2018-05-31 218 }
ffbded7dee97563 Fabien Dessenne 2018-05-31 219
ffbded7dee97563 Fabien Dessenne 2018-05-31 220 ipcc = devm_kzalloc(dev, sizeof(*ipcc), GFP_KERNEL);
ffbded7dee97563 Fabien Dessenne 2018-05-31 221 if (!ipcc)
ffbded7dee97563 Fabien Dessenne 2018-05-31 222 return -ENOMEM;
ffbded7dee97563 Fabien Dessenne 2018-05-31 223
dba9a3dfe912dc4 Arnaud Pouliquen 2019-05-22 224 spin_lock_init(&ipcc->lock);
dba9a3dfe912dc4 Arnaud Pouliquen 2019-05-22 225
ffbded7dee97563 Fabien Dessenne 2018-05-31 226 /* proc_id */
ffbded7dee97563 Fabien Dessenne 2018-05-31 227 if (of_property_read_u32(np, "st,proc-id", &ipcc->proc_id)) {
ffbded7dee97563 Fabien Dessenne 2018-05-31 228 dev_err(dev, "Missing st,proc-id\n");
ffbded7dee97563 Fabien Dessenne 2018-05-31 229 return -ENODEV;
ffbded7dee97563 Fabien Dessenne 2018-05-31 230 }
ffbded7dee97563 Fabien Dessenne 2018-05-31 231
ffbded7dee97563 Fabien Dessenne 2018-05-31 232 if (ipcc->proc_id >= STM32_MAX_PROCS) {
ffbded7dee97563 Fabien Dessenne 2018-05-31 233 dev_err(dev, "Invalid proc_id (%d)\n", ipcc->proc_id);
ffbded7dee97563 Fabien Dessenne 2018-05-31 234 return -EINVAL;
ffbded7dee97563 Fabien Dessenne 2018-05-31 235 }
ffbded7dee97563 Fabien Dessenne 2018-05-31 236
ffbded7dee97563 Fabien Dessenne 2018-05-31 237 /* regs */
ffbded7dee97563 Fabien Dessenne 2018-05-31 238 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
ffbded7dee97563 Fabien Dessenne 2018-05-31 239 ipcc->reg_base = devm_ioremap_resource(dev, res);
ffbded7dee97563 Fabien Dessenne 2018-05-31 240 if (IS_ERR(ipcc->reg_base))
ffbded7dee97563 Fabien Dessenne 2018-05-31 241 return PTR_ERR(ipcc->reg_base);
ffbded7dee97563 Fabien Dessenne 2018-05-31 242
ffbded7dee97563 Fabien Dessenne 2018-05-31 243 ipcc->reg_proc = ipcc->reg_base + ipcc->proc_id * IPCC_PROC_OFFST;
ffbded7dee97563 Fabien Dessenne 2018-05-31 244
ffbded7dee97563 Fabien Dessenne 2018-05-31 245 /* clock */
ffbded7dee97563 Fabien Dessenne 2018-05-31 246 ipcc->clk = devm_clk_get(dev, NULL);
ffbded7dee97563 Fabien Dessenne 2018-05-31 247 if (IS_ERR(ipcc->clk))
ffbded7dee97563 Fabien Dessenne 2018-05-31 248 return PTR_ERR(ipcc->clk);
ffbded7dee97563 Fabien Dessenne 2018-05-31 249
ffbded7dee97563 Fabien Dessenne 2018-05-31 250 ret = clk_prepare_enable(ipcc->clk);
ffbded7dee97563 Fabien Dessenne 2018-05-31 251 if (ret) {
ffbded7dee97563 Fabien Dessenne 2018-05-31 252 dev_err(dev, "can not enable the clock\n");
ffbded7dee97563 Fabien Dessenne 2018-05-31 253 return ret;
ffbded7dee97563 Fabien Dessenne 2018-05-31 254 }
ffbded7dee97563 Fabien Dessenne 2018-05-31 255
ffbded7dee97563 Fabien Dessenne 2018-05-31 256 /* irq */
ffbded7dee97563 Fabien Dessenne 2018-05-31 257 for (i = 0; i < IPCC_IRQ_NUM; i++) {
68a1c8485cf8373 Fabien Dessenne 2019-04-24 258 ipcc->irqs[i] = platform_get_irq_byname(pdev, irq_name[i]);
ffbded7dee97563 Fabien Dessenne 2018-05-31 259 if (ipcc->irqs[i] < 0) {
68a1c8485cf8373 Fabien Dessenne 2019-04-24 260 if (ipcc->irqs[i] != -EPROBE_DEFER)
68a1c8485cf8373 Fabien Dessenne 2019-04-24 261 dev_err(dev, "no IRQ specified %s\n",
68a1c8485cf8373 Fabien Dessenne 2019-04-24 262 irq_name[i]);
ffbded7dee97563 Fabien Dessenne 2018-05-31 263 ret = ipcc->irqs[i];
ffbded7dee97563 Fabien Dessenne 2018-05-31 264 goto err_clk;
ffbded7dee97563 Fabien Dessenne 2018-05-31 265 }
ffbded7dee97563 Fabien Dessenne 2018-05-31 266
ffbded7dee97563 Fabien Dessenne 2018-05-31 267 ret = devm_request_threaded_irq(dev, ipcc->irqs[i], NULL,
ffbded7dee97563 Fabien Dessenne 2018-05-31 268 irq_thread[i], IRQF_ONESHOT,
ffbded7dee97563 Fabien Dessenne 2018-05-31 269 dev_name(dev), ipcc);
ffbded7dee97563 Fabien Dessenne 2018-05-31 270 if (ret) {
ffbded7dee97563 Fabien Dessenne 2018-05-31 271 dev_err(dev, "failed to request irq %d (%d)\n", i, ret);
ffbded7dee97563 Fabien Dessenne 2018-05-31 272 goto err_clk;
ffbded7dee97563 Fabien Dessenne 2018-05-31 273 }
ffbded7dee97563 Fabien Dessenne 2018-05-31 274 }
ffbded7dee97563 Fabien Dessenne 2018-05-31 275
ffbded7dee97563 Fabien Dessenne 2018-05-31 276 /* mask and enable rx/tx irq */
dba9a3dfe912dc4 Arnaud Pouliquen 2019-05-22 277 stm32_ipcc_set_bits(&ipcc->lock, ipcc->reg_proc + IPCC_XMR,
ffbded7dee97563 Fabien Dessenne 2018-05-31 278 RX_BIT_MASK | TX_BIT_MASK);
dba9a3dfe912dc4 Arnaud Pouliquen 2019-05-22 279 stm32_ipcc_set_bits(&ipcc->lock, ipcc->reg_proc + IPCC_XCR,
dba9a3dfe912dc4 Arnaud Pouliquen 2019-05-22 280 XCR_RXOIE | XCR_TXOIE);
ffbded7dee97563 Fabien Dessenne 2018-05-31 281
ffbded7dee97563 Fabien Dessenne 2018-05-31 282 /* wakeup */
ffbded7dee97563 Fabien Dessenne 2018-05-31 283 if (of_property_read_bool(np, "wakeup-source")) {
eac36c8651210df Fabien Dessenne 2019-01-04 284 device_set_wakeup_capable(dev, true);
69269446ccbf2b4 Fabien Dessenne 2019-10-30 285
69269446ccbf2b4 Fabien Dessenne 2019-10-30 286 ret = dev_pm_set_wake_irq(dev, ipcc->irqs[IPCC_IRQ_RX]);
ffbded7dee97563 Fabien Dessenne 2018-05-31 287 if (ret) {
ffbded7dee97563 Fabien Dessenne 2018-05-31 288 dev_err(dev, "Failed to set wake up irq\n");
ffbded7dee97563 Fabien Dessenne 2018-05-31 289 goto err_init_wkp;
ffbded7dee97563 Fabien Dessenne 2018-05-31 290 }
ffbded7dee97563 Fabien Dessenne 2018-05-31 291 }
ffbded7dee97563 Fabien Dessenne 2018-05-31 292
ffbded7dee97563 Fabien Dessenne 2018-05-31 293 /* mailbox controller */
ffbded7dee97563 Fabien Dessenne 2018-05-31 294 ipcc->n_chans = readl_relaxed(ipcc->reg_base + IPCC_HWCFGR);
ffbded7dee97563 Fabien Dessenne 2018-05-31 295 ipcc->n_chans &= IPCFGR_CHAN_MASK;
ffbded7dee97563 Fabien Dessenne 2018-05-31 296
ffbded7dee97563 Fabien Dessenne 2018-05-31 297 ipcc->controller.dev = dev;
ffbded7dee97563 Fabien Dessenne 2018-05-31 298 ipcc->controller.txdone_irq = true;
ffbded7dee97563 Fabien Dessenne 2018-05-31 299 ipcc->controller.ops = &stm32_ipcc_ops;
ffbded7dee97563 Fabien Dessenne 2018-05-31 300 ipcc->controller.num_chans = ipcc->n_chans;
ffbded7dee97563 Fabien Dessenne 2018-05-31 301 ipcc->controller.chans = devm_kcalloc(dev, ipcc->controller.num_chans,
ffbded7dee97563 Fabien Dessenne 2018-05-31 302 sizeof(*ipcc->controller.chans),
ffbded7dee97563 Fabien Dessenne 2018-05-31 303 GFP_KERNEL);
ffbded7dee97563 Fabien Dessenne 2018-05-31 304 if (!ipcc->controller.chans) {
ffbded7dee97563 Fabien Dessenne 2018-05-31 305 ret = -ENOMEM;
ffbded7dee97563 Fabien Dessenne 2018-05-31 306 goto err_irq_wkp;
ffbded7dee97563 Fabien Dessenne 2018-05-31 307 }
ffbded7dee97563 Fabien Dessenne 2018-05-31 308
ffbded7dee97563 Fabien Dessenne 2018-05-31 309 for (i = 0; i < ipcc->controller.num_chans; i++)
ffbded7dee97563 Fabien Dessenne 2018-05-31 @310 ipcc->controller.chans[i].con_priv = (void *)i;
ffbded7dee97563 Fabien Dessenne 2018-05-31 311
368d7767b50154e Thierry Reding 2018-12-20 312 ret = devm_mbox_controller_register(dev, &ipcc->controller);
ffbded7dee97563 Fabien Dessenne 2018-05-31 313 if (ret)
ffbded7dee97563 Fabien Dessenne 2018-05-31 314 goto err_irq_wkp;
ffbded7dee97563 Fabien Dessenne 2018-05-31 315
ffbded7dee97563 Fabien Dessenne 2018-05-31 316 platform_set_drvdata(pdev, ipcc);
ffbded7dee97563 Fabien Dessenne 2018-05-31 317
ffbded7dee97563 Fabien Dessenne 2018-05-31 318 ip_ver = readl_relaxed(ipcc->reg_base + IPCC_VER);
ffbded7dee97563 Fabien Dessenne 2018-05-31 319
ffbded7dee97563 Fabien Dessenne 2018-05-31 320 dev_info(dev, "ipcc rev:%ld.%ld enabled, %d chans, proc %d\n",
ffbded7dee97563 Fabien Dessenne 2018-05-31 321 FIELD_GET(VER_MAJREV_MASK, ip_ver),
ffbded7dee97563 Fabien Dessenne 2018-05-31 322 FIELD_GET(VER_MINREV_MASK, ip_ver),
ffbded7dee97563 Fabien Dessenne 2018-05-31 323 ipcc->controller.num_chans, ipcc->proc_id);
ffbded7dee97563 Fabien Dessenne 2018-05-31 324
ffbded7dee97563 Fabien Dessenne 2018-05-31 325 clk_disable_unprepare(ipcc->clk);
ffbded7dee97563 Fabien Dessenne 2018-05-31 326 return 0;
ffbded7dee97563 Fabien Dessenne 2018-05-31 327
ffbded7dee97563 Fabien Dessenne 2018-05-31 328 err_irq_wkp:
69269446ccbf2b4 Fabien Dessenne 2019-10-30 329 if (of_property_read_bool(np, "wakeup-source"))
ffbded7dee97563 Fabien Dessenne 2018-05-31 330 dev_pm_clear_wake_irq(dev);
ffbded7dee97563 Fabien Dessenne 2018-05-31 331 err_init_wkp:
69269446ccbf2b4 Fabien Dessenne 2019-10-30 332 device_set_wakeup_capable(dev, false);
ffbded7dee97563 Fabien Dessenne 2018-05-31 333 err_clk:
ffbded7dee97563 Fabien Dessenne 2018-05-31 334 clk_disable_unprepare(ipcc->clk);
ffbded7dee97563 Fabien Dessenne 2018-05-31 335 return ret;
ffbded7dee97563 Fabien Dessenne 2018-05-31 336 }
ffbded7dee97563 Fabien Dessenne 2018-05-31 337
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
Re: [PATCH RFC leds + net-next 7/7] net: phy: marvell: support LEDs connected on Marvell PHYs
by kernel test robot
Hi "Marek,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on cd29296fdfca919590e4004a7e4905544f4c4a32]
url: https://github.com/0day-ci/linux/commits/Marek-Beh-n/netdev-trigger-offlo...
base: cd29296fdfca919590e4004a7e4905544f4c4a32
config: nds32-randconfig-r012-20201030 (attached as .config)
compiler: nds32le-linux-gcc (GCC) 9.3.0
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
# https://github.com/0day-ci/linux/commit/0cfca88266cb524576ecb45f52c9f40c1...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Marek-Beh-n/netdev-trigger-offloading-and-LEDs-on-Marvell-PHYs/20201030-194640
git checkout 0cfca88266cb524576ecb45f52c9f40c177f1560
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nds32
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
>> drivers/net/phy/marvell.c:885:13: warning: 'struct led_netdev_data' declared inside parameter list will not be visible outside of this definition or declaration
885 | struct led_netdev_data *trig)
| ^~~~~~~~~~~~~~~
drivers/net/phy/marvell.c: In function 'marvell_find_led_mode':
>> drivers/net/phy/marvell.c:892:21: error: dereferencing pointer to incomplete type 'struct led_netdev_data'
892 | key = LED_MODE(trig->link, trig->tx, trig->rx);
| ^~
drivers/net/phy/marvell.c:832:28: note: in definition of macro 'BITIF'
832 | #define BITIF(i, cond) ((cond) ? BIT(i) : 0)
| ^~~~
drivers/net/phy/marvell.c:892:8: note: in expansion of macro 'LED_MODE'
892 | key = LED_MODE(trig->link, trig->tx, trig->rx);
| ^~~~~~~~
drivers/net/phy/marvell.c: In function 'marvell_led_trigger_offload':
>> drivers/net/phy/marvell.c:941:28: error: 'netdev_led_trigger' undeclared (first use in this function); did you mean 'phy_led_trigger'?
941 | if (led->cdev.trigger != &netdev_led_trigger || !phydev->attached_dev ||
| ^~~~~~~~~~~~~~~~~~
| phy_led_trigger
drivers/net/phy/marvell.c:941:28: note: each undeclared identifier is reported only once for each function it appears in
drivers/net/phy/marvell.c:942:34: error: dereferencing pointer to incomplete type 'struct led_netdev_data'
942 | phydev->attached_dev != trig->net_dev)
| ^~
>> drivers/net/phy/marvell.c:945:44: error: passing argument 3 of 'marvell_find_led_mode' from incompatible pointer type [-Werror=incompatible-pointer-types]
945 | mode = marvell_find_led_mode(phydev, led, trig);
| ^~~~
| |
| struct led_netdev_data *
drivers/net/phy/marvell.c:885:30: note: expected 'struct led_netdev_data *' but argument is of type 'struct led_netdev_data *'
885 | struct led_netdev_data *trig)
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~
cc1: some warnings being treated as errors
vim +892 drivers/net/phy/marvell.c
831
> 832 #define BITIF(i, cond) ((cond) ? BIT(i) : 0)
833 #define LED_MODE(link, tx, rx) \
834 (BITIF(0, (link)) | BITIF(1, (tx)) | BITIF(2, (rx)))
835
836 struct marvell_led_mode_info {
837 u32 key;
838 s8 regval[6];
839 enum {
840 COMMON = BIT(0),
841 L1V0_RX = BIT(1),
842 L3V5_TX = BIT(2),
843 } flags;
844 };
845
846 struct marvell_leds_info {
847 u32 family;
848 int nleds;
849 u32 flags;
850 };
851
852 #define LED(f, n, flg) \
853 { \
854 .family = MARVELL_PHY_FAMILY_ID(MARVELL_PHY_ID_88E##f), \
855 .nleds = (n), \
856 .flags = (flg), \
857 } \
858
859 static const struct marvell_leds_info marvell_leds_info[] = {
860 LED(1112, 4, COMMON | L3V5_TX),
861 LED(1116R, 3, COMMON),
862 LED(1118, 3, COMMON),
863 LED(1121R, 3, COMMON),
864 LED(1149R, 4, COMMON | L3V5_TX),
865 LED(1240, 6, COMMON | L3V5_TX),
866 LED(1318S, 3, COMMON | L1V0_RX),
867 LED(1340S, 6, COMMON),
868 LED(1510, 3, COMMON | L1V0_RX),
869 LED(1545, 6, COMMON),
870 LED(1548P, 6, COMMON),
871 };
872
873 static const struct marvell_led_mode_info marvell_led_mode_info[] = {
874 { LED_MODE(1, 0, 0), { 0x0, -1, 0x0, -1, -1, -1, }, COMMON },
875 { LED_MODE(1, 1, 1), { 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, }, COMMON },
876 { LED_MODE(0, 1, 1), { 0x4, 0x4, 0x4, 0x4, 0x4, 0x4, }, COMMON },
877 { LED_MODE(1, 0, 1), { -1, 0x2, -1, 0x2, 0x2, 0x2, }, COMMON },
878 { LED_MODE(0, 1, 0), { 0x5, -1, 0x5, -1, 0x5, 0x5, }, COMMON },
879 { LED_MODE(0, 1, 0), { -1, -1, -1, 0x5, -1, -1, }, L3V5_TX },
880 { LED_MODE(0, 0, 1), { -1, -1, -1, -1, 0x0, 0x0, }, COMMON },
881 { LED_MODE(0, 0, 1), { -1, 0x0, -1, -1, -1, -1, }, L1V0_RX },
882 };
883
884 static int marvell_find_led_mode(struct phy_device *phydev, struct phy_led *led,
> 885 struct led_netdev_data *trig)
886 {
887 const struct marvell_leds_info *info = led->priv;
888 const struct marvell_led_mode_info *mode;
889 u32 key;
890 int i;
891
> 892 key = LED_MODE(trig->link, trig->tx, trig->rx);
893
894 for (i = 0; i < ARRAY_SIZE(marvell_led_mode_info); ++i) {
895 mode = &marvell_led_mode_info[i];
896
897 if (key != mode->key || mode->regval[led->addr] == -1 ||
898 !(info->flags & mode->flags))
899 continue;
900
901 return mode->regval[led->addr];
902 }
903
904 dev_dbg(led->cdev.dev,
905 "cannot offload trigger configuration (%s, link=%i, tx=%i, rx=%i)\n",
906 netdev_name(trig->net_dev), trig->link, trig->tx, trig->rx);
907
908 return -1;
909 }
910
911 /* FIXME: Blinking rate is shared by all LEDs on a PHY. Should we check whether
912 * another LED is currently blinking with incompatible rate? It would be cleaner
913 * if we in this case failed to offload blinking this LED.
914 * But consider this situation:
915 * 1. user sets LED[1] to blink with period 500ms for some reason. This would
916 * start blinking LED[1] with perion 670ms here
917 * 2. user sets netdev trigger to LED[0] to blink on activity, default there
918 * is 100ms period, which would translate here to 84ms. This is
919 * incompatible with the already blinking LED, so we fail to offload to HW,
920 * and netdev trigger does software offloading instead.
921 * 3. user unsets blinking od LED[1], so now we theoretically can offload
922 * netdev trigger to LED[0], but we don't know about it, and so it is left
923 * in SW triggering until user writes the settings again
924 * This could be solved by the netdev trigger periodically trying to offload to
925 * HW if we reported that it is theoretically possible (by returning -EAGAIN
926 * instead of -EOPNOTSUPP, for example). Do we want to do this?
927 */
928 static int marvell_led_trigger_offload(struct phy_device *phydev,
929 struct phy_led *led, bool enable)
930 {
931 struct led_netdev_data *trig = led_get_trigger_data(&led->cdev);
932 struct device *dev = led->cdev.dev;
933 unsigned long period;
934 int mode;
935 int ret;
936
937 if (!enable)
938 goto offload_disable;
939
940 /* Sanity checks first */
> 941 if (led->cdev.trigger != &netdev_led_trigger || !phydev->attached_dev ||
942 phydev->attached_dev != trig->net_dev)
943 goto offload_disable;
944
> 945 mode = marvell_find_led_mode(phydev, led, trig);
946 if (mode < 0)
947 goto offload_disable;
948
949 /* TODO: this should only be checked if blinking is needed */
950 period = jiffies_to_msecs(atomic_read(&trig->interval)) * 2;
951 ret = marvell_leds_set_blink_rate(phydev, &period);
952 if (ret) {
953 dev_dbg(dev, "cannot offload trigger (unsupported blinking period)\n");
954 goto offload_disable;
955 }
956
957 ret = marvell_led_set_regval(phydev, led->addr, mode);
958 if (!ret) {
959 atomic_set(&trig->interval, msecs_to_jiffies(period / 2));
960 dev_dbg(led->cdev.dev, "netdev trigger offloaded\n");
961 }
962
963 return ret;
964
965 offload_disable:
966 ret = marvell_led_set_regval(phydev, led->addr, MII_PHY_LED_CTRL_OFF);
967 if (ret)
968 return ret;
969
970 return -EOPNOTSUPP;
971 }
972
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
[peterz-queue:perf/urgent 2/8] include/linux/perf_regs.h:43:20: warning: 'perf_get_regs_user' used but never defined
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git perf/urgent
head: 27597c782ca7cbf37a58156790e41e028449b1ba
commit: d5ef92d792772af29345ab933bf1eb22a014870f [2/8] perf/arch: Remove perf_sample_data::regs_user_copy
config: nds32-randconfig-r011-20201030 (attached as .config)
compiler: nds32le-linux-gcc (GCC) 9.3.0
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
# https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git/commit/?...
git remote add peterz-queue https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git
git fetch --no-tags peterz-queue perf/urgent
git checkout d5ef92d792772af29345ab933bf1eb22a014870f
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nds32
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from include/linux/perf_event.h:56,
from include/linux/trace_events.h:10,
from include/trace/syscall.h:7,
from include/linux/syscalls.h:84,
from kernel/events/core.c:34:
include/linux/perf_regs.h:45:1: error: expected identifier or '(' before '{' token
45 | {
| ^
kernel/events/core.c:6534:6: warning: no previous prototype for 'perf_pmu_snapshot_aux' [-Wmissing-prototypes]
6534 | long perf_pmu_snapshot_aux(struct perf_buffer *rb,
| ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/perf_event.h:56,
from include/linux/trace_events.h:10,
from include/trace/syscall.h:7,
from include/linux/syscalls.h:84,
from kernel/events/core.c:34:
>> include/linux/perf_regs.h:43:20: warning: 'perf_get_regs_user' used but never defined
43 | static inline void perf_get_regs_user(struct perf_regs *regs_user,
| ^~~~~~~~~~~~~~~~~~
vim +/perf_get_regs_user +43 include/linux/perf_regs.h
88a7c26af8dab2f Andy Lutomirski 2015-01-04 42
88a7c26af8dab2f Andy Lutomirski 2015-01-04 @43 static inline void perf_get_regs_user(struct perf_regs *regs_user,
:::::: The code at line 43 was first introduced by commit
:::::: 88a7c26af8dab2f2d69f5a6067eb670694ec38c0 perf: Move task_pt_regs sampling into arch code
:::::: TO: Andy Lutomirski <luto(a)amacapital.net>
:::::: CC: Ingo Molnar <mingo(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
[android-common:android-4.4-p 2/2] /tmp/multipath-000407.s:1215: Warning: no instruction mnemonic suffix given and no register operands; using default for `btr'
by kernel test robot
tree: https://android.googlesource.com/kernel/common android-4.4-p
head: 0cd3dcb56af3005b8193192ba888ecd8f10c32c9
commit: 0cd3dcb56af3005b8193192ba888ecd8f10c32c9 [2/2] ANDROID: Publish uncompressed Image on aarch64
config: x86_64-randconfig-r016-20201029 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 772aaa602383cf82795572ebcd86b0e660f3579f)
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
git remote add android-common https://android.googlesource.com/kernel/common
git fetch --no-tags android-common android-4.4-p
git checkout 0cd3dcb56af3005b8193192ba888ecd8f10c32c9
# 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 warnings (new ones prefixed by >>):
~~ ^ ~
include/linux/compiler.h:150:43: note: expanded from macro 'likely'
# define likely(x) (__builtin_constant_p(x) ? !!(x) : __branch_check__(x, 1))
^
include/linux/compiler.h:161:36: note: expanded from macro 'if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
^~~~
include/linux/compiler.h:174:16: note: expanded from macro '__trace_if'
______r = !!(cond); \
^~~~
In file included from drivers/md/multipath.c:22:
In file included from include/linux/blkdev.h:14:
In file included from include/linux/pagemap.h:10:
In file included from include/linux/highmem.h:8:
In file included from include/linux/uaccess.h:8:
arch/x86/include/asm/uaccess.h:773:26: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
if (likely(sz < 0 || sz >= n)) {
~~ ^ ~
include/linux/compiler.h:150:51: note: expanded from macro 'likely'
# define likely(x) (__builtin_constant_p(x) ? !!(x) : __branch_check__(x, 1))
^
include/linux/compiler.h:161:36: note: expanded from macro 'if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
^~~~
include/linux/compiler.h:174:16: note: expanded from macro '__trace_if'
______r = !!(cond); \
^~~~
In file included from drivers/md/multipath.c:22:
In file included from include/linux/blkdev.h:14:
In file included from include/linux/pagemap.h:10:
In file included from include/linux/highmem.h:8:
In file included from include/linux/uaccess.h:8:
arch/x86/include/asm/uaccess.h:773:26: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
if (likely(sz < 0 || sz >= n)) {
~~ ^ ~
include/linux/compiler.h:150:43: note: expanded from macro 'likely'
# define likely(x) (__builtin_constant_p(x) ? !!(x) : __branch_check__(x, 1))
^
include/linux/compiler.h:161:36: note: expanded from macro 'if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
^~~~
include/linux/compiler.h:163:30: note: expanded from macro '__trace_if'
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^~~~
In file included from drivers/md/multipath.c:22:
In file included from include/linux/blkdev.h:14:
In file included from include/linux/pagemap.h:10:
In file included from include/linux/highmem.h:8:
In file included from include/linux/uaccess.h:8:
arch/x86/include/asm/uaccess.h:773:26: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
if (likely(sz < 0 || sz >= n)) {
~~ ^ ~
include/linux/compiler.h:150:51: note: expanded from macro 'likely'
# define likely(x) (__builtin_constant_p(x) ? !!(x) : __branch_check__(x, 1))
^
include/linux/compiler.h:161:36: note: expanded from macro 'if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
^~~~
include/linux/compiler.h:163:30: note: expanded from macro '__trace_if'
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^~~~
In file included from drivers/md/multipath.c:22:
In file included from include/linux/blkdev.h:18:
include/linux/bio.h:424:14: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
if (sectors >= bio_sectors(bio))
~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:161:36: note: expanded from macro 'if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:174:16: note: expanded from macro '__trace_if'
______r = !!(cond); \
^~~~
In file included from drivers/md/multipath.c:22:
In file included from include/linux/blkdev.h:18:
include/linux/bio.h:424:14: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
if (sectors >= bio_sectors(bio))
~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:161:36: note: expanded from macro 'if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:163:30: note: expanded from macro '__trace_if'
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^~~~
In file included from drivers/md/multipath.c:22:
In file included from include/linux/blkdev.h:18:
include/linux/bio.h:424:14: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
if (sectors >= bio_sectors(bio))
~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:161:36: note: expanded from macro 'if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:163:42: note: expanded from macro '__trace_if'
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^~~~
In file included from drivers/md/multipath.c:22:
include/linux/blkdev.h:1714:16: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
for (i = 0; i < ARRAY_SIZE(latency_x_axis_us); i++)
~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21 warnings generated.
/tmp/multipath-000407.s: Assembler messages:
>> /tmp/multipath-000407.s:1215: Warning: no instruction mnemonic suffix given and no register operands; using default for `btr'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
[xlnx:xlnx_rebase_v5.4 1138/1683] ERROR: "__divdi3" undefined!
by kernel test robot
tree: https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.4
head: 87d2d58e2137748748d96a630fd93eb0e2d81123
commit: a4704c54d84d1e391275ad6ac10ce0e7c9157505 [1138/1683] rtc: zynqmp: Add calibration set and get support
config: i386-randconfig-m021-20201030 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/Xilinx/linux-xlnx/commit/a4704c54d84d1e391275ad6ac10ce...
git remote add xlnx https://github.com/Xilinx/linux-xlnx
git fetch --no-tags xlnx xlnx_rebase_v5.4
git checkout a4704c54d84d1e391275ad6ac10ce0e7c9157505
# 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 <lkp(a)intel.com>
All errors (new ones prefixed by >>):
WARNING: module rtc-zynqmp uses symbol platform_driver_unregister from namespace vmlinux, but does not import it.
WARNING: module rtc-zynqmp uses symbol __platform_driver_register from namespace vmlinux, but does not import it.
WARNING: module rtc-zynqmp uses symbol __rtc_register_device from namespace vmlinux, but does not import it.
WARNING: module rtc-zynqmp uses symbol of_property_read_variable_u32_array from namespace vmlinux, but does not import it.
WARNING: module rtc-zynqmp uses symbol devm_request_threaded_irq from namespace vmlinux, but does not import it.
WARNING: module rtc-zynqmp uses symbol platform_get_irq_byname from namespace vmlinux, but does not import it.
WARNING: module rtc-zynqmp uses symbol devm_ioremap_resource from namespace vmlinux, but does not import it.
WARNING: module rtc-zynqmp uses symbol platform_get_resource from namespace vmlinux, but does not import it.
WARNING: module rtc-zynqmp uses symbol devm_rtc_allocate_device from namespace vmlinux, but does not import it.
WARNING: module rtc-zynqmp uses symbol devm_kmalloc from namespace vmlinux, but does not import it.
WARNING: module rtc-zynqmp uses symbol rtc_time64_to_tm from namespace vmlinux, but does not import it.
WARNING: module rtc-zynqmp uses symbol rtc_tm_to_time64 from namespace vmlinux, but does not import it.
WARNING: module rtc-zynqmp uses symbol div_s64_rem from namespace vmlinux, but does not import it.
WARNING: module rtc-zynqmp uses symbol rtc_update_irq from namespace vmlinux, but does not import it.
WARNING: module rtc-zynqmp uses symbol _dev_err from namespace vmlinux, but does not import it.
WARNING: module rtc-zynqmp uses symbol jiffies from namespace vmlinux, but does not import it.
>> ERROR: "__divdi3" [drivers/rtc/rtc-zynqmp.ko] undefined!
ERROR: "__udivdi3" [drivers/rtc/rtc-zynqmp.ko] undefined!
WARNING: module rtc-v3020 uses symbol platform_driver_unregister from namespace vmlinux, but does not import it.
WARNING: module rtc-v3020 uses symbol __platform_driver_register from namespace vmlinux, but does not import it.
WARNING: module rtc-v3020 uses symbol devm_rtc_device_register from namespace vmlinux, but does not import it.
WARNING: module rtc-v3020 uses symbol _dev_info from namespace vmlinux, but does not import it.
WARNING: module rtc-v3020 uses symbol devm_kmalloc from namespace vmlinux, but does not import it.
WARNING: module rtc-v3020 uses symbol gpio_request_array from namespace vmlinux, but does not import it.
WARNING: module rtc-v3020 uses symbol gpio_free_array from namespace vmlinux, but does not import it.
WARNING: module rtc-v3020 uses symbol gpiod_get_raw_value from namespace vmlinux, but does not import it.
WARNING: module rtc-v3020 uses symbol gpiod_direction_input from namespace vmlinux, but does not import it.
WARNING: module rtc-v3020 uses symbol gpiod_direction_output_raw from namespace vmlinux, but does not import it.
WARNING: module rtc-v3020 uses symbol gpiod_set_raw_value from namespace vmlinux, but does not import it.
WARNING: module rtc-v3020 uses symbol gpio_to_desc from namespace vmlinux, but does not import it.
WARNING: module rtc-v3020 uses symbol _bcd2bin from namespace vmlinux, but does not import it.
WARNING: module rtc-v3020 uses symbol _bin2bcd from namespace vmlinux, but does not import it.
WARNING: module rtc-v3020 uses symbol dev_printk from namespace vmlinux, but does not import it.
WARNING: module rtc-v3020 uses symbol __const_udelay from namespace vmlinux, but does not import it.
WARNING: module rtc-v3020 uses symbol ioremap_nocache from namespace vmlinux, but does not import it.
WARNING: module rtc-v3020 uses symbol iounmap from namespace vmlinux, but does not import it.
WARNING: module rtc-rv8803 uses symbol i2c_del_driver from namespace vmlinux, but does not import it.
WARNING: module rtc-rv8803 uses symbol i2c_register_driver from namespace vmlinux, but does not import it.
WARNING: module rtc-rv8803 uses symbol __rtc_register_device from namespace vmlinux, but does not import it.
WARNING: module rtc-rv8803 uses symbol of_find_property from namespace vmlinux, but does not import it.
WARNING: module rtc-rv8803 uses symbol devm_request_threaded_irq from namespace vmlinux, but does not import it.
WARNING: module rtc-rv8803 uses symbol devm_rtc_allocate_device from namespace vmlinux, but does not import it.
WARNING: module rtc-rv8803 uses symbol of_device_get_match_data from namespace vmlinux, but does not import it.
WARNING: module rtc-rv8803 uses symbol __mutex_init from namespace vmlinux, but does not import it.
WARNING: module rtc-rv8803 uses symbol devm_kmalloc from namespace vmlinux, but does not import it.
WARNING: module rtc-rv8803 uses symbol rtc_update_irq from namespace vmlinux, but does not import it.
WARNING: module rtc-rv8803 uses symbol _copy_to_user from namespace vmlinux, but does not import it.
WARNING: module rtc-rv8803 uses symbol _bin2bcd from namespace vmlinux, but does not import it.
WARNING: module rtc-rv8803 uses symbol rtc_time64_to_tm from namespace vmlinux, but does not import it.
WARNING: module rtc-rv8803 uses symbol rtc_tm_to_time64 from namespace vmlinux, but does not import it.
WARNING: module rtc-rv8803 uses symbol mutex_unlock from namespace vmlinux, but does not import it.
WARNING: module rtc-rv8803 uses symbol mutex_lock_nested from namespace vmlinux, but does not import it.
WARNING: module rtc-rv8803 uses symbol i2c_smbus_write_byte_data from namespace vmlinux, but does not import it.
WARNING: module rtc-rv8803 uses symbol _dev_warn from namespace vmlinux, but does not import it.
WARNING: module rtc-rv8803 uses symbol _bcd2bin from namespace vmlinux, but does not import it.
WARNING: module rtc-rv8803 uses symbol i2c_smbus_read_byte_data from namespace vmlinux, but does not import it.
WARNING: module rtc-rv8803 uses symbol i2c_smbus_write_i2c_block_data from namespace vmlinux, but does not import it.
WARNING: module rtc-rv8803 uses symbol _dev_err from namespace vmlinux, but does not import it.
WARNING: module rtc-rv8803 uses symbol i2c_smbus_read_i2c_block_data from namespace vmlinux, but does not import it.
WARNING: module rtc-rv3028 uses symbol i2c_del_driver from namespace vmlinux, but does not import it.
WARNING: module rtc-rv3028 uses symbol i2c_register_driver from namespace vmlinux, but does not import it.
WARNING: module rtc-rv3028 uses symbol __rtc_register_device from namespace vmlinux, but does not import it.
WARNING: module rtc-rv3028 uses symbol device_property_read_u32_array from namespace vmlinux, but does not import it.
WARNING: module rtc-rv3028 uses symbol devm_request_threaded_irq from namespace vmlinux, but does not import it.
WARNING: module rtc-rv3028 uses symbol devm_rtc_allocate_device from namespace vmlinux, but does not import it.
WARNING: module rtc-rv3028 uses symbol __devm_regmap_init_i2c from namespace vmlinux, but does not import it.
WARNING: module rtc-rv3028 uses symbol devm_kmalloc from namespace vmlinux, but does not import it.
WARNING: module rtc-rv3028 uses symbol sysfs_notify from namespace vmlinux, but does not import it.
WARNING: module rtc-rv3028 uses symbol rtc_update_irq from namespace vmlinux, but does not import it.
WARNING: module rtc-rv3028 uses symbol _copy_to_user from namespace vmlinux, but does not import it.
WARNING: module rtc-rv3028 uses symbol regmap_write from namespace vmlinux, but does not import it.
WARNING: module rtc-rv3028 uses symbol regmap_bulk_write from namespace vmlinux, but does not import it.
WARNING: module rtc-rv3028 uses symbol _bin2bcd from namespace vmlinux, but does not import it.
WARNING: module rtc-rv3028 uses symbol rtc_time64_to_tm from namespace vmlinux, but does not import it.
WARNING: module rtc-rv3028 uses symbol sprintf from namespace vmlinux, but does not import it.
WARNING: module rtc-rv3028 uses symbol rtc_tm_to_time64 from namespace vmlinux, but does not import it.
WARNING: module rtc-rv3028 uses symbol rtc_valid_tm from namespace vmlinux, but does not import it.
WARNING: module rtc-rv3028 uses symbol _dev_warn from namespace vmlinux, but does not import it.
WARNING: module rtc-rv3028 uses symbol _bcd2bin from namespace vmlinux, but does not import it.
WARNING: module rtc-rv3028 uses symbol regmap_bulk_read from namespace vmlinux, but does not import it.
WARNING: module rtc-rv3028 uses symbol regmap_update_bits_base from namespace vmlinux, but does not import it.
WARNING: module rtc-rv3028 uses symbol regmap_read from namespace vmlinux, but does not import it.
WARNING: module rtc-rk808 uses symbol platform_driver_unregister from namespace vmlinux, but does not import it.
WARNING: module rtc-rk808 uses symbol __platform_driver_register from namespace vmlinux, but does not import it.
WARNING: module rtc-rk808 uses symbol regmap_bulk_write from namespace vmlinux, but does not import it.
WARNING: module rtc-rk808 uses symbol _bin2bcd from namespace vmlinux, but does not import it.
WARNING: module rtc-rk808 uses symbol regmap_read from namespace vmlinux, but does not import it.
WARNING: module rtc-rk808 uses symbol _bcd2bin from namespace vmlinux, but does not import it.
WARNING: module rtc-rk808 uses symbol regmap_bulk_read from namespace vmlinux, but does not import it.
WARNING: module rtc-rk808 uses symbol rtc_time64_to_tm from namespace vmlinux, but does not import it.
WARNING: module rtc-rk808 uses symbol rtc_tm_to_time64 from namespace vmlinux, but does not import it.
WARNING: module rtc-rk808 uses symbol __rtc_register_device from namespace vmlinux, but does not import it.
WARNING: module rtc-rk808 uses symbol devm_request_threaded_irq from namespace vmlinux, but does not import it.
WARNING: module rtc-rk808 uses symbol platform_get_irq from namespace vmlinux, but does not import it.
WARNING: module rtc-rk808 uses symbol devm_rtc_allocate_device from namespace vmlinux, but does not import it.
WARNING: module rtc-rk808 uses symbol devm_kmalloc from namespace vmlinux, but does not import it.
WARNING: module rtc-rk808 uses symbol dev_printk from namespace vmlinux, but does not import it.
WARNING: module rtc-rk808 uses symbol rtc_update_irq from namespace vmlinux, but does not import it.
WARNING: module rtc-rk808 uses symbol _dev_err from namespace vmlinux, but does not import it.
WARNING: module rtc-rk808 uses symbol regmap_write from namespace vmlinux, but does not import it.
WARNING: module rtc-rk808 uses symbol regmap_update_bits_base from namespace vmlinux, but does not import it.
WARNING: module rtc-pcf85363 uses symbol i2c_del_driver from namespace vmlinux, but does not import it.
WARNING: module rtc-pcf85363 uses symbol i2c_register_driver from namespace vmlinux, but does not import it.
WARNING: module rtc-pcf85363 uses symbol __rtc_register_device from namespace vmlinux, but does not import it.
WARNING: module rtc-pcf85363 uses symbol _dev_warn from namespace vmlinux, but does not import it.
WARNING: module rtc-pcf85363 uses symbol devm_request_threaded_irq from namespace vmlinux, but does not import it.
WARNING: module rtc-pcf85363 uses symbol devm_rtc_allocate_device from namespace vmlinux, but does not import it.
WARNING: module rtc-pcf85363 uses symbol __devm_regmap_init_i2c from namespace vmlinux, but does not import it.
WARNING: module rtc-pcf85363 uses symbol devm_kmalloc from namespace vmlinux, but does not import it.
WARNING: module rtc-pcf85363 uses symbol of_device_get_match_data from namespace vmlinux, but does not import it.
WARNING: module rtc-pcf85363 uses symbol regmap_update_bits_base from namespace vmlinux, but does not import it.
WARNING: module rtc-pcf85363 uses symbol rtc_update_irq from namespace vmlinux, but does not import it.
WARNING: module rtc-pcf85363 uses symbol regmap_read from namespace vmlinux, but does not import it.
WARNING: module rtc-pcf85363 uses symbol _bcd2bin from namespace vmlinux, but does not import it.
WARNING: module rtc-pcf85363 uses symbol _dev_err from namespace vmlinux, but does not import it.
WARNING: module rtc-pcf85363 uses symbol regmap_bulk_read from namespace vmlinux, but does not import it.
WARNING: module rtc-pcf85363 uses symbol __stack_chk_fail from namespace vmlinux, but does not import it.
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months
Re: [PATCH RFC leds + net-next 7/7] net: phy: marvell: support LEDs connected on Marvell PHYs
by kernel test robot
Hi "Marek,
[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on cd29296fdfca919590e4004a7e4905544f4c4a32]
url: https://github.com/0day-ci/linux/commits/Marek-Beh-n/netdev-trigger-offlo...
base: cd29296fdfca919590e4004a7e4905544f4c4a32
config: nios2-defconfig (attached as .config)
compiler: nios2-linux-gcc (GCC) 9.3.0
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
# https://github.com/0day-ci/linux/commit/0cfca88266cb524576ecb45f52c9f40c1...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Marek-Beh-n/netdev-trigger-offloading-and-LEDs-on-Marvell-PHYs/20201030-194640
git checkout 0cfca88266cb524576ecb45f52c9f40c177f1560
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nios2
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/net/phy/marvell.c:885:13: warning: 'struct led_netdev_data' declared inside parameter list will not be visible outside of this definition or declaration
885 | struct led_netdev_data *trig)
| ^~~~~~~~~~~~~~~
drivers/net/phy/marvell.c: In function 'marvell_find_led_mode':
drivers/net/phy/marvell.c:892:21: error: dereferencing pointer to incomplete type 'struct led_netdev_data'
892 | key = LED_MODE(trig->link, trig->tx, trig->rx);
| ^~
drivers/net/phy/marvell.c:832:28: note: in definition of macro 'BITIF'
832 | #define BITIF(i, cond) ((cond) ? BIT(i) : 0)
| ^~~~
drivers/net/phy/marvell.c:892:8: note: in expansion of macro 'LED_MODE'
892 | key = LED_MODE(trig->link, trig->tx, trig->rx);
| ^~~~~~~~
drivers/net/phy/marvell.c: In function 'marvell_led_trigger_offload':
drivers/net/phy/marvell.c:941:28: error: 'netdev_led_trigger' undeclared (first use in this function); did you mean 'module_led_trigger'?
941 | if (led->cdev.trigger != &netdev_led_trigger || !phydev->attached_dev ||
| ^~~~~~~~~~~~~~~~~~
| module_led_trigger
drivers/net/phy/marvell.c:941:28: note: each undeclared identifier is reported only once for each function it appears in
drivers/net/phy/marvell.c:942:34: error: dereferencing pointer to incomplete type 'struct led_netdev_data'
942 | phydev->attached_dev != trig->net_dev)
| ^~
drivers/net/phy/marvell.c:945:44: error: passing argument 3 of 'marvell_find_led_mode' from incompatible pointer type [-Werror=incompatible-pointer-types]
945 | mode = marvell_find_led_mode(phydev, led, trig);
| ^~~~
| |
| struct led_netdev_data *
drivers/net/phy/marvell.c:885:30: note: expected 'struct led_netdev_data *' but argument is of type 'struct led_netdev_data *'
885 | struct led_netdev_data *trig)
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~
cc1: some warnings being treated as errors
vim +885 drivers/net/phy/marvell.c
883
884 static int marvell_find_led_mode(struct phy_device *phydev, struct phy_led *led,
> 885 struct led_netdev_data *trig)
886 {
887 const struct marvell_leds_info *info = led->priv;
888 const struct marvell_led_mode_info *mode;
889 u32 key;
890 int i;
891
892 key = LED_MODE(trig->link, trig->tx, trig->rx);
893
894 for (i = 0; i < ARRAY_SIZE(marvell_led_mode_info); ++i) {
895 mode = &marvell_led_mode_info[i];
896
897 if (key != mode->key || mode->regval[led->addr] == -1 ||
898 !(info->flags & mode->flags))
899 continue;
900
901 return mode->regval[led->addr];
902 }
903
904 dev_dbg(led->cdev.dev,
905 "cannot offload trigger configuration (%s, link=%i, tx=%i, rx=%i)\n",
906 netdev_name(trig->net_dev), trig->link, trig->tx, trig->rx);
907
908 return -1;
909 }
910
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 6 months