[linux-next:master 6943/8703] drivers/net/dsa/sja1105/sja1105_static_config.c:463:8: warning: no previous prototype for function 'sja1105_vl_lookup_entry_packing'

0 views
Skip to first unread message

kbuild test robot

unread,
May 19, 2020, 8:57:18 AM5/19/20
to Vladimir Oltean, kbuil...@lists.01.org, clang-bu...@googlegroups.com
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: e098d7762d602be640c53565ceca342f81e55ad2
commit: 94f94d4acfb2a5e978f98d924be33c981e2f86c6 [6943/8703] net: dsa: sja1105: add static tables for virtual links
config: x86_64-allyesconfig (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 135b877874fae96b4372c8a3fbfaa8ff44ff86e3)
reproduce:
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 checkout 94f94d4acfb2a5e978f98d924be33c981e2f86c6
# 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: kbuild test robot <l...@intel.com>

All warnings (new ones prefixed by >>, old ones prefixed by <<):

drivers/net/dsa/sja1105/sja1105_static_config.c:105:8: warning: no previous prototype for function 'sja1105pqrs_avb_params_entry_packing' [-Wmissing-prototypes]
size_t sja1105pqrs_avb_params_entry_packing(void *buf, void *entry_ptr,
^
drivers/net/dsa/sja1105/sja1105_static_config.c:105:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
size_t sja1105pqrs_avb_params_entry_packing(void *buf, void *entry_ptr,
^
static
drivers/net/dsa/sja1105/sja1105_static_config.c:199:8: warning: no previous prototype for function 'sja1105_l2_forwarding_entry_packing' [-Wmissing-prototypes]
size_t sja1105_l2_forwarding_entry_packing(void *buf, void *entry_ptr,
^
drivers/net/dsa/sja1105/sja1105_static_config.c:199:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
size_t sja1105_l2_forwarding_entry_packing(void *buf, void *entry_ptr,
^
static
drivers/net/dsa/sja1105/sja1105_static_config.c:254:8: warning: no previous prototype for function 'sja1105et_l2_lookup_entry_packing' [-Wmissing-prototypes]
size_t sja1105et_l2_lookup_entry_packing(void *buf, void *entry_ptr,
^
drivers/net/dsa/sja1105/sja1105_static_config.c:254:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
size_t sja1105et_l2_lookup_entry_packing(void *buf, void *entry_ptr,
^
static
drivers/net/dsa/sja1105/sja1105_static_config.c:268:8: warning: no previous prototype for function 'sja1105pqrs_l2_lookup_entry_packing' [-Wmissing-prototypes]
size_t sja1105pqrs_l2_lookup_entry_packing(void *buf, void *entry_ptr,
^
drivers/net/dsa/sja1105/sja1105_static_config.c:268:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
size_t sja1105pqrs_l2_lookup_entry_packing(void *buf, void *entry_ptr,
^
static
drivers/net/dsa/sja1105/sja1105_static_config.c:344:8: warning: no previous prototype for function 'sja1105pqrs_mac_config_entry_packing' [-Wmissing-prototypes]
size_t sja1105pqrs_mac_config_entry_packing(void *buf, void *entry_ptr,
^
drivers/net/dsa/sja1105/sja1105_static_config.c:344:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
size_t sja1105pqrs_mac_config_entry_packing(void *buf, void *entry_ptr,
^
static
>> drivers/net/dsa/sja1105/sja1105_static_config.c:463:8: warning: no previous prototype for function 'sja1105_vl_lookup_entry_packing' [-Wmissing-prototypes]
size_t sja1105_vl_lookup_entry_packing(void *buf, void *entry_ptr,
^
drivers/net/dsa/sja1105/sja1105_static_config.c:463:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
size_t sja1105_vl_lookup_entry_packing(void *buf, void *entry_ptr,
^
static
drivers/net/dsa/sja1105/sja1105_static_config.c:513:8: warning: no previous prototype for function 'sja1105_vlan_lookup_entry_packing' [-Wmissing-prototypes]
size_t sja1105_vlan_lookup_entry_packing(void *buf, void *entry_ptr,
^
drivers/net/dsa/sja1105/sja1105_static_config.c:513:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
size_t sja1105_vlan_lookup_entry_packing(void *buf, void *entry_ptr,
^
static
7 warnings generated.

vim +/sja1105_vl_lookup_entry_packing +463 drivers/net/dsa/sja1105/sja1105_static_config.c

343
> 344 size_t sja1105pqrs_mac_config_entry_packing(void *buf, void *entry_ptr,
345 enum packing_op op)
346 {
347 const size_t size = SJA1105PQRS_SIZE_MAC_CONFIG_ENTRY;
348 struct sja1105_mac_config_entry *entry = entry_ptr;
349 int offset, i;
350
351 for (i = 0, offset = 104; i < 8; i++, offset += 19) {
352 sja1105_packing(buf, &entry->enabled[i],
353 offset + 0, offset + 0, size, op);
354 sja1105_packing(buf, &entry->base[i],
355 offset + 9, offset + 1, size, op);
356 sja1105_packing(buf, &entry->top[i],
357 offset + 18, offset + 10, size, op);
358 }
359 sja1105_packing(buf, &entry->ifg, 103, 99, size, op);
360 sja1105_packing(buf, &entry->speed, 98, 97, size, op);
361 sja1105_packing(buf, &entry->tp_delin, 96, 81, size, op);
362 sja1105_packing(buf, &entry->tp_delout, 80, 65, size, op);
363 sja1105_packing(buf, &entry->maxage, 64, 57, size, op);
364 sja1105_packing(buf, &entry->vlanprio, 56, 54, size, op);
365 sja1105_packing(buf, &entry->vlanid, 53, 42, size, op);
366 sja1105_packing(buf, &entry->ing_mirr, 41, 41, size, op);
367 sja1105_packing(buf, &entry->egr_mirr, 40, 40, size, op);
368 sja1105_packing(buf, &entry->drpnona664, 39, 39, size, op);
369 sja1105_packing(buf, &entry->drpdtag, 38, 38, size, op);
370 sja1105_packing(buf, &entry->drpuntag, 35, 35, size, op);
371 sja1105_packing(buf, &entry->retag, 34, 34, size, op);
372 sja1105_packing(buf, &entry->dyn_learn, 33, 33, size, op);
373 sja1105_packing(buf, &entry->egress, 32, 32, size, op);
374 sja1105_packing(buf, &entry->ingress, 31, 31, size, op);
375 return size;
376 }
377
378 static size_t
379 sja1105_schedule_entry_points_params_entry_packing(void *buf, void *entry_ptr,
380 enum packing_op op)
381 {
382 struct sja1105_schedule_entry_points_params_entry *entry = entry_ptr;
383 const size_t size = SJA1105_SIZE_SCHEDULE_ENTRY_POINTS_PARAMS_ENTRY;
384
385 sja1105_packing(buf, &entry->clksrc, 31, 30, size, op);
386 sja1105_packing(buf, &entry->actsubsch, 29, 27, size, op);
387 return size;
388 }
389
390 static size_t
391 sja1105_schedule_entry_points_entry_packing(void *buf, void *entry_ptr,
392 enum packing_op op)
393 {
394 struct sja1105_schedule_entry_points_entry *entry = entry_ptr;
395 const size_t size = SJA1105_SIZE_SCHEDULE_ENTRY_POINTS_ENTRY;
396
397 sja1105_packing(buf, &entry->subschindx, 31, 29, size, op);
398 sja1105_packing(buf, &entry->delta, 28, 11, size, op);
399 sja1105_packing(buf, &entry->address, 10, 1, size, op);
400 return size;
401 }
402
403 static size_t sja1105_schedule_params_entry_packing(void *buf, void *entry_ptr,
404 enum packing_op op)
405 {
406 const size_t size = SJA1105_SIZE_SCHEDULE_PARAMS_ENTRY;
407 struct sja1105_schedule_params_entry *entry = entry_ptr;
408 int offset, i;
409
410 for (i = 0, offset = 16; i < 8; i++, offset += 10)
411 sja1105_packing(buf, &entry->subscheind[i],
412 offset + 9, offset + 0, size, op);
413 return size;
414 }
415
416 static size_t sja1105_schedule_entry_packing(void *buf, void *entry_ptr,
417 enum packing_op op)
418 {
419 const size_t size = SJA1105_SIZE_SCHEDULE_ENTRY;
420 struct sja1105_schedule_entry *entry = entry_ptr;
421
422 sja1105_packing(buf, &entry->winstindex, 63, 54, size, op);
423 sja1105_packing(buf, &entry->winend, 53, 53, size, op);
424 sja1105_packing(buf, &entry->winst, 52, 52, size, op);
425 sja1105_packing(buf, &entry->destports, 51, 47, size, op);
426 sja1105_packing(buf, &entry->setvalid, 46, 46, size, op);
427 sja1105_packing(buf, &entry->txen, 45, 45, size, op);
428 sja1105_packing(buf, &entry->resmedia_en, 44, 44, size, op);
429 sja1105_packing(buf, &entry->resmedia, 43, 36, size, op);
430 sja1105_packing(buf, &entry->vlindex, 35, 26, size, op);
431 sja1105_packing(buf, &entry->delta, 25, 8, size, op);
432 return size;
433 }
434
435 static size_t
436 sja1105_vl_forwarding_params_entry_packing(void *buf, void *entry_ptr,
437 enum packing_op op)
438 {
439 struct sja1105_vl_forwarding_params_entry *entry = entry_ptr;
440 const size_t size = SJA1105_SIZE_VL_FORWARDING_PARAMS_ENTRY;
441 int offset, i;
442
443 for (i = 0, offset = 16; i < 8; i++, offset += 10)
444 sja1105_packing(buf, &entry->partspc[i],
445 offset + 9, offset + 0, size, op);
446 sja1105_packing(buf, &entry->debugen, 15, 15, size, op);
447 return size;
448 }
449
450 static size_t sja1105_vl_forwarding_entry_packing(void *buf, void *entry_ptr,
451 enum packing_op op)
452 {
453 struct sja1105_vl_forwarding_entry *entry = entry_ptr;
454 const size_t size = SJA1105_SIZE_VL_FORWARDING_ENTRY;
455
456 sja1105_packing(buf, &entry->type, 31, 31, size, op);
457 sja1105_packing(buf, &entry->priority, 30, 28, size, op);
458 sja1105_packing(buf, &entry->partition, 27, 25, size, op);
459 sja1105_packing(buf, &entry->destports, 24, 20, size, op);
460 return size;
461 }
462
> 463 size_t sja1105_vl_lookup_entry_packing(void *buf, void *entry_ptr,
464 enum packing_op op)
465 {
466 struct sja1105_vl_lookup_entry *entry = entry_ptr;
467 const size_t size = SJA1105_SIZE_VL_LOOKUP_ENTRY;
468
469 if (entry->format == SJA1105_VL_FORMAT_PSFP) {
470 /* Interpreting vllupformat as 0 */
471 sja1105_packing(buf, &entry->destports,
472 95, 91, size, op);
473 sja1105_packing(buf, &entry->iscritical,
474 90, 90, size, op);
475 sja1105_packing(buf, &entry->macaddr,
476 89, 42, size, op);
477 sja1105_packing(buf, &entry->vlanid,
478 41, 30, size, op);
479 sja1105_packing(buf, &entry->port,
480 29, 27, size, op);
481 sja1105_packing(buf, &entry->vlanprior,
482 26, 24, size, op);
483 } else {
484 /* Interpreting vllupformat as 1 */
485 sja1105_packing(buf, &entry->egrmirr,
486 95, 91, size, op);
487 sja1105_packing(buf, &entry->ingrmirr,
488 90, 90, size, op);
489 sja1105_packing(buf, &entry->vlid,
490 57, 42, size, op);
491 sja1105_packing(buf, &entry->port,
492 29, 27, size, op);
493 }
494 return size;
495 }
496

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuil...@lists.01.org
.config.gz

kbuild test robot

unread,
May 26, 2020, 3:38:47 PM5/26/20
to Vladimir Oltean, kbuil...@lists.01.org, clang-bu...@googlegroups.com
Hi Vladimir,

FYI, the error/warning still remains.

tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: b0523c7b1c9d0edcd6c0fe6d2cb558a9ad5c60a8
commit: 94f94d4acfb2a5e978f98d924be33c981e2f86c6 [6663/12912] net: dsa: sja1105: add static tables for virtual links
config: x86_64-randconfig-r006-20200526 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 3393cc4cebf9969db94dc424b7a2b6195589c33b)
reproduce (this is a W=1 build):
.config.gz

Vladimir Oltean

unread,
May 26, 2020, 3:40:33 PM5/26/20
to kbuild test robot, kbuil...@lists.01.org, clang-bu...@googlegroups.com
What's wrong with a function that has no previous prototype? What 'fix' would be recommended?


From: kbuild test robot <l...@intel.com>
Sent: Tuesday, May 26, 2020 10:38 PM
To: Vladimir Oltean <vladimi...@nxp.com>
Cc: kbuil...@lists.01.org <kbuil...@lists.01.org>; clang-bu...@googlegroups.com <clang-bu...@googlegroups.com>
Subject: [EXT] [linux-next:master 6663/12912] drivers/net/dsa/sja1105/sja1105_static_config.c:463:8: warning: no previous prototype for function 'sja1105_vl_lookup_entry_packing'
 
Caution: EXT Email


Hi Vladimir,

FYI, the error/warning still remains.


head:   b0523c7b1c9d0edcd6c0fe6d2cb558a9ad5c60a8
commit: 94f94d4acfb2a5e978f98d924be33c981e2f86c6 [6663/12912] net: dsa: sja1105: add static tables for virtual links
config: x86_64-randconfig-r006-20200526 (attached as .config)

reproduce (this is a W=1 build):

Nick Desaulniers

unread,
May 26, 2020, 5:07:40 PM5/26/20
to Vladimir Oltean, kbuild test robot, kbuil...@lists.01.org, clang-bu...@googlegroups.com
On Tue, May 26, 2020 at 12:40 PM Vladimir Oltean
<vladimi...@nxp.com> wrote:
>
> What's wrong with a function that has no previous prototype?

It's possible that functions definitions don't match their
declarations, which would be an ABI mismatch.

> What 'fix' would be recommended?

Including the correct header that declares the function.
> --
> You received this message because you are subscribed to the Google Groups "Clang Built Linux" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to clang-built-li...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/VI1PR04MB5696BCF57BEEB9E874F98443E0B00%40VI1PR04MB5696.eurprd04.prod.outlook.com.



--
Thanks,
~Nick Desaulniers

Vladimir Oltean

unread,
May 26, 2020, 5:48:12 PM5/26/20
to Nick Desaulniers, kbuild test robot, kbuil...@lists.01.org, clang-bu...@googlegroups.com
Hi Nick,

On 5/27/20 12:07 AM, Nick Desaulniers wrote:
> Caution: EXT Email


>
> On Tue, May 26, 2020 at 12:40 PM Vladimir Oltean
> <vladimi...@nxp.com> wrote:
>>
>> What's wrong with a function that has no previous prototype?
>
> It's possible that functions definitions don't match their
> declarations, which would be an ABI mismatch.
>
>> What 'fix' would be recommended?
>
> Including the correct header that declares the function.
>

Thanks for the reply. I have no intention whatsoever in making any
changes to the code structure. There's a big difference between the
possibility of being an ABI mismatch and actually being one.

>
> --
> Thanks,
> ~Nick Desaulniers
>

Regards,
-Vladimir

Nick Desaulniers

unread,
May 26, 2020, 5:50:08 PM5/26/20
to Vladimir Oltean, kbuild test robot, kbuil...@lists.01.org, clang-bu...@googlegroups.com
May all your warnings be free of bugs. Note: this warning was from a
`make W=1` build.
--
Thanks,
~Nick Desaulniers

Vladimir Oltean

unread,
May 26, 2020, 5:54:15 PM5/26/20
to Nick Desaulniers, kbuild test robot, kbuil...@lists.01.org, clang-bu...@googlegroups.com
On 5/27/20 12:50 AM, Nick Desaulniers wrote:
> Caution: EXT Email
>
> On Tue, May 26, 2020 at 2:48 PM Vladimir Oltean <vladimi...@nxp.com> wrote:
>>
>> Hi Nick,
>>
>> On 5/27/20 12:07 AM, Nick Desaulniers wrote:
>>> Caution: EXT Email
>>>
>>> On Tue, May 26, 2020 at 12:40 PM Vladimir Oltean
>>> <vladimi...@nxp.com> wrote:
>>>>
>>>> What's wrong with a function that has no previous prototype?
>>>
>>> It's possible that functions definitions don't match their
>>> declarations, which would be an ABI mismatch.
>>>
>>>> What 'fix' would be recommended?
>>>
>>> Including the correct header that declares the function.
>>>
>>
>> Thanks for the reply. I have no intention whatsoever in making any
>> changes to the code structure. There's a big difference between the
>> possibility of being an ABI mismatch and actually being one.
>
> May all your warnings be free of bugs. Note: this warning was from a
> `make W=1` build.
> --
> Thanks,
> ~Nick Desaulniers
>

That's not the wish I was hoping for, but rather 'may all your warnings
be relevant'.

Cheers,
-Vladimir

Reply all
Reply to author
Forward
0 new messages