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: arc-randconfig-r043-20211216 (https://download.01.org/0day-ci/archive/20211217/202112171344.Zn3aOifg-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/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=arc SHELL=/bin/bash net/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from arch/arc/include/asm/atomic.h:12,
from include/linux/atomic.h:7,
from include/net/net_namespace.h:8,
from include/linux/inet.h:42,
from net/mptcp/pm_netlink.c:9:
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) ||
| ^~~~~
include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
net/mptcp/pm_netlink.c:2613:25: note: in expansion of macro 'if'
2613 | if (!ipv6_addr_equal(&local->addr6, &pinfo->saddr) ||
| ^~
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))
| ^~~~~
include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
net/mptcp/pm_netlink.c:2613:25: note: in expansion of macro 'if'
2613 | if (!ipv6_addr_equal(&local->addr6, &pinfo->saddr) ||
| ^~
>> include/net/sock.h:388:45: error: 'struct sock_common' has no member named 'skc_v6_daddr'; did you mean 'skc_daddr'?
388 | #define sk_v6_daddr __sk_common.skc_v6_daddr
| ^~~~~~~~~~~~
include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
net/mptcp/pm_netlink.c:2613:25: note: in expansion of macro 'if'
2613 | if (!ipv6_addr_equal(&local->addr6, &pinfo->saddr) ||
| ^~
net/mptcp/pm_netlink.c:2614:68: note: in expansion of macro 'sk_v6_daddr'
2614 | !ipv6_addr_equal(&remote->addr6, &ssk->sk_v6_daddr))
| ^~~~~~~~~~~
>> 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) ||
| ^~~~~
include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
net/mptcp/pm_netlink.c:2613:25: note: in expansion of macro 'if'
2613 | if (!ipv6_addr_equal(&local->addr6, &pinfo->saddr) ||
| ^~
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))
| ^~~~~
include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
net/mptcp/pm_netlink.c:2613:25: note: in expansion of macro 'if'
2613 | if (!ipv6_addr_equal(&local->addr6, &pinfo->saddr) ||
| ^~
>> include/net/sock.h:388:45: error: 'struct sock_common' has no member named 'skc_v6_daddr'; did you mean 'skc_daddr'?
388 | #define sk_v6_daddr __sk_common.skc_v6_daddr
| ^~~~~~~~~~~~
include/linux/compiler.h:58:61: note: in definition of macro '__trace_if_var'
58 | #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
| ^~~~
net/mptcp/pm_netlink.c:2613:25: note: in expansion of macro 'if'
2613 | if (!ipv6_addr_equal(&local->addr6, &pinfo->saddr) ||
| ^~
net/mptcp/pm_netlink.c:2614:68: note: in expansion of macro 'sk_v6_daddr'
2614 | !ipv6_addr_equal(&remote->addr6, &ssk->sk_v6_daddr))
| ^~~~~~~~~~~
>> 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) ||
| ^~~~~
include/linux/compiler.h:69:10: note: in definition of macro '__trace_if_value'
69 | (cond) ? \
| ^~~~
include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
56 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
net/mptcp/pm_netlink.c:2613:25: note: in expansion of macro 'if'
2613 | if (!ipv6_addr_equal(&local->addr6, &pinfo->saddr) ||
| ^~
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))
| ^~~~~
include/linux/compiler.h:69:10: note: in definition of macro '__trace_if_value'
69 | (cond) ? \
| ^~~~
include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
56 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
net/mptcp/pm_netlink.c:2613:25: note: in expansion of macro 'if'
2613 | if (!ipv6_addr_equal(&local->addr6, &pinfo->saddr) ||
| ^~
>> include/net/sock.h:388:45: error: 'struct sock_common' has no member named 'skc_v6_daddr'; did you mean 'skc_daddr'?
388 | #define sk_v6_daddr __sk_common.skc_v6_daddr
| ^~~~~~~~~~~~
include/linux/compiler.h:69:10: note: in definition of macro '__trace_if_value'
69 | (cond) ? \
| ^~~~
include/linux/compiler.h:56:28: note: in expansion of macro '__trace_if_var'
56 | #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
| ^~~~~~~~~~~~~~
net/mptcp/pm_netlink.c:2613:25: note: in expansion of macro 'if'
2613 | if (!ipv6_addr_equal(&local->addr6, &pinfo->saddr) ||
| ^~
net/mptcp/pm_netlink.c:2614:68: note: in expansion of macro 'sk_v6_daddr'
2614 | !ipv6_addr_equal(&remote->addr6, &ssk->sk_v6_daddr))
| ^~~~~~~~~~~
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 v3 17/25] iomap: Convert iomap_write_begin() and iomap_write_end() to folios
by kernel test robot
Hi "Matthew,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on axboe-block/for-next]
[also build test WARNING on linus/master v5.16-rc5 next-20211216]
[cannot apply to xfs-linux/for-next djwong-xfs/djwong-devel]
[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/Matthew-Wilcox-Oracle/iomap-xfs-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
config: i386-randconfig-s001-20211216 (https://download.01.org/0day-ci/archive/20211217/202112171302.gSpYE6fK-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://github.com/0day-ci/linux/commit/2d3e5234105d9fb12c78cf6c09a20d65e...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Matthew-Wilcox-Oracle/iomap-xfs-folio-patches/20211217-050934
git checkout 2d3e5234105d9fb12c78cf6c09a20d65e5a55e2f
# save the config file to linux build tree
mkdir build_dir
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash fs/iomap/
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 >>)
>> fs/iomap/buffered-io.c:620:23: sparse: sparse: incompatible types in comparison expression (different type sizes):
>> fs/iomap/buffered-io.c:620:23: sparse: unsigned int *
>> fs/iomap/buffered-io.c:620:23: sparse: unsigned long *
vim +620 fs/iomap/buffered-io.c
602
603 static int iomap_write_begin(const struct iomap_iter *iter, loff_t pos,
604 size_t len, struct folio **foliop)
605 {
606 const struct iomap_page_ops *page_ops = iter->iomap.page_ops;
607 const struct iomap *srcmap = iomap_iter_srcmap(iter);
608 struct folio *folio;
609 unsigned fgp = FGP_LOCK | FGP_WRITE | FGP_CREAT | FGP_STABLE | FGP_NOFS;
610 int status = 0;
611
612 BUG_ON(pos + len > iter->iomap.offset + iter->iomap.length);
613 if (srcmap != &iter->iomap)
614 BUG_ON(pos + len > srcmap->offset + srcmap->length);
615
616 if (fatal_signal_pending(current))
617 return -EINTR;
618
619 if (!mapping_large_folio_support(iter->inode->i_mapping))
> 620 len = min(len, PAGE_SIZE - offset_in_page(pos));
621
622 if (page_ops && page_ops->page_prepare) {
623 status = page_ops->page_prepare(iter->inode, pos, len);
624 if (status)
625 return status;
626 }
627
628 folio = __filemap_get_folio(iter->inode->i_mapping, pos >> PAGE_SHIFT,
629 fgp, mapping_gfp_mask(iter->inode->i_mapping));
630 if (!folio) {
631 status = -ENOMEM;
632 goto out_no_page;
633 }
634 if (pos + len > folio_pos(folio) + folio_size(folio))
635 len = folio_pos(folio) + folio_size(folio) - pos;
636
637 if (srcmap->type == IOMAP_INLINE)
638 status = iomap_write_begin_inline(iter, folio);
639 else if (srcmap->flags & IOMAP_F_BUFFER_HEAD)
640 status = __block_write_begin_int(folio, pos, len, NULL, srcmap);
641 else
642 status = __iomap_write_begin(iter, pos, len, folio);
643
644 if (unlikely(status))
645 goto out_unlock;
646
647 *foliop = folio;
648 return 0;
649
650 out_unlock:
651 folio_unlock(folio);
652 folio_put(folio);
653 iomap_write_failed(iter->inode, pos, len);
654
655 out_no_page:
656 if (page_ops && page_ops->page_done)
657 page_ops->page_done(iter->inode, pos, 0, NULL);
658 return status;
659 }
660
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
[jimc:v4 1/6] 507 | pr_debug("%s: error: device does not provide dax"
by kernel test robot
tree: https://github.com/jimc/linux.git v4
head: 89f19988c1d662bed597c2a0f406eaae0841c32e
commit: babbf20e143278c56529e84aa7af61dfb01ff25c [1/6] dyndbg: add _DPRINTK_FLAGS_ENABLED
config: sh-allmodconfig (https://download.01.org/0day-ci/archive/20211217/202112171231.MmtDFl5f-lk...)
compiler: sh4-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/jimc/linux/commit/babbf20e143278c56529e84aa7af61dfb01f...
git remote add jimc https://github.com/jimc/linux.git
git fetch --no-tags jimc v4
git checkout babbf20e143278c56529e84aa7af61dfb01ff25c
# 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=sh SHELL=/bin/bash drivers/dax/
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/dax/super.c:375:6: warning: no previous prototype for 'run_dax' [-Wmissing-prototypes]
375 | void run_dax(struct dax_device *dax_dev)
| ^~~~~~~
In file included from include/asm-generic/bug.h:5,
from arch/sh/include/asm/bug.h:112,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/mm.h:9,
from include/linux/pagemap.h:8,
from drivers/dax/super.c:5:
drivers/dax/super.c: In function 'alloc_dax':
include/linux/dynamic_debug.h:128:37: error: '_DPRINTK_FLAGS_ENABLE' undeclared (first use in this function)
128 | unlikely(descriptor.flags & _DPRINTK_FLAGS_ENABLE)
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:78:45: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/dynamic_debug.h:135:13: note: in expansion of macro 'DYNAMIC_DEBUG_BRANCH'
135 | if (DYNAMIC_DEBUG_BRANCH(id)) \
| ^~~~~~~~~~~~~~~~~~~~
include/linux/dynamic_debug.h:154:9: note: in expansion of macro '__dynamic_func_call'
154 | __dynamic_func_call(__UNIQUE_ID(ddebug), fmt, func, ##__VA_ARGS__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/dynamic_debug.h:164:9: note: in expansion of macro '_dynamic_func_call'
164 | _dynamic_func_call(fmt, __dynamic_pr_debug, \
| ^~~~~~~~~~~~~~~~~~
include/linux/printk.h:574:9: note: in expansion of macro 'dynamic_pr_debug'
574 | dynamic_pr_debug(fmt, ##__VA_ARGS__)
| ^~~~~~~~~~~~~~~~
drivers/dax/super.c:507:17: note: in expansion of macro 'pr_debug'
>> 507 | pr_debug("%s: error: device does not provide dax"
| ^~~~~~~~
include/linux/dynamic_debug.h:128:37: note: each undeclared identifier is reported only once for each function it appears in
128 | unlikely(descriptor.flags & _DPRINTK_FLAGS_ENABLE)
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:78:45: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/dynamic_debug.h:135:13: note: in expansion of macro 'DYNAMIC_DEBUG_BRANCH'
135 | if (DYNAMIC_DEBUG_BRANCH(id)) \
| ^~~~~~~~~~~~~~~~~~~~
include/linux/dynamic_debug.h:154:9: note: in expansion of macro '__dynamic_func_call'
154 | __dynamic_func_call(__UNIQUE_ID(ddebug), fmt, func, ##__VA_ARGS__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/dynamic_debug.h:164:9: note: in expansion of macro '_dynamic_func_call'
164 | _dynamic_func_call(fmt, __dynamic_pr_debug, \
| ^~~~~~~~~~~~~~~~~~
include/linux/printk.h:574:9: note: in expansion of macro 'dynamic_pr_debug'
574 | dynamic_pr_debug(fmt, ##__VA_ARGS__)
| ^~~~~~~~~~~~~~~~
drivers/dax/super.c:507:17: note: in expansion of macro 'pr_debug'
>> 507 | pr_debug("%s: error: device does not provide dax"
| ^~~~~~~~
---
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: i386-randconfig-m031-20211216 (https://download.01.org/0day-ci/archive/20211217/202112171114.znOy3iE9-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/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
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/media/i2c/adv748x/
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:27: 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:148:4: error: field name not in record or union initializer
148 | .sink_pad = ADV748X_CSI2_SINK,
| ^
drivers/media/i2c/adv748x/adv748x-csi2.c:148:4: note: (near initialization for 'routes')
drivers/media/i2c/adv748x/adv748x-csi2.c:149:4: error: field name not in record or union initializer
149 | .sink_stream = 0,
| ^
drivers/media/i2c/adv748x/adv748x-csi2.c:149:4: note: (near initialization for 'routes')
drivers/media/i2c/adv748x/adv748x-csi2.c:150:4: error: field name not in record or union initializer
150 | .source_pad = ADV748X_CSI2_SOURCE,
| ^
drivers/media/i2c/adv748x/adv748x-csi2.c:150:4: note: (near initialization for 'routes')
drivers/media/i2c/adv748x/adv748x-csi2.c:151:4: error: field name not in record or union initializer
151 | .source_stream = 0,
| ^
drivers/media/i2c/adv748x/adv748x-csi2.c:151:4: note: (near initialization for 'routes')
drivers/media/i2c/adv748x/adv748x-csi2.c:152:4: error: field name not in record or union initializer
152 | .flags = V4L2_SUBDEV_ROUTE_FL_ACTIVE,
| ^
drivers/media/i2c/adv748x/adv748x-csi2.c:152:4: note: (near initialization for 'routes')
>> drivers/media/i2c/adv748x/adv748x-csi2.c:152:13: 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:13: note: each undeclared identifier is reported only once for each function it appears in
drivers/media/i2c/adv748x/adv748x-csi2.c:155:4: error: field name not in record or union initializer
155 | .sink_pad = ADV748X_CSI2_SINK,
| ^
drivers/media/i2c/adv748x/adv748x-csi2.c:155:4: note: (near initialization for 'routes')
drivers/media/i2c/adv748x/adv748x-csi2.c:156:4: error: field name not in record or union initializer
156 | .sink_stream = 0,
| ^
drivers/media/i2c/adv748x/adv748x-csi2.c:156:4: note: (near initialization for 'routes')
drivers/media/i2c/adv748x/adv748x-csi2.c:157:4: error: field name not in record or union initializer
157 | .source_pad = ADV748X_CSI2_SOURCE,
| ^
drivers/media/i2c/adv748x/adv748x-csi2.c:157:4: note: (near initialization for 'routes')
drivers/media/i2c/adv748x/adv748x-csi2.c:158:4: error: field name not in record or union initializer
158 | .source_stream = 1,
| ^
drivers/media/i2c/adv748x/adv748x-csi2.c:158:4: note: (near initialization for 'routes')
drivers/media/i2c/adv748x/adv748x-csi2.c:161:4: error: field name not in record or union initializer
161 | .sink_pad = ADV748X_CSI2_SINK,
| ^
drivers/media/i2c/adv748x/adv748x-csi2.c:161:4: note: (near initialization for 'routes')
drivers/media/i2c/adv748x/adv748x-csi2.c:162:4: error: field name not in record or union initializer
162 | .sink_stream = 0,
| ^
drivers/media/i2c/adv748x/adv748x-csi2.c:162:4: note: (near initialization for 'routes')
drivers/media/i2c/adv748x/adv748x-csi2.c:163:4: error: field name not in record or union initializer
163 | .source_pad = ADV748X_CSI2_SOURCE,
| ^
drivers/media/i2c/adv748x/adv748x-csi2.c:163:4: note: (near initialization for 'routes')
drivers/media/i2c/adv748x/adv748x-csi2.c:164:4: error: field name not in record or union initializer
164 | .source_stream = 2,
| ^
drivers/media/i2c/adv748x/adv748x-csi2.c:164:4: note: (near initialization for 'routes')
drivers/media/i2c/adv748x/adv748x-csi2.c:167:4: error: field name not in record or union initializer
167 | .sink_pad = ADV748X_CSI2_SINK,
| ^
drivers/media/i2c/adv748x/adv748x-csi2.c:167:4: note: (near initialization for 'routes')
drivers/media/i2c/adv748x/adv748x-csi2.c:168:4: error: field name not in record or union initializer
168 | .sink_stream = 0,
| ^
drivers/media/i2c/adv748x/adv748x-csi2.c:168:4: note: (near initialization for 'routes')
drivers/media/i2c/adv748x/adv748x-csi2.c:169:4: error: field name not in record or union initializer
169 | .source_pad = ADV748X_CSI2_SOURCE,
| ^
drivers/media/i2c/adv748x/adv748x-csi2.c:169:4: note: (near initialization for 'routes')
drivers/media/i2c/adv748x/adv748x-csi2.c:170:4: error: field name not in record or union initializer
170 | .source_stream = 3,
| ^
drivers/media/i2c/adv748x/adv748x-csi2.c:170:4: note: (near initialization for 'routes')
>> drivers/media/i2c/adv748x/adv748x-csi2.c:173:30: error: storage size of 'routing' isn't known
173 | struct v4l2_subdev_krouting routing;
| ^~~~~~~
>> drivers/media/i2c/adv748x/adv748x-csi2.c:179:2: 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:8: 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:2: 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:30: warning: unused variable 'routing' [-Wunused-variable]
173 | struct v4l2_subdev_krouting routing;
| ^~~~~~~
drivers/media/i2c/adv748x/adv748x-csi2.c:146:27: 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:8: error: 'V4L2_SUBDEV_FL_MULTIPLEXED' undeclared (first use in this function)
362 | V4L2_SUBDEV_FL_MULTIPLEXED,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/media/i2c/adv748x/adv748x-csi2.c:379:8: 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:2: 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] pinctrl: add one more "const" for generic function groups
by kernel test robot
Hi "Rafał,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linusw-pinctrl/devel]
[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/Rafa-Mi-ecki/pinctrl-add-one-mor...
base: https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git devel
config: arm64-randconfig-s031-20211216 (https://download.01.org/0day-ci/archive/20211217/202112171229.i6D3onAx-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/0day-ci/linux/commit/e4338a6ad34998afb60c5ad294aafa06c...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Rafa-Mi-ecki/pinctrl-add-one-more-const-for-generic-function-groups/20211216-014859
git checkout e4338a6ad34998afb60c5ad294aafa06cd7110a7
# 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/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/pinctrl/pinctrl-keembay.c:1594:29: sparse: sparse: incorrect type in assignment (different modifiers) @@ expected char const **grp @@ got char const *const *group_names @@
drivers/pinctrl/pinctrl-keembay.c:1594:29: sparse: expected char const **grp
drivers/pinctrl/pinctrl-keembay.c:1594:29: sparse: got char const *const *group_names
vim +1594 drivers/pinctrl/pinctrl-keembay.c
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1556
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1557 static int keembay_add_functions(struct keembay_pinctrl *kpc,
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1558 struct function_desc *function)
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1559 {
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1560 unsigned int i;
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1561
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1562 /* Assign the groups for each function */
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1563 for (i = 0; i < kpc->npins; i++) {
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1564 const struct pinctrl_pin_desc *pdesc = keembay_pins + i;
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1565 struct keembay_mux_desc *mux = pdesc->drv_data;
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1566
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1567 while (mux->name) {
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1568 struct function_desc *func;
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1569 const char **grp;
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1570 size_t grp_size;
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1571 u32 j, grp_num;
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1572
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1573 for (j = 0; j < kpc->nfuncs; j++) {
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1574 if (!strcmp(mux->name, function[j].name))
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1575 break;
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1576 }
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1577
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1578 if (j == kpc->nfuncs)
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1579 return -EINVAL;
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1580
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1581 func = function + j;
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1582 grp_num = func->num_group_names;
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1583 grp_size = sizeof(*func->group_names);
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1584
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1585 if (!func->group_names) {
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1586 func->group_names = devm_kcalloc(kpc->dev,
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1587 grp_num,
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1588 grp_size,
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1589 GFP_KERNEL);
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1590 if (!func->group_names)
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1591 return -ENOMEM;
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1592 }
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1593
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 @1594 grp = func->group_names;
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1595 while (*grp)
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1596 grp++;
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1597
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1598 *grp = pdesc->name;
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1599 mux++;
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1600 }
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1601 }
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1602
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1603 /* Add all functions */
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1604 for (i = 0; i < kpc->nfuncs; i++) {
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1605 pinmux_generic_add_function(kpc->pctrl,
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1606 function[i].name,
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1607 function[i].group_names,
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1608 function[i].num_group_names,
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1609 function[i].data);
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1610 }
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1611
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1612 return 0;
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1613 }
ffd4e739358be03 Lakshmi Sowjanya D 2021-08-06 1614
---
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 08/13] net: dsa: realtek: add new mdio interface for drivers
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/202112171150.GzuAOv0N-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/15bfe75ad3669cdcef7bfab281d7744c2...
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 15bfe75ad3669cdcef7bfab281d7744c226fc503
# 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-mdio.c:54:5: warning: no previous prototype for 'realtek_mdio_read_reg' [-Wmissing-prototypes]
54 | int realtek_mdio_read_reg(struct realtek_priv *priv, u32 addr, u32 *data)
| ^~~~~~~~~~~~~~~~~~~~~
vim +/realtek_mdio_read_reg +54 drivers/net/dsa/realtek/realtek-mdio.c
53
> 54 int realtek_mdio_read_reg(struct realtek_priv *priv, u32 addr, u32 *data)
55 {
56 u32 phy_id = priv->phy_id;
57 struct mii_bus *bus = priv->bus;
58
59 BUG_ON(in_interrupt());
60
61 mutex_lock(&bus->mdio_lock);
62 /* Write Start command to register 29 */
63 bus->write(bus, phy_id, MDC_MDIO_START_REG, MDC_MDIO_START_OP);
64
65 /* Write address control code to register 31 */
66 bus->write(bus, phy_id, MDC_MDIO_CTRL0_REG, MDC_MDIO_ADDR_OP);
67
68 /* Write Start command to register 29 */
69 bus->write(bus, phy_id, MDC_MDIO_START_REG, MDC_MDIO_START_OP);
70
71 /* Write address to register 23 */
72 bus->write(bus, phy_id, MDC_MDIO_ADDRESS_REG, addr);
73
74 /* Write Start command to register 29 */
75 bus->write(bus, phy_id, MDC_MDIO_START_REG, MDC_MDIO_START_OP);
76
77 /* Write read control code to register 21 */
78 bus->write(bus, phy_id, MDC_MDIO_CTRL1_REG, MDC_MDIO_READ_OP);
79
80 /* Write Start command to register 29 */
81 bus->write(bus, phy_id, MDC_MDIO_START_REG, MDC_MDIO_START_OP);
82
83 /* Read data from register 25 */
84 *data = bus->read(bus, phy_id, MDC_MDIO_DATA_READ_REG);
85
86 mutex_unlock(&bus->mdio_lock);
87
88 return 0;
89 }
90
---
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] media: adv748x: Implement .get_frame_desc()
by kernel test robot
Hi Jacopo,
I love your patch! Perhaps something to improve:
[auto build test WARNING on media-tree/master]
[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/Jacopo-Mondi/media-adv748x-Add-C...
base: git://linuxtv.org/media_tree.git master
config: arm-randconfig-r032-20211216 (https://download.01.org/0day-ci/archive/20211217/202112171102.NMwa0uem-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
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://github.com/0day-ci/linux/commit/3baa5f567748a7235338c2547dcec5959...
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 3baa5f567748a7235338c2547dcec595902888b7
# 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=arm SHELL=/bin/bash drivers/media/i2c/adv748x/ kernel/
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/media/i2c/adv748x/adv748x-csi2.c:190:33: error: array has incomplete element type 'struct v4l2_subdev_route'
struct v4l2_subdev_route routes[ADV748X_CSI2_STREAMS] = {
^
drivers/media/i2c/adv748x/adv748x-csi2.c:190:9: note: forward declaration of 'struct v4l2_subdev_route'
struct v4l2_subdev_route routes[ADV748X_CSI2_STREAMS] = {
^
drivers/media/i2c/adv748x/adv748x-csi2.c:196:13: error: use of undeclared identifier 'V4L2_SUBDEV_ROUTE_FL_ACTIVE'; did you mean 'V4L2_SUBDEV_FORMAT_ACTIVE'?
.flags = V4L2_SUBDEV_ROUTE_FL_ACTIVE,
^~~~~~~~~~~~~~~~~~~~~~~~~~~
V4L2_SUBDEV_FORMAT_ACTIVE
include/uapi/linux/v4l2-subdev.h:39:2: note: 'V4L2_SUBDEV_FORMAT_ACTIVE' declared here
V4L2_SUBDEV_FORMAT_ACTIVE = 1,
^
drivers/media/i2c/adv748x/adv748x-csi2.c:217:30: error: variable has incomplete type 'struct v4l2_subdev_krouting'
struct v4l2_subdev_krouting routing;
^
drivers/media/i2c/adv748x/adv748x-csi2.c:217:9: note: forward declaration of 'struct v4l2_subdev_krouting'
struct v4l2_subdev_krouting routing;
^
drivers/media/i2c/adv748x/adv748x-csi2.c:223:2: error: implicit declaration of function 'v4l2_subdev_lock_state' [-Werror,-Wimplicit-function-declaration]
v4l2_subdev_lock_state(state);
^
drivers/media/i2c/adv748x/adv748x-csi2.c:223:2: note: did you mean 'v4l2_subdev_alloc_state'?
include/media/v4l2-subdev.h:1144:27: note: 'v4l2_subdev_alloc_state' declared here
struct v4l2_subdev_state *v4l2_subdev_alloc_state(struct v4l2_subdev *sd);
^
drivers/media/i2c/adv748x/adv748x-csi2.c:224:8: error: implicit declaration of function 'v4l2_subdev_set_routing' [-Werror,-Wimplicit-function-declaration]
ret = v4l2_subdev_set_routing(sd, state, &routing);
^
drivers/media/i2c/adv748x/adv748x-csi2.c:225:2: error: implicit declaration of function 'v4l2_subdev_unlock_state' [-Werror,-Wimplicit-function-declaration]
v4l2_subdev_unlock_state(state);
^
drivers/media/i2c/adv748x/adv748x-csi2.c:225:2: note: did you mean 'v4l2_subdev_lock_state'?
drivers/media/i2c/adv748x/adv748x-csi2.c:223:2: note: 'v4l2_subdev_lock_state' declared here
v4l2_subdev_lock_state(state);
^
drivers/media/i2c/adv748x/adv748x-csi2.c:241:2: error: implicit declaration of function 'v4l2_subdev_lock_state' [-Werror,-Wimplicit-function-declaration]
v4l2_subdev_lock_state(sd_state);
^
drivers/media/i2c/adv748x/adv748x-csi2.c:242:8: error: implicit declaration of function 'v4l2_state_get_stream_format' [-Werror,-Wimplicit-function-declaration]
fmt = v4l2_state_get_stream_format(sd_state, sdformat->pad,
^
drivers/media/i2c/adv748x/adv748x-csi2.c:242:8: note: did you mean 'v4l2_subdev_get_try_format'?
include/media/v4l2-subdev.h:994:1: note: 'v4l2_subdev_get_try_format' declared here
v4l2_subdev_get_try_format(struct v4l2_subdev *sd,
^
drivers/media/i2c/adv748x/adv748x-csi2.c:243:19: error: no member named 'stream' in 'struct v4l2_subdev_format'
sdformat->stream);
~~~~~~~~ ^
drivers/media/i2c/adv748x/adv748x-csi2.c:251:8: error: implicit declaration of function 'v4l2_subdev_state_get_opposite_stream_format' [-Werror,-Wimplicit-function-declaration]
fmt = v4l2_subdev_state_get_opposite_stream_format(sd_state, sdformat->pad,
^
drivers/media/i2c/adv748x/adv748x-csi2.c:252:21: error: no member named 'stream' in 'struct v4l2_subdev_format'
sdformat->stream);
~~~~~~~~ ^
drivers/media/i2c/adv748x/adv748x-csi2.c:260:2: error: implicit declaration of function 'v4l2_subdev_unlock_state' [-Werror,-Wimplicit-function-declaration]
v4l2_subdev_unlock_state(sd_state);
^
drivers/media/i2c/adv748x/adv748x-csi2.c:309:10: error: implicit declaration of function 'v4l2_subdev_lock_active_state' [-Werror,-Wimplicit-function-declaration]
state = v4l2_subdev_lock_active_state(sd);
^
>> drivers/media/i2c/adv748x/adv748x-csi2.c:309:8: warning: incompatible integer to pointer conversion assigning to 'struct v4l2_subdev_state *' from 'int' [-Wint-conversion]
state = v4l2_subdev_lock_active_state(sd);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/media/i2c/adv748x/adv748x-csi2.c:312:18: error: no member named 'routing' in 'struct v4l2_subdev_state'
route = &state->routing.routes[0];
~~~~~ ^
drivers/media/i2c/adv748x/adv748x-csi2.c:313:8: error: implicit declaration of function 'v4l2_state_get_stream_format' [-Werror,-Wimplicit-function-declaration]
fmt = v4l2_state_get_stream_format(state, pad, route->source_stream);
^
drivers/media/i2c/adv748x/adv748x-csi2.c:313:54: error: incomplete definition of type 'struct v4l2_subdev_route'
fmt = v4l2_state_get_stream_format(state, pad, route->source_stream);
~~~~~^
drivers/media/i2c/adv748x/adv748x-csi2.c:301:9: note: forward declaration of 'struct v4l2_subdev_route'
struct v4l2_subdev_route *route;
^
drivers/media/i2c/adv748x/adv748x-csi2.c:327:6: error: no member named 'type' in 'struct v4l2_mbus_frame_desc'
fd->type = V4L2_MBUS_FRAME_DESC_TYPE_CSI2;
~~ ^
drivers/media/i2c/adv748x/adv748x-csi2.c:327:13: error: use of undeclared identifier 'V4L2_MBUS_FRAME_DESC_TYPE_CSI2'; did you mean 'V4L2_MBUS_FRAME_DESC_FL_BLOB'?
fd->type = V4L2_MBUS_FRAME_DESC_TYPE_CSI2;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
V4L2_MBUS_FRAME_DESC_FL_BLOB
include/media/v4l2-subdev.h:327:2: note: 'V4L2_MBUS_FRAME_DESC_FL_BLOB' declared here
V4L2_MBUS_FRAME_DESC_FL_BLOB = BIT(1),
^
drivers/media/i2c/adv748x/adv748x-csi2.c:330:9: error: no member named 'stream' in 'struct v4l2_mbus_frame_desc_entry'
entry->stream = 0;
~~~~~ ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
1 warning and 20 errors generated.
vim +309 drivers/media/i2c/adv748x/adv748x-csi2.c
229
230 static int adv748x_csi2_set_format(struct v4l2_subdev *sd,
231 struct v4l2_subdev_state *sd_state,
232 struct v4l2_subdev_format *sdformat)
233 {
234 struct v4l2_mbus_framefmt *fmt;
235 int ret = 0;
236
237 /* Do not allow to set format on the multiplexed source pad. */
238 if (sdformat->pad == ADV748X_CSI2_SOURCE)
239 return -EINVAL;
240
241 v4l2_subdev_lock_state(sd_state);
242 fmt = v4l2_state_get_stream_format(sd_state, sdformat->pad,
243 sdformat->stream);
244 if (!fmt) {
245 ret = -EINVAL;
246 goto out;
247 };
248 *fmt = sdformat->format;
249
250 /* Propagate format to the other end of the route. */
251 fmt = v4l2_subdev_state_get_opposite_stream_format(sd_state, sdformat->pad,
> 252 sdformat->stream);
253 if (!fmt) {
254 ret = -EINVAL;
255 goto out;
256 }
257 *fmt = sdformat->format;
258
259 out:
260 v4l2_subdev_unlock_state(sd_state);
261
262 return ret;
263 }
264
265 static int adv748x_csi2_get_mbus_config(struct v4l2_subdev *sd, unsigned int pad,
266 struct v4l2_mbus_config *config)
267 {
268 struct adv748x_csi2 *tx = adv748x_sd_to_csi2(sd);
269
270 if (pad != ADV748X_CSI2_SOURCE)
271 return -EINVAL;
272
273 config->type = V4L2_MBUS_CSI2_DPHY;
274 switch (tx->active_lanes) {
275 case 1:
276 config->flags = V4L2_MBUS_CSI2_1_LANE;
277 break;
278
279 case 2:
280 config->flags = V4L2_MBUS_CSI2_2_LANE;
281 break;
282
283 case 3:
284 config->flags = V4L2_MBUS_CSI2_3_LANE;
285 break;
286
287 case 4:
288 config->flags = V4L2_MBUS_CSI2_4_LANE;
289 break;
290 }
291
292 return 0;
293 }
294
295 static int adv748x_csi2_get_frame_desc(struct v4l2_subdev *sd, unsigned int pad,
296 struct v4l2_mbus_frame_desc *fd)
297 {
298 struct adv748x_csi2 *tx = adv748x_sd_to_csi2(sd);
299 struct adv748x_csi2_format_info info = {};
300 struct v4l2_mbus_frame_desc_entry *entry;
301 struct v4l2_subdev_route *route;
302 struct v4l2_subdev_state *state;
303 struct v4l2_mbus_framefmt *fmt;
304 int ret;
305
306 if (pad != ADV748X_CSI2_SOURCE)
307 return -EINVAL;
308
> 309 state = v4l2_subdev_lock_active_state(sd);
310
311 /* A single route is available. */
312 route = &state->routing.routes[0];
313 fmt = v4l2_state_get_stream_format(state, pad, route->source_stream);
314 if (!fmt) {
315 ret = -EINVAL;
316 goto out;
317 }
318
319 ret = adv748x_csi2_get_format_info(tx, fmt->code, &info);
320 if (ret)
321 goto out;
322
323 memset(fd, 0, sizeof(*fd));
324
325 /* A single stream is available. */
326 fd->num_entries = 1;
327 fd->type = V4L2_MBUS_FRAME_DESC_TYPE_CSI2;
328
329 entry = &fd->entry[0];
330 entry->stream = 0;
331 entry->flags = V4L2_MBUS_FRAME_DESC_FL_LEN_MAX;
332 entry->length = fmt->width * fmt->height * info.bpp / 8;
333 entry->pixelcode = fmt->code;
334 entry->bus.csi2.vc = route->source_stream;
335 entry->bus.csi2.dt = info.dt;
336
337 out:
338 v4l2_subdev_unlock_state(state);
339
340 return ret;
341 }
342
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
[shawnguo:imx/dt64 61/65] include/vdso/bits.h:7:33: warning: excess elements in struct initializer
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git imx/dt64
head: 99aa299322718d46f1d9f0552231c8eab5ec7f9c
commit: 31d517ab0a3cb40e11c5400ef0ec393e4a34db65 [61/65] soc: imx: imx8m-blk-ctrl: add i.MX8MN DISP blk-ctrl
config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20211217/202112170542.njccjabE-lk...)
compiler: alpha-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://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git/commit...
git remote add shawnguo https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git
git fetch --no-tags shawnguo imx/dt64
git checkout 31d517ab0a3cb40e11c5400ef0ec393e4a34db65
# 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=alpha SHELL=/bin/bash drivers/soc/imx/
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/soc/imx/imx8m-blk-ctrl.c:536:18: error: 'const struct imx8m_blk_ctrl_domain_data' has no member named 'mipi_phy_rst_mask'
536 | .mipi_phy_rst_mask = BIT(17),
| ^~~~~~~~~~~~~~~~~
In file included from include/linux/bits.h:6,
from include/linux/ratelimit_types.h:5,
from include/linux/ratelimit.h:5,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from drivers/soc/imx/imx8m-blk-ctrl.c:7:
>> include/vdso/bits.h:7:33: warning: excess elements in struct initializer
7 | #define BIT(nr) (UL(1) << (nr))
| ^
drivers/soc/imx/imx8m-blk-ctrl.c:536:38: note: in expansion of macro 'BIT'
536 | .mipi_phy_rst_mask = BIT(17),
| ^~~
include/vdso/bits.h:7:33: note: (near initialization for 'imx8mn_disp_blk_ctl_domain_data[0]')
7 | #define BIT(nr) (UL(1) << (nr))
| ^
drivers/soc/imx/imx8m-blk-ctrl.c:536:38: note: in expansion of macro 'BIT'
536 | .mipi_phy_rst_mask = BIT(17),
| ^~~
drivers/soc/imx/imx8m-blk-ctrl.c:545:18: error: 'const struct imx8m_blk_ctrl_domain_data' has no member named 'mipi_phy_rst_mask'
545 | .mipi_phy_rst_mask = BIT(16),
| ^~~~~~~~~~~~~~~~~
In file included from include/linux/bits.h:6,
from include/linux/ratelimit_types.h:5,
from include/linux/ratelimit.h:5,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from drivers/soc/imx/imx8m-blk-ctrl.c:7:
>> include/vdso/bits.h:7:33: warning: excess elements in struct initializer
7 | #define BIT(nr) (UL(1) << (nr))
| ^
drivers/soc/imx/imx8m-blk-ctrl.c:545:38: note: in expansion of macro 'BIT'
545 | .mipi_phy_rst_mask = BIT(16),
| ^~~
include/vdso/bits.h:7:33: note: (near initialization for 'imx8mn_disp_blk_ctl_domain_data[1]')
7 | #define BIT(nr) (UL(1) << (nr))
| ^
drivers/soc/imx/imx8m-blk-ctrl.c:545:38: note: in expansion of macro 'BIT'
545 | .mipi_phy_rst_mask = BIT(16),
| ^~~
vim +7 include/vdso/bits.h
3945ff37d2f48d3 Vincenzo Frascino 2020-03-20 6
3945ff37d2f48d3 Vincenzo Frascino 2020-03-20 @7 #define BIT(nr) (UL(1) << (nr))
3945ff37d2f48d3 Vincenzo Frascino 2020-03-20 8
:::::: The code at line 7 was first introduced by commit
:::::: 3945ff37d2f48d39fd1751d282c80176654049e4 linux/bits.h: Extract common header for vDSO
:::::: TO: Vincenzo Frascino <vincenzo.frascino(a)arm.com>
:::::: CC: Thomas Gleixner <tglx(a)linutronix.de>
---
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 127/152] arch/x86/kvm/vmx/tdx_stubs.c:29:5: error: no previous prototype for 'tdx_smi_allowed'
by kernel test robot
tree: https://github.com/intel/tdx.git kvm-upstream
head: bdfe06c17daab60c196ff80c1d98467a1d3734fa
commit: 11f826bfb08f30839cadce9dd9ee8bddaaf97e9f [127/152] KVM: TDX: silently discard SMI request
config: i386-randconfig-m021-20211216 (https://download.01.org/0day-ci/archive/20211217/202112171034.iEVTvdx3-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/11f826bfb08f30839cadce9dd9ee8bddaaf97e9f
git remote add intel-tdx https://github.com/intel/tdx.git
git fetch --no-tags intel-tdx kvm-upstream
git checkout 11f826bfb08f30839cadce9dd9ee8bddaaf97e9f
# 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:29:5: error: no previous prototype for 'tdx_smi_allowed' [-Werror=missing-prototypes]
29 | int tdx_smi_allowed(struct kvm_vcpu *vcpu, bool for_injection) { return false; }
| ^~~~~~~~~~~~~~~
>> arch/x86/kvm/vmx/tdx_stubs.c:30:5: error: no previous prototype for 'tdx_enter_smm' [-Werror=missing-prototypes]
30 | int tdx_enter_smm(struct kvm_vcpu *vcpu, char *smstate) { return 0; }
| ^~~~~~~~~~~~~
>> arch/x86/kvm/vmx/tdx_stubs.c:31:5: error: no previous prototype for 'tdx_leave_smm' [-Werror=missing-prototypes]
31 | int tdx_leave_smm(struct kvm_vcpu *vcpu, const char *smstate) { return 0; }
| ^~~~~~~~~~~~~
>> arch/x86/kvm/vmx/tdx_stubs.c:32:6: error: no previous prototype for 'tdx_enable_smi_window' [-Werror=missing-prototypes]
32 | void tdx_enable_smi_window(struct kvm_vcpu *vcpu) {}
| ^~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:34:5: error: no previous prototype for 'tdx_dev_ioctl' [-Werror=missing-prototypes]
34 | int tdx_dev_ioctl(void __user *argp) { return -EOPNOTSUPP; }
| ^~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:35:5: error: no previous prototype for 'tdx_vm_ioctl' [-Werror=missing-prototypes]
35 | int tdx_vm_ioctl(struct kvm *kvm, void __user *argp) { return -EOPNOTSUPP; }
| ^~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:36:5: error: no previous prototype for 'tdx_vcpu_ioctl' [-Werror=missing-prototypes]
36 | 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:36:72: error: 'ENOPNOTSUPP' undeclared (first use in this function); did you mean 'EOPNOTSUPP'?
36 | int tdx_vcpu_ioctl(struct kvm_vcpu *vcpu, void __user *argp) { return -ENOPNOTSUPP; }
| ^~~~~~~~~~~
| EOPNOTSUPP
arch/x86/kvm/vmx/tdx_stubs.c:36: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:38:6: error: no previous prototype for 'tdx_flush_tlb' [-Werror=missing-prototypes]
38 | void tdx_flush_tlb(struct kvm_vcpu *vcpu) {}
| ^~~~~~~~~~~~~
arch/x86/kvm/vmx/tdx_stubs.c:39:6: error: no previous prototype for 'tdx_load_mmu_pgd' [-Werror=missing-prototypes]
39 | 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:36:85: error: control reaches end of non-void function [-Werror=return-type]
36 | int tdx_vcpu_ioctl(struct kvm_vcpu *vcpu, void __user *argp) { return -ENOPNOTSUPP; }
| ^
cc1: all warnings being treated as errors
vim +/tdx_smi_allowed +29 arch/x86/kvm/vmx/tdx_stubs.c
24
> 25 void tdx_apicv_post_state_restore(struct kvm_vcpu *vcpu) {}
> 26 int tdx_deliver_posted_interrupt(struct kvm_vcpu *vcpu, int vector) { return 0; }
> 27 void tdx_get_exit_info(struct kvm_vcpu *vcpu, u32 *reason,
28 u64 *info1, u64 *info2, u32 *intr_info, u32 *error_code) {}
> 29 int tdx_smi_allowed(struct kvm_vcpu *vcpu, bool for_injection) { return false; }
> 30 int tdx_enter_smm(struct kvm_vcpu *vcpu, char *smstate) { return 0; }
> 31 int tdx_leave_smm(struct kvm_vcpu *vcpu, const char *smstate) { return 0; }
> 32 void tdx_enable_smi_window(struct kvm_vcpu *vcpu) {}
33
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week