From: kernel test robot <lkp@intel.com>
To: Jacopo Mondi <jacopo+renesas@jmondi.org>,
tomi.valkeinen@ideasonboard.com, sakari.ailus@linux.intel.com,
laurent.pinchart@ideasonboard.com, niklas.soderlund@ragnatech.se,
kieran.bingham@ideasonboard.com
Cc: kbuild-all@lists.01.org, Jacopo Mondi <jacopo+renesas@jmondi.org>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
linux-media@vger.kernel.org, Hans Verkuil <hverkuil@xs4all.nl>,
linux-renesas-soc@vger.kernel.org
Subject: Re: [PATCH 2/5] media: adv748x: Add support for v4l2_subdev_state
Date: Fri, 17 Dec 2021 12:24:45 +0800 [thread overview]
Message-ID: <202112171114.znOy3iE9-lkp@intel.com> (raw)
In-Reply-To: <20211216170323.141321-3-jacopo+renesas@jmondi.org>
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-CSI-2-VC-support/20211217-010519
base: git://linuxtv.org/media_tree.git master
config: i386-randconfig-m031-20211216 (https://download.01.org/0day-ci/archive/20211217/202112171114.znOy3iE9-lkp@intel.com/config)
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/beac1be47b64ce291e1647699be3f26d88028b3b
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@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
next prev parent reply other threads:[~2021-12-17 4:25 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-16 17:03 [PATCH 0/5] media: adv748x: Add CSI-2 VC support Jacopo Mondi
2021-12-16 17:03 ` [PATCH 1/5] media: adv748x: Add flags to adv748x_subdev_init() Jacopo Mondi
2021-12-16 17:03 ` [PATCH 2/5] media: adv748x: Add support for v4l2_subdev_state Jacopo Mondi
2021-12-17 2:41 ` kernel test robot
2021-12-17 4:24 ` kernel test robot [this message]
2021-12-16 17:03 ` [PATCH 3/5] media: adv748x: Move format to subdev state Jacopo Mondi
2021-12-17 7:30 ` kernel test robot
2021-12-16 17:03 ` [PATCH 4/5] media: adv748x: Implement .get_frame_desc() Jacopo Mondi
2021-12-17 3:12 ` kernel test robot
2021-12-16 17:03 ` [PATCH 5/5] media: adv748x: Implement set_routing Jacopo Mondi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202112171114.znOy3iE9-lkp@intel.com \
--to=lkp@intel.com \
--cc=hverkuil@xs4all.nl \
--cc=jacopo+renesas@jmondi.org \
--cc=kbuild-all@lists.01.org \
--cc=kieran.bingham@ideasonboard.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=niklas.soderlund@ragnatech.se \
--cc=sakari.ailus@linux.intel.com \
--cc=tomi.valkeinen@ideasonboard.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox