Re: [PATCH bpf-next v2 3/4] ice: xsk: improve AF_XDP ZC Tx and use batching API
by kernel test robot
Hi Maciej,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on bpf-next/master]
url: https://github.com/0day-ci/linux/commits/Maciej-Fijalkowski/xsk-Tx-improv...
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
config: arc-allmodconfig (https://download.01.org/0day-ci/archive/20211217/202112171058.ExFmKObL-lk...)
compiler: arceb-elf-gcc (GCC) 11.2.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/64cb650145881d3738a05befb3773e16b...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Maciej-Fijalkowski/xsk-Tx-improvements/20211216-220139
git checkout 64cb650145881d3738a05befb3773e16b1a5de56
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash
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/ethernet/intel/ice/ice_xsk.c:636: warning: expecting prototype for ice_clean_xdp_irq(). Prototype was for ice_clean_xdp_irq_zc() instead
>> drivers/net/ethernet/intel/ice/ice_xsk.c:719: warning: expecting prototype for ice_xmit_pkt(). Prototype was for ice_xmit_pkt_batch() instead
vim +636 drivers/net/ethernet/intel/ice/ice_xsk.c
2d4238f55697221 Krzysztof Kazimierczak 2019-11-04 628
2d4238f55697221 Krzysztof Kazimierczak 2019-11-04 629 /**
64cb650145881d3 Maciej Fijalkowski 2021-12-16 630 * ice_clean_xdp_irq - Reclaim resources after transmit completes on XDP ring
64cb650145881d3 Maciej Fijalkowski 2021-12-16 631 * @xdp_ring: XDP ring to clean
2d4238f55697221 Krzysztof Kazimierczak 2019-11-04 632 *
64cb650145881d3 Maciej Fijalkowski 2021-12-16 633 * Returns count of cleaned descriptors
2d4238f55697221 Krzysztof Kazimierczak 2019-11-04 634 */
64cb650145881d3 Maciej Fijalkowski 2021-12-16 635 static u16 ice_clean_xdp_irq_zc(struct ice_tx_ring *xdp_ring)
2d4238f55697221 Krzysztof Kazimierczak 2019-11-04 @636 {
64cb650145881d3 Maciej Fijalkowski 2021-12-16 637 struct ice_tx_desc *next_dd_desc;
64cb650145881d3 Maciej Fijalkowski 2021-12-16 638 u16 next_dd = xdp_ring->next_dd;
64cb650145881d3 Maciej Fijalkowski 2021-12-16 639 u16 desc_cnt = xdp_ring->count;
2d4238f55697221 Krzysztof Kazimierczak 2019-11-04 640 struct ice_tx_buf *tx_buf;
64cb650145881d3 Maciej Fijalkowski 2021-12-16 641 u16 ntc, cleared_dds = 0;
2d4238f55697221 Krzysztof Kazimierczak 2019-11-04 642 u32 xsk_frames = 0;
64cb650145881d3 Maciej Fijalkowski 2021-12-16 643 u16 i;
2d4238f55697221 Krzysztof Kazimierczak 2019-11-04 644
64cb650145881d3 Maciej Fijalkowski 2021-12-16 645 next_dd_desc = ICE_TX_DESC(xdp_ring, next_dd);
64cb650145881d3 Maciej Fijalkowski 2021-12-16 646 if (!(next_dd_desc->cmd_type_offset_bsz &
2d4238f55697221 Krzysztof Kazimierczak 2019-11-04 647 cpu_to_le64(ICE_TX_DESC_DTYPE_DESC_DONE)))
64cb650145881d3 Maciej Fijalkowski 2021-12-16 648 return 0;
64cb650145881d3 Maciej Fijalkowski 2021-12-16 649
64cb650145881d3 Maciej Fijalkowski 2021-12-16 650 again:
64cb650145881d3 Maciej Fijalkowski 2021-12-16 651 cleared_dds++;
2d4238f55697221 Krzysztof Kazimierczak 2019-11-04 652
64cb650145881d3 Maciej Fijalkowski 2021-12-16 653 ntc = xdp_ring->next_to_clean;
64cb650145881d3 Maciej Fijalkowski 2021-12-16 654
64cb650145881d3 Maciej Fijalkowski 2021-12-16 655 for (i = 0; i < ICE_TX_THRESH; i++) {
64cb650145881d3 Maciej Fijalkowski 2021-12-16 656 tx_buf = &xdp_ring->tx_buf[ntc];
2d4238f55697221 Krzysztof Kazimierczak 2019-11-04 657
2d4238f55697221 Krzysztof Kazimierczak 2019-11-04 658 if (tx_buf->raw_buf) {
2d4238f55697221 Krzysztof Kazimierczak 2019-11-04 659 ice_clean_xdp_tx_buf(xdp_ring, tx_buf);
2d4238f55697221 Krzysztof Kazimierczak 2019-11-04 660 tx_buf->raw_buf = NULL;
2d4238f55697221 Krzysztof Kazimierczak 2019-11-04 661 } else {
2d4238f55697221 Krzysztof Kazimierczak 2019-11-04 662 xsk_frames++;
2d4238f55697221 Krzysztof Kazimierczak 2019-11-04 663 }
2d4238f55697221 Krzysztof Kazimierczak 2019-11-04 664
2d4238f55697221 Krzysztof Kazimierczak 2019-11-04 665 ntc++;
64cb650145881d3 Maciej Fijalkowski 2021-12-16 666 if (ntc >= xdp_ring->count)
64cb650145881d3 Maciej Fijalkowski 2021-12-16 667 ntc = 0;
64cb650145881d3 Maciej Fijalkowski 2021-12-16 668 }
64cb650145881d3 Maciej Fijalkowski 2021-12-16 669
64cb650145881d3 Maciej Fijalkowski 2021-12-16 670 xdp_ring->next_to_clean += ICE_TX_THRESH;
64cb650145881d3 Maciej Fijalkowski 2021-12-16 671 if (xdp_ring->next_to_clean >= desc_cnt)
64cb650145881d3 Maciej Fijalkowski 2021-12-16 672 xdp_ring->next_to_clean -= desc_cnt;
64cb650145881d3 Maciej Fijalkowski 2021-12-16 673 if (xsk_frames)
64cb650145881d3 Maciej Fijalkowski 2021-12-16 674 xsk_tx_completed(xdp_ring->xsk_pool, xsk_frames);
64cb650145881d3 Maciej Fijalkowski 2021-12-16 675 next_dd_desc->cmd_type_offset_bsz = 0;
64cb650145881d3 Maciej Fijalkowski 2021-12-16 676 xdp_ring->next_dd = xdp_ring->next_dd + ICE_TX_THRESH;
64cb650145881d3 Maciej Fijalkowski 2021-12-16 677 if (xdp_ring->next_dd >= desc_cnt)
64cb650145881d3 Maciej Fijalkowski 2021-12-16 678 xdp_ring->next_dd = ICE_TX_THRESH - 1;
64cb650145881d3 Maciej Fijalkowski 2021-12-16 679
64cb650145881d3 Maciej Fijalkowski 2021-12-16 680 next_dd_desc = ICE_TX_DESC(xdp_ring, next_dd);
64cb650145881d3 Maciej Fijalkowski 2021-12-16 681 if ((next_dd_desc->cmd_type_offset_bsz &
64cb650145881d3 Maciej Fijalkowski 2021-12-16 682 cpu_to_le64(ICE_TX_DESC_DTYPE_DESC_DONE)))
64cb650145881d3 Maciej Fijalkowski 2021-12-16 683 goto again;
64cb650145881d3 Maciej Fijalkowski 2021-12-16 684
64cb650145881d3 Maciej Fijalkowski 2021-12-16 685 return cleared_dds * ICE_TX_THRESH;
64cb650145881d3 Maciej Fijalkowski 2021-12-16 686 }
64cb650145881d3 Maciej Fijalkowski 2021-12-16 687
64cb650145881d3 Maciej Fijalkowski 2021-12-16 688 /**
64cb650145881d3 Maciej Fijalkowski 2021-12-16 689 * ice_xmit_pkt - produce a single HW Tx descriptor out of AF_XDP descriptor
64cb650145881d3 Maciej Fijalkowski 2021-12-16 690 * @xdp_ring: XDP ring to produce the HW Tx descriptor on
64cb650145881d3 Maciej Fijalkowski 2021-12-16 691 * @desc: AF_XDP descriptor to pull the DMA address and length from
64cb650145881d3 Maciej Fijalkowski 2021-12-16 692 * @total_bytes: bytes accumulator that will be used for stats update
64cb650145881d3 Maciej Fijalkowski 2021-12-16 693 */
64cb650145881d3 Maciej Fijalkowski 2021-12-16 694 static void ice_xmit_pkt(struct ice_tx_ring *xdp_ring, struct xdp_desc *desc,
64cb650145881d3 Maciej Fijalkowski 2021-12-16 695 unsigned int *total_bytes)
64cb650145881d3 Maciej Fijalkowski 2021-12-16 696 {
64cb650145881d3 Maciej Fijalkowski 2021-12-16 697 struct ice_tx_desc *tx_desc;
64cb650145881d3 Maciej Fijalkowski 2021-12-16 698 dma_addr_t dma;
64cb650145881d3 Maciej Fijalkowski 2021-12-16 699
64cb650145881d3 Maciej Fijalkowski 2021-12-16 700 dma = xsk_buff_raw_get_dma(xdp_ring->xsk_pool, desc->addr);
64cb650145881d3 Maciej Fijalkowski 2021-12-16 701 xsk_buff_raw_dma_sync_for_device(xdp_ring->xsk_pool, dma, desc->len);
2d4238f55697221 Krzysztof Kazimierczak 2019-11-04 702
64cb650145881d3 Maciej Fijalkowski 2021-12-16 703 tx_desc = ICE_TX_DESC(xdp_ring, xdp_ring->next_to_use++);
64cb650145881d3 Maciej Fijalkowski 2021-12-16 704 tx_desc->buf_addr = cpu_to_le64(dma);
64cb650145881d3 Maciej Fijalkowski 2021-12-16 705 tx_desc->cmd_type_offset_bsz = ice_build_ctob(ICE_TX_DESC_CMD_EOP,
64cb650145881d3 Maciej Fijalkowski 2021-12-16 706 0, desc->len, 0);
64cb650145881d3 Maciej Fijalkowski 2021-12-16 707
64cb650145881d3 Maciej Fijalkowski 2021-12-16 708 *total_bytes += desc->len;
2d4238f55697221 Krzysztof Kazimierczak 2019-11-04 709 }
2d4238f55697221 Krzysztof Kazimierczak 2019-11-04 710
64cb650145881d3 Maciej Fijalkowski 2021-12-16 711 /**
64cb650145881d3 Maciej Fijalkowski 2021-12-16 712 * ice_xmit_pkt - produce a batch of HW Tx descriptors out of AF_XDP descriptors
64cb650145881d3 Maciej Fijalkowski 2021-12-16 713 * @xdp_ring: XDP ring to produce the HW Tx descriptors on
64cb650145881d3 Maciej Fijalkowski 2021-12-16 714 * @descs: AF_XDP descriptors to pull the DMA addresses and lengths from
64cb650145881d3 Maciej Fijalkowski 2021-12-16 715 * @total_bytes: bytes accumulator that will be used for stats update
64cb650145881d3 Maciej Fijalkowski 2021-12-16 716 */
64cb650145881d3 Maciej Fijalkowski 2021-12-16 717 static void ice_xmit_pkt_batch(struct ice_tx_ring *xdp_ring, struct xdp_desc *descs,
64cb650145881d3 Maciej Fijalkowski 2021-12-16 718 unsigned int *total_bytes)
64cb650145881d3 Maciej Fijalkowski 2021-12-16 @719 {
64cb650145881d3 Maciej Fijalkowski 2021-12-16 720 u16 ntu = xdp_ring->next_to_use;
64cb650145881d3 Maciej Fijalkowski 2021-12-16 721 struct ice_tx_desc *tx_desc;
64cb650145881d3 Maciej Fijalkowski 2021-12-16 722 dma_addr_t dma;
64cb650145881d3 Maciej Fijalkowski 2021-12-16 723 u32 i;
2d4238f55697221 Krzysztof Kazimierczak 2019-11-04 724
64cb650145881d3 Maciej Fijalkowski 2021-12-16 725 loop_unrolled_for(i = 0; i < PKTS_PER_BATCH; i++) {
64cb650145881d3 Maciej Fijalkowski 2021-12-16 726 dma = xsk_buff_raw_get_dma(xdp_ring->xsk_pool, descs[i].addr);
64cb650145881d3 Maciej Fijalkowski 2021-12-16 727 xsk_buff_raw_dma_sync_for_device(xdp_ring->xsk_pool, dma, descs[i].len);
2d4238f55697221 Krzysztof Kazimierczak 2019-11-04 728
64cb650145881d3 Maciej Fijalkowski 2021-12-16 729 tx_desc = ICE_TX_DESC(xdp_ring, ntu++);
64cb650145881d3 Maciej Fijalkowski 2021-12-16 730 tx_desc->buf_addr = cpu_to_le64(dma);
64cb650145881d3 Maciej Fijalkowski 2021-12-16 731 tx_desc->cmd_type_offset_bsz = ice_build_ctob(ICE_TX_DESC_CMD_EOP,
64cb650145881d3 Maciej Fijalkowski 2021-12-16 732 0, descs[i].len, 0);
2d4238f55697221 Krzysztof Kazimierczak 2019-11-04 733
64cb650145881d3 Maciej Fijalkowski 2021-12-16 734 *total_bytes += descs[i].len;
64cb650145881d3 Maciej Fijalkowski 2021-12-16 735 }
64cb650145881d3 Maciej Fijalkowski 2021-12-16 736
64cb650145881d3 Maciej Fijalkowski 2021-12-16 737 xdp_ring->next_to_use = ntu;
64cb650145881d3 Maciej Fijalkowski 2021-12-16 738
64cb650145881d3 Maciej Fijalkowski 2021-12-16 739 if (xdp_ring->next_to_use > xdp_ring->next_rs) {
64cb650145881d3 Maciej Fijalkowski 2021-12-16 740 tx_desc = ICE_TX_DESC(xdp_ring, xdp_ring->next_rs);
64cb650145881d3 Maciej Fijalkowski 2021-12-16 741 tx_desc->cmd_type_offset_bsz |=
64cb650145881d3 Maciej Fijalkowski 2021-12-16 742 cpu_to_le64(ICE_TX_DESC_CMD_RS << ICE_TXD_QW1_CMD_S);
64cb650145881d3 Maciej Fijalkowski 2021-12-16 743 xdp_ring->next_rs += ICE_TX_THRESH;
64cb650145881d3 Maciej Fijalkowski 2021-12-16 744 }
64cb650145881d3 Maciej Fijalkowski 2021-12-16 745 }
64cb650145881d3 Maciej Fijalkowski 2021-12-16 746
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
Re: [PATCH mptcp-next 17/21] mptcp: netlink: allow userspace-driven subflow establishment
by kernel test robot
Hi Kishen,
I love your patch! Yet something to improve:
[auto build test ERROR on f81a8b95bfe9cae8ff02739e3e263d9310422af7]
url: https://github.com/0day-ci/linux/commits/Kishen-Maloor/mptcp-support-user...
base: f81a8b95bfe9cae8ff02739e3e263d9310422af7
config: sparc-randconfig-r004-20211216 (https://download.01.org/0day-ci/archive/20211217/202112171003.GmuMEIxi-lk...)
compiler: sparc64-linux-gcc (GCC) 11.2.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/ece3dbcf3e16211dda7bdeb0f00b2450e...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Kishen-Maloor/mptcp-support-userspace-path-management/20211217-062636
git checkout ece3dbcf3e16211dda7bdeb0f00b2450e776814d
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=sparc SHELL=/bin/bash net/mptcp/
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 >>):
net/mptcp/pm_netlink.c: In function 'mptcp_nl_find_ssk':
>> net/mptcp/pm_netlink.c:2613:54: error: 'const struct mptcp_addr_info' has no member named 'addr6'; did you mean 'addr'?
2613 | if (!ipv6_addr_equal(&local->addr6, &pinfo->saddr) ||
| ^~~~~
| addr
net/mptcp/pm_netlink.c:2614:55: error: 'const struct mptcp_addr_info' has no member named 'addr6'; did you mean 'addr'?
2614 | !ipv6_addr_equal(&remote->addr6, &ssk->sk_v6_daddr))
| ^~~~~
| addr
vim +2613 net/mptcp/pm_netlink.c
2579
2580 static struct sock *mptcp_nl_find_ssk(struct mptcp_sock *msk,
2581 const struct mptcp_addr_info *local,
2582 const struct mptcp_addr_info *remote)
2583 {
2584 struct sock *sk = &msk->sk.icsk_inet.sk;
2585 struct mptcp_subflow_context *subflow;
2586 struct sock *found = NULL;
2587
2588 if (local->family != remote->family)
2589 return NULL;
2590
2591 lock_sock(sk);
2592
2593 mptcp_for_each_subflow(msk, subflow) {
2594 const struct ipv6_pinfo *pinfo;
2595 const struct inet_sock *issk;
2596 struct sock *ssk;
2597
2598 ssk = mptcp_subflow_tcp_sock(subflow);
2599
2600 if (local->family != ssk->sk_family)
2601 continue;
2602
2603 issk = inet_sk(ssk);
2604
2605 switch (ssk->sk_family) {
2606 case AF_INET:
2607 if (issk->inet_saddr != local->addr.s_addr ||
2608 issk->inet_daddr != remote->addr.s_addr)
2609 continue;
2610 break;
2611 case AF_INET6:
2612 pinfo = inet6_sk(ssk);
> 2613 if (!ipv6_addr_equal(&local->addr6, &pinfo->saddr) ||
2614 !ipv6_addr_equal(&remote->addr6, &ssk->sk_v6_daddr))
2615 continue;
2616 break;
2617 default:
2618 continue;
2619 }
2620
2621 if (issk->inet_sport == local->port &&
2622 issk->inet_dport == remote->port) {
2623 found = ssk;
2624 goto found;
2625 }
2626 }
2627
2628 found:
2629 release_sock(sk);
2630
2631 return found;
2632 }
2633
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
Re: [PATCH 4/5] ASoC: Intel: catpt: Drop SND_SOC_ACPI_INTEL_MATCH dependency
by kernel test robot
Hi Cezary,
I love your patch! Yet something to improve:
[auto build test ERROR on broonie-sound/for-next]
[also build test ERROR on tiwai-sound/for-next linus/master v5.16-rc5 next-20211215]
[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/Cezary-Rojewski/ASoC-Intel-catpt...
base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
config: x86_64-buildonly-randconfig-r003-20211216 (https://download.01.org/0day-ci/archive/20211217/202112171009.7QVDVnji-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/1ad5d0805b19369eabd9476253a94343f...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Cezary-Rojewski/ASoC-Intel-catpt-Dma-transfer-fix-and-couple/20211216-195950
git checkout 1ad5d0805b19369eabd9476253a94343fe09ce75
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash sound/soc/
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 >>):
>> sound/soc/soc-acpi.c:34:1: error: redefinition of 'snd_soc_acpi_find_machine'
34 | snd_soc_acpi_find_machine(struct snd_soc_acpi_mach *machines)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from sound/soc/soc-acpi.c:9:
include/sound/soc-acpi.h:38:1: note: previous definition of 'snd_soc_acpi_find_machine' was here
38 | snd_soc_acpi_find_machine(struct snd_soc_acpi_mach *machines)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/soc-acpi.c: In function 'snd_soc_acpi_find_package':
>> sound/soc/soc-acpi.c:64:6: error: implicit declaration of function 'acpi_bus_get_device'; did you mean 'acpi_get_gpe_device'? [-Werror=implicit-function-declaration]
64 | if (acpi_bus_get_device(handle, &adev))
| ^~~~~~~~~~~~~~~~~~~
| acpi_get_gpe_device
>> sound/soc/soc-acpi.c:67:10: error: dereferencing pointer to incomplete type 'struct acpi_device'
67 | if (adev->status.present && adev->status.functional) {
| ^~
>> sound/soc/soc-acpi.c:83:12: error: implicit declaration of function 'acpi_extract_package' [-Werror=implicit-function-declaration]
83 | status = acpi_extract_package(myobj,
| ^~~~~~~~~~~~~~~~~~~~
sound/soc/soc-acpi.c: At top level:
>> sound/soc/soc-acpi.c:98:6: error: redefinition of 'snd_soc_acpi_find_package_from_hid'
98 | bool snd_soc_acpi_find_package_from_hid(const u8 hid[ACPI_ID_LEN],
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from sound/soc/soc-acpi.c:9:
include/sound/soc-acpi.h:44:1: note: previous definition of 'snd_soc_acpi_find_package_from_hid' was here
44 | snd_soc_acpi_find_package_from_hid(const u8 hid[ACPI_ID_LEN],
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> sound/soc/soc-acpi.c:112:27: error: redefinition of 'snd_soc_acpi_codec_list'
112 | struct snd_soc_acpi_mach *snd_soc_acpi_codec_list(void *arg)
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from sound/soc/soc-acpi.c:9:
include/sound/soc-acpi.h:51:41: note: previous definition of 'snd_soc_acpi_codec_list' was here
51 | static inline struct snd_soc_acpi_mach *snd_soc_acpi_codec_list(void *arg)
| ^~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/snd_soc_acpi_find_machine +34 sound/soc/soc-acpi.c
cafa39b650ec3ba sound/soc/soc-acpi.c Brent Lu 2021-10-30 32
7feb2f786a46d34 sound/soc/soc-acpi.c Pierre-Louis Bossart 2017-10-12 33 struct snd_soc_acpi_mach *
7feb2f786a46d34 sound/soc/soc-acpi.c Pierre-Louis Bossart 2017-10-12 @34 snd_soc_acpi_find_machine(struct snd_soc_acpi_mach *machines)
95f098014815b33 sound/soc/intel/common/sst-match-acpi.c Vinod Koul 2015-11-05 35 {
7feb2f786a46d34 sound/soc/soc-acpi.c Pierre-Louis Bossart 2017-10-12 36 struct snd_soc_acpi_mach *mach;
a3e620f8422832a sound/soc/soc-acpi.c Keyon Jie 2018-11-16 37 struct snd_soc_acpi_mach *mach_alt;
95f098014815b33 sound/soc/intel/common/sst-match-acpi.c Vinod Koul 2015-11-05 38
cafa39b650ec3ba sound/soc/soc-acpi.c Brent Lu 2021-10-30 39 for (mach = machines; mach->id[0] || mach->comp_ids; mach++) {
cafa39b650ec3ba sound/soc/soc-acpi.c Brent Lu 2021-10-30 40 if (snd_soc_acpi_id_present(mach)) {
a3e620f8422832a sound/soc/soc-acpi.c Keyon Jie 2018-11-16 41 if (mach->machine_quirk) {
a3e620f8422832a sound/soc/soc-acpi.c Keyon Jie 2018-11-16 42 mach_alt = mach->machine_quirk(mach);
a3e620f8422832a sound/soc/soc-acpi.c Keyon Jie 2018-11-16 43 if (!mach_alt)
a3e620f8422832a sound/soc/soc-acpi.c Keyon Jie 2018-11-16 44 continue; /* not full match, ignore */
a3e620f8422832a sound/soc/soc-acpi.c Keyon Jie 2018-11-16 45 mach = mach_alt;
a3e620f8422832a sound/soc/soc-acpi.c Keyon Jie 2018-11-16 46 }
a3e620f8422832a sound/soc/soc-acpi.c Keyon Jie 2018-11-16 47
7827d66946ad3af sound/soc/intel/common/sst-match-acpi.c Naveen M 2017-05-15 48 return mach;
7827d66946ad3af sound/soc/intel/common/sst-match-acpi.c Naveen M 2017-05-15 49 }
7827d66946ad3af sound/soc/intel/common/sst-match-acpi.c Naveen M 2017-05-15 50 }
95f098014815b33 sound/soc/intel/common/sst-match-acpi.c Vinod Koul 2015-11-05 51 return NULL;
95f098014815b33 sound/soc/intel/common/sst-match-acpi.c Vinod Koul 2015-11-05 52 }
7feb2f786a46d34 sound/soc/soc-acpi.c Pierre-Louis Bossart 2017-10-12 53 EXPORT_SYMBOL_GPL(snd_soc_acpi_find_machine);
8ceffd229f0ef13 sound/soc/intel/common/sst-match-acpi.c Vinod Koul 2016-02-08 54
7feb2f786a46d34 sound/soc/soc-acpi.c Pierre-Louis Bossart 2017-10-12 55 static acpi_status snd_soc_acpi_find_package(acpi_handle handle, u32 level,
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 56 void *context, void **ret)
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 57 {
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 58 struct acpi_device *adev;
59ce3233a538fc2 sound/soc/soc-acpi.c Pierre-Louis Bossart 2021-04-16 59 acpi_status status;
7feb2f786a46d34 sound/soc/soc-acpi.c Pierre-Louis Bossart 2017-10-12 60 struct snd_soc_acpi_package_context *pkg_ctx = context;
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 61
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 62 pkg_ctx->data_valid = false;
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 63
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 @64 if (acpi_bus_get_device(handle, &adev))
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 65 return AE_OK;
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 66
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 @67 if (adev->status.present && adev->status.functional) {
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 68 struct acpi_buffer buffer = {ACPI_ALLOCATE_BUFFER, NULL};
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 69 union acpi_object *myobj = NULL;
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 70
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 71 status = acpi_evaluate_object_typed(handle, pkg_ctx->name,
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 72 NULL, &buffer,
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 73 ACPI_TYPE_PACKAGE);
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 74 if (ACPI_FAILURE(status))
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 75 return AE_OK;
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 76
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 77 myobj = buffer.pointer;
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 78 if (!myobj || myobj->package.count != pkg_ctx->length) {
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 79 kfree(buffer.pointer);
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 80 return AE_OK;
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 81 }
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 82
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 @83 status = acpi_extract_package(myobj,
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 84 pkg_ctx->format, pkg_ctx->state);
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 85 if (ACPI_FAILURE(status)) {
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 86 kfree(buffer.pointer);
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 87 return AE_OK;
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 88 }
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 89
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 90 kfree(buffer.pointer);
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 91 pkg_ctx->data_valid = true;
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 92 return AE_CTRL_TERMINATE;
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 93 }
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 94
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 95 return AE_OK;
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 96 }
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 97
7feb2f786a46d34 sound/soc/soc-acpi.c Pierre-Louis Bossart 2017-10-12 @98 bool snd_soc_acpi_find_package_from_hid(const u8 hid[ACPI_ID_LEN],
7feb2f786a46d34 sound/soc/soc-acpi.c Pierre-Louis Bossart 2017-10-12 99 struct snd_soc_acpi_package_context *ctx)
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 100 {
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 101 acpi_status status;
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 102
7feb2f786a46d34 sound/soc/soc-acpi.c Pierre-Louis Bossart 2017-10-12 103 status = acpi_get_devices(hid, snd_soc_acpi_find_package, ctx, NULL);
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 104
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 105 if (ACPI_FAILURE(status) || !ctx->data_valid)
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 106 return false;
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 107
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 108 return true;
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 109 }
7feb2f786a46d34 sound/soc/soc-acpi.c Pierre-Louis Bossart 2017-10-12 110 EXPORT_SYMBOL_GPL(snd_soc_acpi_find_package_from_hid);
3421894765a345c sound/soc/intel/common/sst-match-acpi.c Pierre-Louis Bossart 2016-11-12 111
7feb2f786a46d34 sound/soc/soc-acpi.c Pierre-Louis Bossart 2017-10-12 @112 struct snd_soc_acpi_mach *snd_soc_acpi_codec_list(void *arg)
54746dabf770eb2 sound/soc/intel/common/sst-match-acpi.c Naveen M 2017-05-15 113 {
7feb2f786a46d34 sound/soc/soc-acpi.c Pierre-Louis Bossart 2017-10-12 114 struct snd_soc_acpi_mach *mach = arg;
7feb2f786a46d34 sound/soc/soc-acpi.c Pierre-Louis Bossart 2017-10-12 115 struct snd_soc_acpi_codecs *codec_list =
7feb2f786a46d34 sound/soc/soc-acpi.c Pierre-Louis Bossart 2017-10-12 116 (struct snd_soc_acpi_codecs *) mach->quirk_data;
54746dabf770eb2 sound/soc/intel/common/sst-match-acpi.c Naveen M 2017-05-15 117 int i;
54746dabf770eb2 sound/soc/intel/common/sst-match-acpi.c Naveen M 2017-05-15 118
54746dabf770eb2 sound/soc/intel/common/sst-match-acpi.c Naveen M 2017-05-15 119 if (mach->quirk_data == NULL)
54746dabf770eb2 sound/soc/intel/common/sst-match-acpi.c Naveen M 2017-05-15 120 return mach;
54746dabf770eb2 sound/soc/intel/common/sst-match-acpi.c Naveen M 2017-05-15 121
54746dabf770eb2 sound/soc/intel/common/sst-match-acpi.c Naveen M 2017-05-15 122 for (i = 0; i < codec_list->num_codecs; i++) {
0d5ea120abc020f sound/soc/soc-acpi.c Jeremy Cline 2018-01-05 123 if (!acpi_dev_present(codec_list->codecs[i], NULL, -1))
54746dabf770eb2 sound/soc/intel/common/sst-match-acpi.c Naveen M 2017-05-15 124 return NULL;
54746dabf770eb2 sound/soc/intel/common/sst-match-acpi.c Naveen M 2017-05-15 125 }
54746dabf770eb2 sound/soc/intel/common/sst-match-acpi.c Naveen M 2017-05-15 126
54746dabf770eb2 sound/soc/intel/common/sst-match-acpi.c Naveen M 2017-05-15 127 return mach;
54746dabf770eb2 sound/soc/intel/common/sst-match-acpi.c Naveen M 2017-05-15 128 }
7feb2f786a46d34 sound/soc/soc-acpi.c Pierre-Louis Bossart 2017-10-12 129 EXPORT_SYMBOL_GPL(snd_soc_acpi_codec_list);
54746dabf770eb2 sound/soc/intel/common/sst-match-acpi.c Naveen M 2017-05-15 130
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
[t-kristo-pm:usi-5.16-v5-bpf 16/19] drivers/hid/hid-bpf.c:696:36: sparse: sparse: incorrect type in argument 1 (different address spaces)
by kernel test robot
tree: https://github.com/t-kristo/linux-pm usi-5.16-v5-bpf
head: 82a2c7cbd9682f2664179cd7e01647e46272c316
commit: 8ffc42bfd37f05ffa2c284b71a6c3bb5021fac8f [16/19] HID: bpf: add support for new workqueue triggering BPF call
config: arm64-randconfig-s031-20211216 (https://download.01.org/0day-ci/archive/20211217/202112171058.s47VBRgI-lk...)
compiler: aarch64-linux-gcc (GCC) 11.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://github.com/t-kristo/linux-pm/commit/8ffc42bfd37f05ffa2c284b71a6c3...
git remote add t-kristo-pm https://github.com/t-kristo/linux-pm
git fetch --no-tags t-kristo-pm usi-5.16-v5-bpf
git checkout 8ffc42bfd37f05ffa2c284b71a6c3bb5021fac8f
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/hid/ drivers/pinctrl/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
drivers/hid/hid-bpf.c:38:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/hid/hid-bpf.c:38:21: sparse: struct bpf_prog_array [noderef] __rcu *
drivers/hid/hid-bpf.c:38:21: sparse: struct bpf_prog_array *
drivers/hid/hid-bpf.c:48:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/hid/hid-bpf.c:48:9: sparse: struct bpf_prog_array [noderef] __rcu *
drivers/hid/hid-bpf.c:48:9: sparse: struct bpf_prog_array *
drivers/hid/hid-bpf.c:68:20: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/hid/hid-bpf.c:68:20: sparse: struct bpf_prog [noderef] __rcu *
drivers/hid/hid-bpf.c:68:20: sparse: struct bpf_prog *
drivers/hid/hid-bpf.c:68:20: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/hid/hid-bpf.c:68:20: sparse: struct bpf_prog [noderef] __rcu *
drivers/hid/hid-bpf.c:68:20: sparse: struct bpf_prog *
drivers/hid/hid-bpf.c:83:59: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct bpf_prog_array **array @@ got struct bpf_prog_array [noderef] __rcu ** @@
drivers/hid/hid-bpf.c:83:59: sparse: expected struct bpf_prog_array **array
drivers/hid/hid-bpf.c:83:59: sparse: got struct bpf_prog_array [noderef] __rcu **
drivers/hid/hid-bpf.c:85:59: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct bpf_prog_array **array @@ got struct bpf_prog_array [noderef] __rcu ** @@
drivers/hid/hid-bpf.c:85:59: sparse: expected struct bpf_prog_array **array
drivers/hid/hid-bpf.c:85:59: sparse: got struct bpf_prog_array [noderef] __rcu **
drivers/hid/hid-bpf.c:87:52: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct bpf_prog **target @@ got struct bpf_prog [noderef] __rcu ** @@
drivers/hid/hid-bpf.c:87:52: sparse: expected struct bpf_prog **target
drivers/hid/hid-bpf.c:87:52: sparse: got struct bpf_prog [noderef] __rcu **
drivers/hid/hid-bpf.c:93:53: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct bpf_prog **target @@ got struct bpf_prog [noderef] __rcu ** @@
drivers/hid/hid-bpf.c:93:53: sparse: expected struct bpf_prog **target
drivers/hid/hid-bpf.c:93:53: sparse: got struct bpf_prog [noderef] __rcu **
drivers/hid/hid-bpf.c:111:21: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/hid/hid-bpf.c:111:21: sparse: struct bpf_prog_array [noderef] __rcu *
drivers/hid/hid-bpf.c:111:21: sparse: struct bpf_prog_array *
drivers/hid/hid-bpf.c:121:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/hid/hid-bpf.c:121:9: sparse: struct bpf_prog_array [noderef] __rcu *
drivers/hid/hid-bpf.c:121:9: sparse: struct bpf_prog_array *
drivers/hid/hid-bpf.c:140:20: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/hid/hid-bpf.c:140:20: sparse: struct bpf_prog [noderef] __rcu *
drivers/hid/hid-bpf.c:140:20: sparse: struct bpf_prog *
drivers/hid/hid-bpf.c:140:20: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/hid/hid-bpf.c:140:20: sparse: struct bpf_prog [noderef] __rcu *
drivers/hid/hid-bpf.c:140:20: sparse: struct bpf_prog *
drivers/hid/hid-bpf.c:156:59: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct bpf_prog_array **array @@ got struct bpf_prog_array [noderef] __rcu ** @@
drivers/hid/hid-bpf.c:156:59: sparse: expected struct bpf_prog_array **array
drivers/hid/hid-bpf.c:156:59: sparse: got struct bpf_prog_array [noderef] __rcu **
drivers/hid/hid-bpf.c:158:59: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct bpf_prog_array **array @@ got struct bpf_prog_array [noderef] __rcu ** @@
drivers/hid/hid-bpf.c:158:59: sparse: expected struct bpf_prog_array **array
drivers/hid/hid-bpf.c:158:59: sparse: got struct bpf_prog_array [noderef] __rcu **
drivers/hid/hid-bpf.c:160:26: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/hid/hid-bpf.c:160:26: sparse: struct bpf_prog *
drivers/hid/hid-bpf.c:160:26: sparse: struct bpf_prog [noderef] __rcu *
drivers/hid/hid-bpf.c:169:26: sparse: sparse: incompatible types in comparison expression (different address spaces):
drivers/hid/hid-bpf.c:169:26: sparse: struct bpf_prog *
drivers/hid/hid-bpf.c:169:26: sparse: struct bpf_prog [noderef] __rcu *
drivers/hid/hid-bpf.c:228:27: sparse: sparse: symbol 'hid_prog_ops' was not declared. Should it be static?
drivers/hid/hid-bpf.c:243:23: sparse: sparse: symbol 'hid_bpf_add_report' was not declared. Should it be static?
drivers/hid/hid-bpf.c:271:6: sparse: sparse: symbol 'hid_bpf_free_reports' was not declared. Should it be static?
drivers/hid/hid-bpf.c:649:31: sparse: sparse: symbol 'hid_verifier_ops' was not declared. Should it be static?
>> drivers/hid/hid-bpf.c:696:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct bpf_prog const *prog @@ got struct bpf_prog [noderef] __rcu *work_prog @@
drivers/hid/hid-bpf.c:857:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct bpf_prog const *prog @@ got struct bpf_prog [noderef] __rcu *rdesc_fixup_prog @@
drivers/hid/hid-bpf.c:909:39: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct bpf_prog *prog @@ got struct bpf_prog [noderef] __rcu *rdesc_fixup_prog @@
vim +696 drivers/hid/hid-bpf.c
688
689 static void hid_bpf_work(struct work_struct *work)
690 {
691 struct hid_bpf_ctx *ctx =
692 container_of(work, struct hid_bpf_ctx, work.work);
693
694 migrate_disable();
695
> 696 bpf_prog_run(ctx->hdev->bpf.work_prog, ctx);
697
698 migrate_enable();
699 }
700
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
Re: [PATCH 2/5] media: adv748x: Add support for v4l2_subdev_state
by kernel test robot
Hi Jacopo,
I love your patch! Yet something to improve:
[auto build test ERROR on media-tree/master]
[also build test ERROR on v5.16-rc5 next-20211215]
[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/Jacopo-Mondi/media-adv748x-Add-C...
base: git://linuxtv.org/media_tree.git master
config: arc-randconfig-r043-20211216 (https://download.01.org/0day-ci/archive/20211217/202112171052.3JgXYSA4-lk...)
compiler: arc-elf-gcc (GCC) 11.2.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/beac1be47b64ce291e1647699be3f26d8...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Jacopo-Mondi/media-adv748x-Add-CSI-2-VC-support/20211217-010519
git checkout beac1be47b64ce291e1647699be3f26d88028b3b
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash
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 >>):
drivers/media/i2c/adv748x/adv748x-csi2.c: In function 'adv748x_csi2_init_cfg':
>> drivers/media/i2c/adv748x/adv748x-csi2.c:146:34: error: array type has incomplete element type 'struct v4l2_subdev_route'
146 | struct v4l2_subdev_route routes[ADV748X_CSI2_STREAMS] = {
| ^~~~~~
>> drivers/media/i2c/adv748x/adv748x-csi2.c:152:34: error: 'V4L2_SUBDEV_ROUTE_FL_ACTIVE' undeclared (first use in this function); did you mean 'V4L2_SUBDEV_FORMAT_ACTIVE'?
152 | .flags = V4L2_SUBDEV_ROUTE_FL_ACTIVE,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
| V4L2_SUBDEV_FORMAT_ACTIVE
drivers/media/i2c/adv748x/adv748x-csi2.c:152:34: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/media/i2c/adv748x/adv748x-csi2.c:173:37: error: storage size of 'routing' isn't known
173 | struct v4l2_subdev_krouting routing;
| ^~~~~~~
>> drivers/media/i2c/adv748x/adv748x-csi2.c:179:9: error: implicit declaration of function 'v4l2_subdev_lock_state'; did you mean 'v4l2_subdev_alloc_state'? [-Werror=implicit-function-declaration]
179 | v4l2_subdev_lock_state(state);
| ^~~~~~~~~~~~~~~~~~~~~~
| v4l2_subdev_alloc_state
>> drivers/media/i2c/adv748x/adv748x-csi2.c:180:15: error: implicit declaration of function 'v4l2_subdev_set_routing'; did you mean 'v4l2_subdev_notify'? [-Werror=implicit-function-declaration]
180 | ret = v4l2_subdev_set_routing(sd, state, &routing);
| ^~~~~~~~~~~~~~~~~~~~~~~
| v4l2_subdev_notify
>> drivers/media/i2c/adv748x/adv748x-csi2.c:181:9: error: implicit declaration of function 'v4l2_subdev_unlock_state'; did you mean 'v4l2_subdev_alloc_state'? [-Werror=implicit-function-declaration]
181 | v4l2_subdev_unlock_state(state);
| ^~~~~~~~~~~~~~~~~~~~~~~~
| v4l2_subdev_alloc_state
drivers/media/i2c/adv748x/adv748x-csi2.c:173:37: warning: unused variable 'routing' [-Wunused-variable]
173 | struct v4l2_subdev_krouting routing;
| ^~~~~~~
drivers/media/i2c/adv748x/adv748x-csi2.c:146:34: warning: unused variable 'routes' [-Wunused-variable]
146 | struct v4l2_subdev_route routes[ADV748X_CSI2_STREAMS] = {
| ^~~~~~
drivers/media/i2c/adv748x/adv748x-csi2.c: In function 'adv748x_csi2_init':
>> drivers/media/i2c/adv748x/adv748x-csi2.c:362:29: error: 'V4L2_SUBDEV_FL_MULTIPLEXED' undeclared (first use in this function)
362 | V4L2_SUBDEV_FL_MULTIPLEXED,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/media/i2c/adv748x/adv748x-csi2.c:379:15: error: implicit declaration of function 'v4l2_subdev_init_finalize'; did you mean 'v4l2_subdev_init'? [-Werror=implicit-function-declaration]
379 | ret = v4l2_subdev_init_finalize(&tx->sd);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| v4l2_subdev_init
>> drivers/media/i2c/adv748x/adv748x-csi2.c:396:9: error: implicit declaration of function 'v4l2_subdev_cleanup'; did you mean 'v4l2_subdev_call'? [-Werror=implicit-function-declaration]
396 | v4l2_subdev_cleanup(&tx->sd);
| ^~~~~~~~~~~~~~~~~~~
| v4l2_subdev_call
cc1: some warnings being treated as errors
vim +146 drivers/media/i2c/adv748x/adv748x-csi2.c
134
135 /* -----------------------------------------------------------------------------
136 * v4l2_subdev_pad_ops
137 *
138 * The CSI2 bus pads are ignorant to the data sizes or formats.
139 * But we must support setting the pad formats for format propagation.
140 */
141
142 static int adv748x_csi2_init_cfg(struct v4l2_subdev *sd,
143 struct v4l2_subdev_state *state)
144 {
145 /* One route for each virtual channel. Route 0 enabled by default. */
> 146 struct v4l2_subdev_route routes[ADV748X_CSI2_STREAMS] = {
147 {
148 .sink_pad = ADV748X_CSI2_SINK,
149 .sink_stream = 0,
150 .source_pad = ADV748X_CSI2_SOURCE,
151 .source_stream = 0,
> 152 .flags = V4L2_SUBDEV_ROUTE_FL_ACTIVE,
153 },
154 {
155 .sink_pad = ADV748X_CSI2_SINK,
156 .sink_stream = 0,
157 .source_pad = ADV748X_CSI2_SOURCE,
158 .source_stream = 1,
159 },
160 {
161 .sink_pad = ADV748X_CSI2_SINK,
162 .sink_stream = 0,
163 .source_pad = ADV748X_CSI2_SOURCE,
164 .source_stream = 2,
165 },
166 {
167 .sink_pad = ADV748X_CSI2_SINK,
168 .sink_stream = 0,
169 .source_pad = ADV748X_CSI2_SOURCE,
170 .source_stream = 3,
171 },
172 };
> 173 struct v4l2_subdev_krouting routing;
174 int ret;
175
176 routing.num_routes = ADV748X_CSI2_STREAMS;
177 routing.routes = routes;
178
> 179 v4l2_subdev_lock_state(state);
> 180 ret = v4l2_subdev_set_routing(sd, state, &routing);
> 181 v4l2_subdev_unlock_state(state);
182
183 return ret;
184 }
185
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
Re: [PATCH net-next 04/13] net: dsa: realtek: convert subdrivers into modules
by kernel test robot
Hi,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on net-next/master]
url: https://github.com/0day-ci/linux/commits/luizluca-gmail-com/net-dsa-realt...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 0f473bb6ed2d0b8533a079ee133f625f83de5315
config: arc-allyesconfig (https://download.01.org/0day-ci/archive/20211217/202112171017.KRgToQQ1-lk...)
compiler: arceb-elf-gcc (GCC) 11.2.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/4bbfd185490b3b2fcc4e90a63d3137a81...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review luizluca-gmail-com/net-dsa-realtek-MDIO-interface-and-RTL8367S/20211217-041735
git checkout 4bbfd185490b3b2fcc4e90a63d3137a812f03057
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash drivers/net/dsa/realtek/
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/dsa/realtek/realtek-smi.c:295:5: warning: no previous prototype for 'realtek_smi_write_reg_noack' [-Wmissing-prototypes]
295 | int realtek_smi_write_reg_noack(struct realtek_priv *priv, u32 addr,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/dsa/realtek/realtek-smi.c:344:5: warning: no previous prototype for 'realtek_smi_setup_mdio' [-Wmissing-prototypes]
344 | int realtek_smi_setup_mdio(struct dsa_switch *ds)
| ^~~~~~~~~~~~~~~~~~~~~~
vim +/realtek_smi_write_reg_noack +295 drivers/net/dsa/realtek/realtek-smi.c
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 290
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 291 /* There is one single case when we need to use this accessor and that
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 292 * is when issueing soft reset. Since the device reset as soon as we write
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 293 * that bit, no ACK will come back for natural reasons.
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 294 */
4b42215ee71c0f drivers/net/dsa/realtek/realtek-smi-core.c Luiz Angelo Daros de Luca 2021-12-16 @295 int realtek_smi_write_reg_noack(struct realtek_priv *priv, u32 addr,
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 296 u32 data)
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 297 {
4b42215ee71c0f drivers/net/dsa/realtek/realtek-smi-core.c Luiz Angelo Daros de Luca 2021-12-16 298 return realtek_smi_write_reg(priv, addr, data, false);
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 299 }
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 300
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 301 /* Regmap accessors */
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 302
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 303 static int realtek_smi_write(void *ctx, u32 reg, u32 val)
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 304 {
4b42215ee71c0f drivers/net/dsa/realtek/realtek-smi-core.c Luiz Angelo Daros de Luca 2021-12-16 305 struct realtek_priv *priv = ctx;
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 306
4b42215ee71c0f drivers/net/dsa/realtek/realtek-smi-core.c Luiz Angelo Daros de Luca 2021-12-16 307 return realtek_smi_write_reg(priv, reg, val, true);
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 308 }
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 309
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 310 static int realtek_smi_read(void *ctx, u32 reg, u32 *val)
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 311 {
4b42215ee71c0f drivers/net/dsa/realtek/realtek-smi-core.c Luiz Angelo Daros de Luca 2021-12-16 312 struct realtek_priv *priv = ctx;
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 313
4b42215ee71c0f drivers/net/dsa/realtek/realtek-smi-core.c Luiz Angelo Daros de Luca 2021-12-16 314 return realtek_smi_read_reg(priv, reg, val);
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 315 }
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 316
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 317 static const struct regmap_config realtek_smi_mdio_regmap_config = {
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 318 .reg_bits = 10, /* A4..A0 R4..R0 */
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 319 .val_bits = 16,
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 320 .reg_stride = 1,
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 321 /* PHY regs are at 0x8000 */
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 322 .max_register = 0xffff,
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 323 .reg_format_endian = REGMAP_ENDIAN_BIG,
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 324 .reg_read = realtek_smi_read,
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 325 .reg_write = realtek_smi_write,
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 326 .cache_type = REGCACHE_NONE,
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 327 };
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 328
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 329 static int realtek_smi_mdio_read(struct mii_bus *bus, int addr, int regnum)
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 330 {
4b42215ee71c0f drivers/net/dsa/realtek/realtek-smi-core.c Luiz Angelo Daros de Luca 2021-12-16 331 struct realtek_priv *priv = bus->priv;
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 332
4b42215ee71c0f drivers/net/dsa/realtek/realtek-smi-core.c Luiz Angelo Daros de Luca 2021-12-16 333 return priv->ops->phy_read(priv, addr, regnum);
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 334 }
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 335
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 336 static int realtek_smi_mdio_write(struct mii_bus *bus, int addr, int regnum,
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 337 u16 val)
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 338 {
4b42215ee71c0f drivers/net/dsa/realtek/realtek-smi-core.c Luiz Angelo Daros de Luca 2021-12-16 339 struct realtek_priv *priv = bus->priv;
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 340
4b42215ee71c0f drivers/net/dsa/realtek/realtek-smi-core.c Luiz Angelo Daros de Luca 2021-12-16 341 return priv->ops->phy_write(priv, addr, regnum, val);
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 342 }
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 343
4bbfd185490b3b drivers/net/dsa/realtek/realtek-smi.c Luiz Angelo Daros de Luca 2021-12-16 @344 int realtek_smi_setup_mdio(struct dsa_switch *ds)
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 345 {
4bbfd185490b3b drivers/net/dsa/realtek/realtek-smi.c Luiz Angelo Daros de Luca 2021-12-16 346 struct realtek_priv *priv = (struct realtek_priv *)ds->priv;
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 347 struct device_node *mdio_np;
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 348 int ret;
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 349
4b42215ee71c0f drivers/net/dsa/realtek/realtek-smi-core.c Luiz Angelo Daros de Luca 2021-12-16 350 mdio_np = of_get_compatible_child(priv->dev->of_node, "realtek,smi-mdio");
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 351 if (!mdio_np) {
4b42215ee71c0f drivers/net/dsa/realtek/realtek-smi-core.c Luiz Angelo Daros de Luca 2021-12-16 352 dev_err(priv->dev, "no MDIO bus node\n");
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 353 return -ENODEV;
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 354 }
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 355
4b42215ee71c0f drivers/net/dsa/realtek/realtek-smi-core.c Luiz Angelo Daros de Luca 2021-12-16 356 priv->slave_mii_bus = devm_mdiobus_alloc(priv->dev);
4b42215ee71c0f drivers/net/dsa/realtek/realtek-smi-core.c Luiz Angelo Daros de Luca 2021-12-16 357 if (!priv->slave_mii_bus) {
3f1bb6abdf19cf drivers/net/dsa/realtek-smi.c Johan Hovold 2019-01-16 358 ret = -ENOMEM;
3f1bb6abdf19cf drivers/net/dsa/realtek-smi.c Johan Hovold 2019-01-16 359 goto err_put_node;
3f1bb6abdf19cf drivers/net/dsa/realtek-smi.c Johan Hovold 2019-01-16 360 }
4b42215ee71c0f drivers/net/dsa/realtek/realtek-smi-core.c Luiz Angelo Daros de Luca 2021-12-16 361 priv->slave_mii_bus->priv = priv;
4b42215ee71c0f drivers/net/dsa/realtek/realtek-smi-core.c Luiz Angelo Daros de Luca 2021-12-16 362 priv->slave_mii_bus->name = "SMI slave MII";
4b42215ee71c0f drivers/net/dsa/realtek/realtek-smi-core.c Luiz Angelo Daros de Luca 2021-12-16 363 priv->slave_mii_bus->read = realtek_smi_mdio_read;
4b42215ee71c0f drivers/net/dsa/realtek/realtek-smi-core.c Luiz Angelo Daros de Luca 2021-12-16 364 priv->slave_mii_bus->write = realtek_smi_mdio_write;
4b42215ee71c0f drivers/net/dsa/realtek/realtek-smi-core.c Luiz Angelo Daros de Luca 2021-12-16 365 snprintf(priv->slave_mii_bus->id, MII_BUS_ID_SIZE, "SMI-%d",
4bbfd185490b3b drivers/net/dsa/realtek/realtek-smi.c Luiz Angelo Daros de Luca 2021-12-16 366 ds->index);
4b42215ee71c0f drivers/net/dsa/realtek/realtek-smi-core.c Luiz Angelo Daros de Luca 2021-12-16 367 priv->slave_mii_bus->dev.of_node = mdio_np;
4b42215ee71c0f drivers/net/dsa/realtek/realtek-smi-core.c Luiz Angelo Daros de Luca 2021-12-16 368 priv->slave_mii_bus->parent = priv->dev;
4bbfd185490b3b drivers/net/dsa/realtek/realtek-smi.c Luiz Angelo Daros de Luca 2021-12-16 369 ds->slave_mii_bus = priv->slave_mii_bus;
4b42215ee71c0f drivers/net/dsa/realtek/realtek-smi-core.c Luiz Angelo Daros de Luca 2021-12-16 370
4b42215ee71c0f drivers/net/dsa/realtek/realtek-smi-core.c Luiz Angelo Daros de Luca 2021-12-16 371 ret = devm_of_mdiobus_register(priv->dev, priv->slave_mii_bus, mdio_np);
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 372 if (ret) {
4b42215ee71c0f drivers/net/dsa/realtek/realtek-smi-core.c Luiz Angelo Daros de Luca 2021-12-16 373 dev_err(priv->dev, "unable to register MDIO bus %s\n",
4b42215ee71c0f drivers/net/dsa/realtek/realtek-smi-core.c Luiz Angelo Daros de Luca 2021-12-16 374 priv->slave_mii_bus->id);
3f1bb6abdf19cf drivers/net/dsa/realtek-smi.c Johan Hovold 2019-01-16 375 goto err_put_node;
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 376 }
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 377
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 378 return 0;
3f1bb6abdf19cf drivers/net/dsa/realtek-smi.c Johan Hovold 2019-01-16 379
3f1bb6abdf19cf drivers/net/dsa/realtek-smi.c Johan Hovold 2019-01-16 380 err_put_node:
3f1bb6abdf19cf drivers/net/dsa/realtek-smi.c Johan Hovold 2019-01-16 381 of_node_put(mdio_np);
3f1bb6abdf19cf drivers/net/dsa/realtek-smi.c Johan Hovold 2019-01-16 382
3f1bb6abdf19cf drivers/net/dsa/realtek-smi.c Johan Hovold 2019-01-16 383 return ret;
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 384 }
d8652956cf37c5 drivers/net/dsa/realtek-smi.c Linus Walleij 2018-07-14 385
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
[intel-tdx:kvm-upstream 107/152] arch/x86/kvm/vmx/tdx_stubs.c:13:12: warning: no previous prototype for function 'tdx_vcpu_run'
by kernel test robot
tree: https://github.com/intel/tdx.git kvm-upstream
head: bdfe06c17daab60c196ff80c1d98467a1d3734fa
commit: 4dce28ae6facd2c06b513bc1e6fa48e397438a3a [107/152] KVM: TDX: Implement TDX vcpu enter/exit path
config: x86_64-randconfig-a013-20211216 (https://download.01.org/0day-ci/archive/20211217/202112171042.JZamNPE0-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project dd245bab9fbb364faa1581e4f92ba3119a872fba)
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/intel/tdx/commit/4dce28ae6facd2c06b513bc1e6fa48e397438a3a
git remote add intel-tdx https://github.com/intel/tdx.git
git fetch --no-tags intel-tdx kvm-upstream
git checkout 4dce28ae6facd2c06b513bc1e6fa48e397438a3a
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash arch/x86/kvm/
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 >>):
arch/x86/kvm/vmx/tdx_stubs.c:4:13: warning: no previous prototype for function 'tdx_pre_kvm_init' [-Wmissing-prototypes]
void __init tdx_pre_kvm_init(unsigned int *vcpu_size,
^
arch/x86/kvm/vmx/tdx_stubs.c:4:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __init tdx_pre_kvm_init(unsigned int *vcpu_size,
^
static
arch/x86/kvm/vmx/tdx_stubs.c:6:12: warning: no previous prototype for function 'tdx_hardware_setup' [-Wmissing-prototypes]
int __init tdx_hardware_setup(struct kvm_x86_ops *x86_ops) { return -EOPNOTSUPP; }
^
arch/x86/kvm/vmx/tdx_stubs.c:6:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __init tdx_hardware_setup(struct kvm_x86_ops *x86_ops) { return -EOPNOTSUPP; }
^
static
arch/x86/kvm/vmx/tdx_stubs.c:7:6: warning: no previous prototype for function 'tdx_hardware_enable' [-Wmissing-prototypes]
void tdx_hardware_enable(void) {}
^
arch/x86/kvm/vmx/tdx_stubs.c:7:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void tdx_hardware_enable(void) {}
^
static
arch/x86/kvm/vmx/tdx_stubs.c:8:6: warning: no previous prototype for function 'tdx_hardware_disable' [-Wmissing-prototypes]
void tdx_hardware_disable(void) {}
^
arch/x86/kvm/vmx/tdx_stubs.c:8:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void tdx_hardware_disable(void) {}
^
static
arch/x86/kvm/vmx/tdx_stubs.c:10:5: warning: no previous prototype for function 'tdx_vcpu_create' [-Wmissing-prototypes]
int tdx_vcpu_create(struct kvm_vcpu *vcpu) { return -EOPNOTSUPP; }
^
arch/x86/kvm/vmx/tdx_stubs.c:10:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int tdx_vcpu_create(struct kvm_vcpu *vcpu) { return -EOPNOTSUPP; }
^
static
arch/x86/kvm/vmx/tdx_stubs.c:11:6: warning: no previous prototype for function 'tdx_vcpu_free' [-Wmissing-prototypes]
void tdx_vcpu_free(struct kvm_vcpu *vcpu) {}
^
arch/x86/kvm/vmx/tdx_stubs.c:11:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void tdx_vcpu_free(struct kvm_vcpu *vcpu) {}
^
static
arch/x86/kvm/vmx/tdx_stubs.c:12:6: warning: no previous prototype for function 'tdx_vcpu_reset' [-Wmissing-prototypes]
void tdx_vcpu_reset(struct kvm_vcpu *vcpu, bool init_event) {}
^
arch/x86/kvm/vmx/tdx_stubs.c:12:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void tdx_vcpu_reset(struct kvm_vcpu *vcpu, bool init_event) {}
^
static
>> arch/x86/kvm/vmx/tdx_stubs.c:13:12: warning: no previous prototype for function 'tdx_vcpu_run' [-Wmissing-prototypes]
fastpath_t tdx_vcpu_run(struct kvm_vcpu *vcpu) { return EXIT_FASTPATH_NONE; }
^
arch/x86/kvm/vmx/tdx_stubs.c:13:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
fastpath_t tdx_vcpu_run(struct kvm_vcpu *vcpu) { return EXIT_FASTPATH_NONE; }
^
static
>> arch/x86/kvm/vmx/tdx_stubs.c:14:6: warning: no previous prototype for function 'tdx_vcpu_load' [-Wmissing-prototypes]
void tdx_vcpu_load(struct kvm_vcpu *vcpu, int cpu) {}
^
arch/x86/kvm/vmx/tdx_stubs.c:14:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void tdx_vcpu_load(struct kvm_vcpu *vcpu, int cpu) {}
^
static
>> arch/x86/kvm/vmx/tdx_stubs.c:15:6: warning: no previous prototype for function 'tdx_vcpu_put' [-Wmissing-prototypes]
void tdx_vcpu_put(struct kvm_vcpu *vcpu) {}
^
arch/x86/kvm/vmx/tdx_stubs.c:15:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void tdx_vcpu_put(struct kvm_vcpu *vcpu) {}
^
static
>> arch/x86/kvm/vmx/tdx_stubs.c:16:6: warning: no previous prototype for function 'tdx_prepare_switch_to_guest' [-Wmissing-prototypes]
void tdx_prepare_switch_to_guest(struct kvm_vcpu *vcpu) {}
^
arch/x86/kvm/vmx/tdx_stubs.c:16:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void tdx_prepare_switch_to_guest(struct kvm_vcpu *vcpu) {}
^
static
arch/x86/kvm/vmx/tdx_stubs.c:18:5: warning: no previous prototype for function 'tdx_dev_ioctl' [-Wmissing-prototypes]
int tdx_dev_ioctl(void __user *argp) { return -EOPNOTSUPP; }
^
arch/x86/kvm/vmx/tdx_stubs.c:18:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int tdx_dev_ioctl(void __user *argp) { return -EOPNOTSUPP; }
^
static
arch/x86/kvm/vmx/tdx_stubs.c:19:5: warning: no previous prototype for function 'tdx_vm_ioctl' [-Wmissing-prototypes]
int tdx_vm_ioctl(struct kvm *kvm, void __user *argp) { return -EOPNOTSUPP; }
^
arch/x86/kvm/vmx/tdx_stubs.c:19:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int tdx_vm_ioctl(struct kvm *kvm, void __user *argp) { return -EOPNOTSUPP; }
^
static
arch/x86/kvm/vmx/tdx_stubs.c:20:72: error: use of undeclared identifier 'ENOPNOTSUPP'
int tdx_vcpu_ioctl(struct kvm_vcpu *vcpu, void __user *argp) { return -ENOPNOTSUPP; }
^
arch/x86/kvm/vmx/tdx_stubs.c:20:5: warning: no previous prototype for function 'tdx_vcpu_ioctl' [-Wmissing-prototypes]
int tdx_vcpu_ioctl(struct kvm_vcpu *vcpu, void __user *argp) { return -ENOPNOTSUPP; }
^
arch/x86/kvm/vmx/tdx_stubs.c:20:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int tdx_vcpu_ioctl(struct kvm_vcpu *vcpu, void __user *argp) { return -ENOPNOTSUPP; }
^
static
arch/x86/kvm/vmx/tdx_stubs.c:22:6: warning: no previous prototype for function 'tdx_flush_tlb' [-Wmissing-prototypes]
void tdx_flush_tlb(struct kvm_vcpu *vcpu) {}
^
arch/x86/kvm/vmx/tdx_stubs.c:22:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void tdx_flush_tlb(struct kvm_vcpu *vcpu) {}
^
static
arch/x86/kvm/vmx/tdx_stubs.c:23:6: warning: no previous prototype for function 'tdx_load_mmu_pgd' [-Wmissing-prototypes]
void tdx_load_mmu_pgd(struct kvm_vcpu *vcpu, hpa_t root_hpa, int root_level) {}
^
arch/x86/kvm/vmx/tdx_stubs.c:23:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void tdx_load_mmu_pgd(struct kvm_vcpu *vcpu, hpa_t root_hpa, int root_level) {}
^
static
16 warnings and 1 error generated.
vim +/tdx_vcpu_run +13 arch/x86/kvm/vmx/tdx_stubs.c
9
10 int tdx_vcpu_create(struct kvm_vcpu *vcpu) { return -EOPNOTSUPP; }
11 void tdx_vcpu_free(struct kvm_vcpu *vcpu) {}
12 void tdx_vcpu_reset(struct kvm_vcpu *vcpu, bool init_event) {}
> 13 fastpath_t tdx_vcpu_run(struct kvm_vcpu *vcpu) { return EXIT_FASTPATH_NONE; }
> 14 void tdx_vcpu_load(struct kvm_vcpu *vcpu, int cpu) {}
> 15 void tdx_vcpu_put(struct kvm_vcpu *vcpu) {}
> 16 void tdx_prepare_switch_to_guest(struct kvm_vcpu *vcpu) {}
17
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
Re: [PATCH] ext4: use min() to make code cleaner
by kernel test robot
Hi,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on tytso-ext4/dev]
[also build test WARNING on v5.16-rc5 next-20211215]
[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/cgel-zte-gmail-com/ext4-use-min-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git dev
config: hexagon-randconfig-r026-20211216 (https://download.01.org/0day-ci/archive/20211217/202112171003.SXtQAHHE-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project dd245bab9fbb364faa1581e4f92ba3119a872fba)
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/ff519f2d7d41c154cb0d31a9aebe16ce1...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review cgel-zte-gmail-com/ext4-use-min-to-make-code-cleaner/20211216-171213
git checkout ff519f2d7d41c154cb0d31a9aebe16ce1f6af7ed
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash fs/ext4/
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 >>):
>> fs/ext4/super.c:6926:12: warning: comparison of distinct pointer types ('typeof (sb->s_blocksize - offset) *' (aka 'unsigned long *') and 'typeof (toread) *' (aka 'unsigned int *')) [-Wcompare-distinct-pointer-types]
tocopy = min(sb->s_blocksize - offset, toread);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:45:19: note: expanded from macro 'min'
#define min(x, y) __careful_cmp(x, y, <)
^~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:36:24: note: expanded from macro '__careful_cmp'
__builtin_choose_expr(__safe_cmp(x, y), \
^~~~~~~~~~~~~~~~
include/linux/minmax.h:26:4: note: expanded from macro '__safe_cmp'
(__typecheck(x, y) && __no_side_effects(x, y))
^~~~~~~~~~~~~~~~~
include/linux/minmax.h:20:28: note: expanded from macro '__typecheck'
(!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~
fs/ext4/super.c:2173:1: warning: unused function 'ctx_test_flags' [-Wunused-function]
EXT4_SET_CTX(flags);
^
fs/ext4/super.c:2168:20: note: expanded from macro 'EXT4_SET_CTX'
static inline bool ctx_test_##name(struct ext4_fs_context *ctx, int flag)\
^
<scratch space>:148:1: note: expanded from here
ctx_test_flags
^
fs/ext4/super.c:2176:1: warning: unused function 'ctx_clear_mount_flags' [-Wunused-function]
EXT4_SET_CTX(mount_flags);
^
fs/ext4/super.c:2163:20: note: expanded from macro 'EXT4_SET_CTX'
static inline void ctx_clear_##name(struct ext4_fs_context *ctx, int flag)\
^
<scratch space>:169:1: note: expanded from here
ctx_clear_mount_flags
^
fs/ext4/super.c:2176:1: warning: unused function 'ctx_test_mount_flags' [-Wunused-function]
fs/ext4/super.c:2168:20: note: expanded from macro 'EXT4_SET_CTX'
static inline bool ctx_test_##name(struct ext4_fs_context *ctx, int flag)\
^
<scratch space>:172:1: note: expanded from here
ctx_test_mount_flags
^
4 warnings generated.
vim +6926 fs/ext4/super.c
6904
6905 /* Read data from quotafile - avoid pagecache and such because we cannot afford
6906 * acquiring the locks... As quota files are never truncated and quota code
6907 * itself serializes the operations (and no one else should touch the files)
6908 * we don't have to be afraid of races */
6909 static ssize_t ext4_quota_read(struct super_block *sb, int type, char *data,
6910 size_t len, loff_t off)
6911 {
6912 struct inode *inode = sb_dqopt(sb)->files[type];
6913 ext4_lblk_t blk = off >> EXT4_BLOCK_SIZE_BITS(sb);
6914 int offset = off & (sb->s_blocksize - 1);
6915 int tocopy;
6916 size_t toread;
6917 struct buffer_head *bh;
6918 loff_t i_size = i_size_read(inode);
6919
6920 if (off > i_size)
6921 return 0;
6922 if (off+len > i_size)
6923 len = i_size-off;
6924 toread = len;
6925 while (toread > 0) {
> 6926 tocopy = min(sb->s_blocksize - offset, toread);
6927 bh = ext4_bread(NULL, inode, blk, 0);
6928 if (IS_ERR(bh))
6929 return PTR_ERR(bh);
6930 if (!bh) /* A hole? */
6931 memset(data, 0, tocopy);
6932 else
6933 memcpy(data, bh->b_data+offset, tocopy);
6934 brelse(bh);
6935 offset = 0;
6936 toread -= tocopy;
6937 data += tocopy;
6938 blk++;
6939 }
6940 return len;
6941 }
6942
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
【Amazon】アカウント情報をご確認ください
by Amazon.co.jp
Amazonお客様
平素は、Amazonをご利用いただき、誠にありがとうございます。
誰かがあなたのAmazonアカウントにログインして商品を購入しようとしていることに注意してください。
クレジットカードの盗難を防ぐため、ログイン後すぐに情報を更新してください。
あなたが24時間以内に確認できない場合は申し訳ありません。あなたの財産の安全のために、このアカウントの使用を制限します。あらかじめご理解ください。
本件についてご迷惑をおかけしましたことをお詫び申し上げます。
何卒、よろしくお願い申し上げます。
お客様の Amazon アカウント
アカウント所有権の証明をご自身で行う場合は、Amazon 管理コンソールにログインし、所定の手順でお手続きください。アカウント所有権の証明についてのヘルプセンター記事も併せてご参照ください。
状態:
異常は更新待ちです
Amazonクリック&ログイン
Amazonのまたのご利用をお待ちしております。
© 1996-2021, Amazon. Inc. or its affiliates
9 months, 1 week
[intel-tdx:kvm-upstream 126/152] arch/x86/kvm/vmx/tdx_stubs.c:13:6: error: no previous prototype for 'tdx_inject_nmi'
by kernel test robot
tree: https://github.com/intel/tdx.git kvm-upstream
head: bdfe06c17daab60c196ff80c1d98467a1d3734fa
commit: e5add375b2478be4f63bfc75497bfaae0d514fa0 [126/152] KVM: TDX: Implement methods to inject NMI
config: i386-randconfig-m021-20211216 (https://download.01.org/0day-ci/archive/20211217/202112170946.DGxiGpMv-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/intel/tdx/commit/e5add375b2478be4f63bfc75497bfaae0d514fa0
git remote add intel-tdx https://github.com/intel/tdx.git
git fetch --no-tags intel-tdx kvm-upstream
git checkout e5add375b2478be4f63bfc75497bfaae0d514fa0
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
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/x86/kvm/vmx/tdx_stubs.c:4:13: error: no previous prototype for 'tdx_pre_kvm_init' [-Werror=missing-prototypes]
4 | void __init tdx_pre_kvm_init(unsigned int *vcpu_size,
| ^~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:6:12: error: no previous prototype for 'tdx_hardware_setup' [-Werror=missing-prototypes]
6 | int __init tdx_hardware_setup(struct kvm_x86_ops *x86_ops) { return -EOPNOTSUPP; }
| ^~~~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:7:6: error: no previous prototype for 'tdx_hardware_enable' [-Werror=missing-prototypes]
7 | void tdx_hardware_enable(void) {}
| ^~~~~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:8:6: error: no previous prototype for 'tdx_hardware_disable' [-Werror=missing-prototypes]
8 | void tdx_hardware_disable(void) {}
| ^~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:10:5: error: no previous prototype for 'tdx_vcpu_create' [-Werror=missing-prototypes]
10 | int tdx_vcpu_create(struct kvm_vcpu *vcpu) { return -EOPNOTSUPP; }
| ^~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:11:6: error: no previous prototype for 'tdx_vcpu_free' [-Werror=missing-prototypes]
11 | void tdx_vcpu_free(struct kvm_vcpu *vcpu) {}
| ^~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:12:6: error: no previous prototype for 'tdx_vcpu_reset' [-Werror=missing-prototypes]
12 | void tdx_vcpu_reset(struct kvm_vcpu *vcpu, bool init_event) {}
| ^~~~~~~~~~~~~~
>> arch/x86/kvm/vmx/tdx_stubs.c:13:6: error: no previous prototype for 'tdx_inject_nmi' [-Werror=missing-prototypes]
13 | void tdx_inject_nmi(struct kvm_vcpu *vcpu) {}
| ^~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:14:12: error: no previous prototype for 'tdx_vcpu_run' [-Werror=missing-prototypes]
14 | fastpath_t tdx_vcpu_run(struct kvm_vcpu *vcpu) { return EXIT_FASTPATH_NONE; }
| ^~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:15:6: error: no previous prototype for 'tdx_vcpu_load' [-Werror=missing-prototypes]
15 | void tdx_vcpu_load(struct kvm_vcpu *vcpu, int cpu) {}
| ^~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:16:6: error: no previous prototype for 'tdx_vcpu_put' [-Werror=missing-prototypes]
16 | void tdx_vcpu_put(struct kvm_vcpu *vcpu) {}
| ^~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:17:6: error: no previous prototype for 'tdx_prepare_switch_to_guest' [-Werror=missing-prototypes]
17 | void tdx_prepare_switch_to_guest(struct kvm_vcpu *vcpu) {}
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:18:6: error: no previous prototype for 'tdx_handle_exit_irqoff' [-Werror=missing-prototypes]
18 | void tdx_handle_exit_irqoff(struct kvm_vcpu *vcpu) {}
| ^~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:19:5: error: no previous prototype for 'tdx_handle_exit' [-Werror=missing-prototypes]
19 | int tdx_handle_exit(struct kvm_vcpu *vcpu,
| ^~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:21:6: error: no previous prototype for 'tdx_is_emulated_msr' [-Werror=missing-prototypes]
21 | bool tdx_is_emulated_msr(u32 index, bool write) { return false; }
| ^~~~~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:22:5: error: no previous prototype for 'tdx_get_msr' [-Werror=missing-prototypes]
22 | int tdx_get_msr(struct kvm_vcpu *vcpu, struct msr_data *msr) { return 1; }
| ^~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:23:5: error: no previous prototype for 'tdx_set_msr' [-Werror=missing-prototypes]
23 | int tdx_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr) { return 1; }
| ^~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:25:6: error: no previous prototype for 'tdx_apicv_post_state_restore' [-Werror=missing-prototypes]
25 | void tdx_apicv_post_state_restore(struct kvm_vcpu *vcpu) {}
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:26:5: error: no previous prototype for 'tdx_deliver_posted_interrupt' [-Werror=missing-prototypes]
26 | int tdx_deliver_posted_interrupt(struct kvm_vcpu *vcpu, int vector) { return 0; }
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:27:6: error: no previous prototype for 'tdx_get_exit_info' [-Werror=missing-prototypes]
27 | void tdx_get_exit_info(struct kvm_vcpu *vcpu, u32 *reason,
| ^~~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:30:5: error: no previous prototype for 'tdx_dev_ioctl' [-Werror=missing-prototypes]
30 | int tdx_dev_ioctl(void __user *argp) { return -EOPNOTSUPP; }
| ^~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:31:5: error: no previous prototype for 'tdx_vm_ioctl' [-Werror=missing-prototypes]
31 | int tdx_vm_ioctl(struct kvm *kvm, void __user *argp) { return -EOPNOTSUPP; }
| ^~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:32:5: error: no previous prototype for 'tdx_vcpu_ioctl' [-Werror=missing-prototypes]
32 | int tdx_vcpu_ioctl(struct kvm_vcpu *vcpu, void __user *argp) { return -ENOPNOTSUPP; }
| ^~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c: In function 'tdx_vcpu_ioctl':
arch/x86/kvm/vmx/tdx_stubs.c:32:72: error: 'ENOPNOTSUPP' undeclared (first use in this function); did you mean 'EOPNOTSUPP'?
32 | int tdx_vcpu_ioctl(struct kvm_vcpu *vcpu, void __user *argp) { return -ENOPNOTSUPP; }
| ^~~~~~~~~~~
| EOPNOTSUPP
arch/x86/kvm/vmx/tdx_stubs.c:32:72: note: each undeclared identifier is reported only once for each function it appears in
arch/x86/kvm/vmx/tdx_stubs.c: At top level:
arch/x86/kvm/vmx/tdx_stubs.c:34:6: error: no previous prototype for 'tdx_flush_tlb' [-Werror=missing-prototypes]
34 | void tdx_flush_tlb(struct kvm_vcpu *vcpu) {}
| ^~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:35:6: error: no previous prototype for 'tdx_load_mmu_pgd' [-Werror=missing-prototypes]
35 | void tdx_load_mmu_pgd(struct kvm_vcpu *vcpu, hpa_t root_hpa, int root_level) {}
| ^~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c: In function 'tdx_vcpu_ioctl':
arch/x86/kvm/vmx/tdx_stubs.c:32:85: error: control reaches end of non-void function [-Werror=return-type]
32 | int tdx_vcpu_ioctl(struct kvm_vcpu *vcpu, void __user *argp) { return -ENOPNOTSUPP; }
| ^
cc1: all warnings being treated as errors
vim +/tdx_inject_nmi +13 arch/x86/kvm/vmx/tdx_stubs.c
9
> 10 int tdx_vcpu_create(struct kvm_vcpu *vcpu) { return -EOPNOTSUPP; }
11 void tdx_vcpu_free(struct kvm_vcpu *vcpu) {}
12 void tdx_vcpu_reset(struct kvm_vcpu *vcpu, bool init_event) {}
> 13 void tdx_inject_nmi(struct kvm_vcpu *vcpu) {}
14 fastpath_t tdx_vcpu_run(struct kvm_vcpu *vcpu) { return EXIT_FASTPATH_NONE; }
15 void tdx_vcpu_load(struct kvm_vcpu *vcpu, int cpu) {}
16 void tdx_vcpu_put(struct kvm_vcpu *vcpu) {}
17 void tdx_prepare_switch_to_guest(struct kvm_vcpu *vcpu) {}
18 void tdx_handle_exit_irqoff(struct kvm_vcpu *vcpu) {}
19 int tdx_handle_exit(struct kvm_vcpu *vcpu,
20 enum exit_fastpath_completion fastpath) { return 0; }
21 bool tdx_is_emulated_msr(u32 index, bool write) { return false; }
22 int tdx_get_msr(struct kvm_vcpu *vcpu, struct msr_data *msr) { return 1; }
23 int tdx_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr) { return 1; }
24
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week