From: kernel test robot <lkp@intel.com>
To: Mathieu Poirier <mathieu.poirier@linaro.org>,
ohad@wizery.com, bjorn.andersson@linaro.org,
guennadi.liakhovetski@linux.intel.com
Cc: kbuild-all@lists.01.org, loic.pallardy@st.com,
linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 10/10] rpmsg: ns: Make Name service module transport agnostic
Date: Wed, 23 Sep 2020 10:39:27 +0800 [thread overview]
Message-ID: <202009231048.dYUKeRPq%lkp@intel.com> (raw)
In-Reply-To: <20200922001000.899956-11-mathieu.poirier@linaro.org>
[-- Attachment #1: Type: text/plain, Size: 14047 bytes --]
Hi Mathieu,
I love your patch! Perhaps something to improve:
[auto build test WARNING on next-20200921]
[cannot apply to linux/master linus/master rpmsg/for-next v5.9-rc6 v5.9-rc5 v5.9-rc4 v5.9-rc6]
[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/Mathieu-Poirier/rpmsg-Make-RPMSG-name-service-modular/20200922-081745
base: b10b8ad862118bf42c28a98b0f067619aadcfb23
config: i386-randconfig-s001-20200921 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-201-g24bdaac6-dirty
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
drivers/rpmsg/virtio_rpmsg_bus.c:165:43: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected restricted __virtio16 [usertype] val @@ got unsigned short [usertype] val @@
drivers/rpmsg/virtio_rpmsg_bus.c:165:43: sparse: expected restricted __virtio16 [usertype] val
drivers/rpmsg/virtio_rpmsg_bus.c:165:43: sparse: got unsigned short [usertype] val
drivers/rpmsg/virtio_rpmsg_bus.c:173:31: sparse: sparse: incorrect type in return expression (different base types) @@ expected unsigned short @@ got restricted __virtio16 @@
drivers/rpmsg/virtio_rpmsg_bus.c:173:31: sparse: expected unsigned short
drivers/rpmsg/virtio_rpmsg_bus.c:173:31: sparse: got restricted __virtio16
drivers/rpmsg/virtio_rpmsg_bus.c:181:43: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected restricted __virtio32 [usertype] val @@ got unsigned int [usertype] val @@
drivers/rpmsg/virtio_rpmsg_bus.c:181:43: sparse: expected restricted __virtio32 [usertype] val
drivers/rpmsg/virtio_rpmsg_bus.c:181:43: sparse: got unsigned int [usertype] val
drivers/rpmsg/virtio_rpmsg_bus.c:189:31: sparse: sparse: incorrect type in return expression (different base types) @@ expected unsigned int @@ got restricted __virtio32 @@
drivers/rpmsg/virtio_rpmsg_bus.c:189:31: sparse: expected unsigned int
drivers/rpmsg/virtio_rpmsg_bus.c:189:31: sparse: got restricted __virtio32
>> drivers/rpmsg/virtio_rpmsg_bus.c:267:26: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [addressable] [usertype] addr @@ got restricted __virtio32 @@
>> drivers/rpmsg/virtio_rpmsg_bus.c:267:26: sparse: expected unsigned int [addressable] [usertype] addr
drivers/rpmsg/virtio_rpmsg_bus.c:267:26: sparse: got restricted __virtio32
>> drivers/rpmsg/virtio_rpmsg_bus.c:268:27: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [addressable] [usertype] flags @@ got restricted __virtio32 @@
>> drivers/rpmsg/virtio_rpmsg_bus.c:268:27: sparse: expected unsigned int [addressable] [usertype] flags
drivers/rpmsg/virtio_rpmsg_bus.c:268:27: sparse: got restricted __virtio32
drivers/rpmsg/virtio_rpmsg_bus.c:291:26: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [addressable] [usertype] addr @@ got restricted __virtio32 @@
drivers/rpmsg/virtio_rpmsg_bus.c:291:26: sparse: expected unsigned int [addressable] [usertype] addr
drivers/rpmsg/virtio_rpmsg_bus.c:291:26: sparse: got restricted __virtio32
drivers/rpmsg/virtio_rpmsg_bus.c:292:27: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [addressable] [usertype] flags @@ got restricted __virtio32 @@
drivers/rpmsg/virtio_rpmsg_bus.c:292:27: sparse: expected unsigned int [addressable] [usertype] flags
drivers/rpmsg/virtio_rpmsg_bus.c:292:27: sparse: got restricted __virtio32
# https://github.com/0day-ci/linux/commit/ab159ea48198df2ab06ff9fe97e63cca354bff20
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Mathieu-Poirier/rpmsg-Make-RPMSG-name-service-modular/20200922-081745
git checkout ab159ea48198df2ab06ff9fe97e63cca354bff20
vim +267 drivers/rpmsg/virtio_rpmsg_bus.c
dd032e0b67fcd61 Mathieu Poirier 2020-09-21 167
dd032e0b67fcd61 Mathieu Poirier 2020-09-21 168 static u16 virtio_rpmsg_cpu_to_transport16(struct rpmsg_device *rpdev, u16 val)
dd032e0b67fcd61 Mathieu Poirier 2020-09-21 169 {
dd032e0b67fcd61 Mathieu Poirier 2020-09-21 170 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev);
dd032e0b67fcd61 Mathieu Poirier 2020-09-21 171 struct virtproc_info *vrp = vch->vrp;
dd032e0b67fcd61 Mathieu Poirier 2020-09-21 172
dd032e0b67fcd61 Mathieu Poirier 2020-09-21 @173 return cpu_to_virtio16(vrp->vdev, val);
dd032e0b67fcd61 Mathieu Poirier 2020-09-21 174 }
dd032e0b67fcd61 Mathieu Poirier 2020-09-21 175
dd032e0b67fcd61 Mathieu Poirier 2020-09-21 176 static u32 virtio_rpmsg_transport32_to_cpu(struct rpmsg_device *rpdev, u32 val)
dd032e0b67fcd61 Mathieu Poirier 2020-09-21 177 {
dd032e0b67fcd61 Mathieu Poirier 2020-09-21 178 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev);
dd032e0b67fcd61 Mathieu Poirier 2020-09-21 179 struct virtproc_info *vrp = vch->vrp;
dd032e0b67fcd61 Mathieu Poirier 2020-09-21 180
dd032e0b67fcd61 Mathieu Poirier 2020-09-21 @181 return virtio32_to_cpu(vrp->vdev, val);
dd032e0b67fcd61 Mathieu Poirier 2020-09-21 182 }
dd032e0b67fcd61 Mathieu Poirier 2020-09-21 183
dd032e0b67fcd61 Mathieu Poirier 2020-09-21 184 static u32 virtio_rpmsg_cpu_to_transport32(struct rpmsg_device *rpdev, u32 val)
dd032e0b67fcd61 Mathieu Poirier 2020-09-21 185 {
dd032e0b67fcd61 Mathieu Poirier 2020-09-21 186 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev);
dd032e0b67fcd61 Mathieu Poirier 2020-09-21 187 struct virtproc_info *vrp = vch->vrp;
dd032e0b67fcd61 Mathieu Poirier 2020-09-21 188
dd032e0b67fcd61 Mathieu Poirier 2020-09-21 189 return cpu_to_virtio32(vrp->vdev, val);
dd032e0b67fcd61 Mathieu Poirier 2020-09-21 190 }
dd032e0b67fcd61 Mathieu Poirier 2020-09-21 191
644f6e9ac5ebdd8 Arnaud Pouliquen 2020-09-21 192 static struct rpmsg_device *
644f6e9ac5ebdd8 Arnaud Pouliquen 2020-09-21 193 virtio_rpmsg_create_channel(struct rpmsg_device *rpdev,
644f6e9ac5ebdd8 Arnaud Pouliquen 2020-09-21 194 struct rpmsg_channel_info *chinfo)
644f6e9ac5ebdd8 Arnaud Pouliquen 2020-09-21 195 {
644f6e9ac5ebdd8 Arnaud Pouliquen 2020-09-21 196 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev);
644f6e9ac5ebdd8 Arnaud Pouliquen 2020-09-21 197 struct virtproc_info *vrp = vch->vrp;
644f6e9ac5ebdd8 Arnaud Pouliquen 2020-09-21 198
644f6e9ac5ebdd8 Arnaud Pouliquen 2020-09-21 199 return __rpmsg_create_channel(vrp, chinfo);
644f6e9ac5ebdd8 Arnaud Pouliquen 2020-09-21 200 }
644f6e9ac5ebdd8 Arnaud Pouliquen 2020-09-21 201
644f6e9ac5ebdd8 Arnaud Pouliquen 2020-09-21 202 static int virtio_rpmsg_release_channel(struct rpmsg_device *rpdev,
644f6e9ac5ebdd8 Arnaud Pouliquen 2020-09-21 203 struct rpmsg_channel_info *chinfo)
644f6e9ac5ebdd8 Arnaud Pouliquen 2020-09-21 204 {
644f6e9ac5ebdd8 Arnaud Pouliquen 2020-09-21 205 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev);
644f6e9ac5ebdd8 Arnaud Pouliquen 2020-09-21 206 struct virtproc_info *vrp = vch->vrp;
644f6e9ac5ebdd8 Arnaud Pouliquen 2020-09-21 207
644f6e9ac5ebdd8 Arnaud Pouliquen 2020-09-21 208 return rpmsg_unregister_device(&vrp->vdev->dev, chinfo);
644f6e9ac5ebdd8 Arnaud Pouliquen 2020-09-21 209 }
644f6e9ac5ebdd8 Arnaud Pouliquen 2020-09-21 210
36b72c7dca71871 Bjorn Andersson 2016-09-01 211 static struct rpmsg_endpoint *virtio_rpmsg_create_ept(struct rpmsg_device *rpdev,
36b72c7dca71871 Bjorn Andersson 2016-09-01 212 rpmsg_rx_cb_t cb,
36b72c7dca71871 Bjorn Andersson 2016-09-01 213 void *priv,
36b72c7dca71871 Bjorn Andersson 2016-09-01 214 struct rpmsg_channel_info chinfo)
36b72c7dca71871 Bjorn Andersson 2016-09-01 215 {
3bf950ff23337fc Bjorn Andersson 2016-09-01 216 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev);
3bf950ff23337fc Bjorn Andersson 2016-09-01 217
3bf950ff23337fc Bjorn Andersson 2016-09-01 218 return __rpmsg_create_ept(vch->vrp, rpdev, cb, priv, chinfo.src);
36b72c7dca71871 Bjorn Andersson 2016-09-01 219 }
36b72c7dca71871 Bjorn Andersson 2016-09-01 220
bcabbccabffe732 Ohad Ben-Cohen 2011-10-20 221 /**
fa2d7795b2e8595 Ohad Ben-Cohen 2012-02-09 222 * __rpmsg_destroy_ept() - destroy an existing rpmsg endpoint
fa2d7795b2e8595 Ohad Ben-Cohen 2012-02-09 223 * @vrp: virtproc which owns this ept
bcabbccabffe732 Ohad Ben-Cohen 2011-10-20 224 * @ept: endpoing to destroy
bcabbccabffe732 Ohad Ben-Cohen 2011-10-20 225 *
fa2d7795b2e8595 Ohad Ben-Cohen 2012-02-09 226 * An internal function which destroy an ept without assuming it is
fa2d7795b2e8595 Ohad Ben-Cohen 2012-02-09 227 * bound to an rpmsg channel. This is needed for handling the internal
fa2d7795b2e8595 Ohad Ben-Cohen 2012-02-09 228 * name service endpoint, which isn't bound to an rpmsg channel.
fa2d7795b2e8595 Ohad Ben-Cohen 2012-02-09 229 * See also __rpmsg_create_ept().
bcabbccabffe732 Ohad Ben-Cohen 2011-10-20 230 */
fa2d7795b2e8595 Ohad Ben-Cohen 2012-02-09 231 static void
fa2d7795b2e8595 Ohad Ben-Cohen 2012-02-09 232 __rpmsg_destroy_ept(struct virtproc_info *vrp, struct rpmsg_endpoint *ept)
bcabbccabffe732 Ohad Ben-Cohen 2011-10-20 233 {
15fd943af50dbc5 Ohad Ben-Cohen 2012-06-07 234 /* make sure new inbound messages can't find this ept anymore */
bcabbccabffe732 Ohad Ben-Cohen 2011-10-20 235 mutex_lock(&vrp->endpoints_lock);
bcabbccabffe732 Ohad Ben-Cohen 2011-10-20 236 idr_remove(&vrp->endpoints, ept->addr);
bcabbccabffe732 Ohad Ben-Cohen 2011-10-20 237 mutex_unlock(&vrp->endpoints_lock);
bcabbccabffe732 Ohad Ben-Cohen 2011-10-20 238
15fd943af50dbc5 Ohad Ben-Cohen 2012-06-07 239 /* make sure in-flight inbound messages won't invoke cb anymore */
15fd943af50dbc5 Ohad Ben-Cohen 2012-06-07 240 mutex_lock(&ept->cb_lock);
15fd943af50dbc5 Ohad Ben-Cohen 2012-06-07 241 ept->cb = NULL;
15fd943af50dbc5 Ohad Ben-Cohen 2012-06-07 242 mutex_unlock(&ept->cb_lock);
15fd943af50dbc5 Ohad Ben-Cohen 2012-06-07 243
5a081caa0414b9b Ohad Ben-Cohen 2012-06-06 244 kref_put(&ept->refcount, __ept_release);
bcabbccabffe732 Ohad Ben-Cohen 2011-10-20 245 }
fa2d7795b2e8595 Ohad Ben-Cohen 2012-02-09 246
8a228ecfe086b84 Bjorn Andersson 2016-09-01 247 static void virtio_rpmsg_destroy_ept(struct rpmsg_endpoint *ept)
8a228ecfe086b84 Bjorn Andersson 2016-09-01 248 {
3bf950ff23337fc Bjorn Andersson 2016-09-01 249 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(ept->rpdev);
3bf950ff23337fc Bjorn Andersson 2016-09-01 250
3bf950ff23337fc Bjorn Andersson 2016-09-01 251 __rpmsg_destroy_ept(vch->vrp, ept);
8a228ecfe086b84 Bjorn Andersson 2016-09-01 252 }
8a228ecfe086b84 Bjorn Andersson 2016-09-01 253
36b72c7dca71871 Bjorn Andersson 2016-09-01 254 static int virtio_rpmsg_announce_create(struct rpmsg_device *rpdev)
36b72c7dca71871 Bjorn Andersson 2016-09-01 255 {
3bf950ff23337fc Bjorn Andersson 2016-09-01 256 struct virtio_rpmsg_channel *vch = to_virtio_rpmsg_channel(rpdev);
3bf950ff23337fc Bjorn Andersson 2016-09-01 257 struct virtproc_info *vrp = vch->vrp;
36b72c7dca71871 Bjorn Andersson 2016-09-01 258 struct device *dev = &rpdev->dev;
36b72c7dca71871 Bjorn Andersson 2016-09-01 259 int err = 0;
36b72c7dca71871 Bjorn Andersson 2016-09-01 260
bcabbccabffe732 Ohad Ben-Cohen 2011-10-20 261 /* need to tell remote processor's name service about this channel ? */
b2599ebffb2d32e Henri Roosen 2017-06-02 262 if (rpdev->announce && rpdev->ept &&
bcabbccabffe732 Ohad Ben-Cohen 2011-10-20 263 virtio_has_feature(vrp->vdev, VIRTIO_RPMSG_F_NS)) {
bcabbccabffe732 Ohad Ben-Cohen 2011-10-20 264 struct rpmsg_ns_msg nsm;
bcabbccabffe732 Ohad Ben-Cohen 2011-10-20 265
bcabbccabffe732 Ohad Ben-Cohen 2011-10-20 266 strncpy(nsm.name, rpdev->id.name, RPMSG_NAME_SIZE);
111d1089700cdb7 Guennadi Liakhovetski 2020-07-21 @267 nsm.addr = cpu_to_virtio32(vrp->vdev, rpdev->ept->addr);
111d1089700cdb7 Guennadi Liakhovetski 2020-07-21 @268 nsm.flags = cpu_to_virtio32(vrp->vdev, RPMSG_NS_CREATE);
bcabbccabffe732 Ohad Ben-Cohen 2011-10-20 269
2a48d7322dc88f1 Bjorn Andersson 2016-09-01 270 err = rpmsg_sendto(rpdev->ept, &nsm, sizeof(nsm), RPMSG_NS_ADDR);
bcabbccabffe732 Ohad Ben-Cohen 2011-10-20 271 if (err)
bcabbccabffe732 Ohad Ben-Cohen 2011-10-20 272 dev_err(dev, "failed to announce service %d\n", err);
bcabbccabffe732 Ohad Ben-Cohen 2011-10-20 273 }
bcabbccabffe732 Ohad Ben-Cohen 2011-10-20 274
bcabbccabffe732 Ohad Ben-Cohen 2011-10-20 275 return err;
bcabbccabffe732 Ohad Ben-Cohen 2011-10-20 276 }
bcabbccabffe732 Ohad Ben-Cohen 2011-10-20 277
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 37737 bytes --]
next prev parent reply other threads:[~2020-09-23 2:40 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-22 0:09 [PATCH 00/10] rpmsg: Make RPMSG name service modular Mathieu Poirier
2020-09-22 0:09 ` [PATCH 01/10] rpmsg: virtio: rename rpmsg_create_channel Mathieu Poirier
2020-09-22 7:06 ` Guennadi Liakhovetski
2020-09-22 19:22 ` Mathieu Poirier
2020-09-22 0:09 ` [PATCH 02/10] rpmsg: core: Add channel creation internal API Mathieu Poirier
2020-09-30 6:35 ` Guennadi Liakhovetski
2020-10-01 14:46 ` Arnaud POULIQUEN
2020-09-22 0:09 ` [PATCH 03/10] rpmsg: virtio: Add rpmsg channel device ops Mathieu Poirier
2020-09-22 0:09 ` [PATCH 04/10] rpmsg: Move common structures and defines to headers Mathieu Poirier
2020-09-22 14:26 ` Arnaud POULIQUEN
2020-09-22 19:36 ` Mathieu Poirier
2020-09-30 6:54 ` Guennadi Liakhovetski
2020-09-22 0:09 ` [PATCH 05/10] rpmsg: virtio: Move virtio RPMSG structures to private header Mathieu Poirier
2020-09-22 14:27 ` Arnaud POULIQUEN
2020-09-30 7:03 ` Guennadi Liakhovetski
2020-10-07 17:14 ` Mathieu Poirier
2020-09-22 0:09 ` [PATCH 06/10] rpmsg: Turn name service into a stand alone driver Mathieu Poirier
2020-09-23 1:23 ` kernel test robot
2020-09-30 7:09 ` Guennadi Liakhovetski
2020-10-01 16:14 ` Arnaud POULIQUEN
2020-09-22 0:09 ` [PATCH 07/10] rpmsg: virtio: use rpmsg ns device for the ns announcement Mathieu Poirier
2020-09-22 0:09 ` [PATCH 08/10] rpmsg: core: Add RPMSG byte conversion operations Mathieu Poirier
2020-09-22 1:07 ` Randy Dunlap
2020-09-22 14:34 ` Arnaud POULIQUEN
2020-09-22 19:46 ` Mathieu Poirier
2020-09-23 11:56 ` Dan Carpenter
2020-09-30 7:11 ` Guennadi Liakhovetski
2020-09-22 0:09 ` [PATCH 09/10] rpmsg: virtio: Make endianness conversion virtIO specific Mathieu Poirier
2020-09-23 1:08 ` kernel test robot
2020-09-22 0:10 ` [PATCH 10/10] rpmsg: ns: Make Name service module transport agnostic Mathieu Poirier
2020-09-23 2:39 ` kernel test robot [this message]
2020-09-30 7:13 ` Guennadi Liakhovetski
2020-10-07 17:26 ` Mathieu Poirier
2020-09-22 8:09 ` [PATCH 00/10] rpmsg: Make RPMSG name service modular Guennadi Liakhovetski
2020-09-22 19:12 ` Mathieu Poirier
2020-09-24 6:53 ` Guennadi Liakhovetski
2020-09-24 18:18 ` Mathieu Poirier
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=202009231048.dYUKeRPq%lkp@intel.com \
--to=lkp@intel.com \
--cc=bjorn.andersson@linaro.org \
--cc=guennadi.liakhovetski@linux.intel.com \
--cc=kbuild-all@lists.01.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-remoteproc@vger.kernel.org \
--cc=loic.pallardy@st.com \
--cc=mathieu.poirier@linaro.org \
--cc=ohad@wizery.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