[<prev] [next>] [day] [month] [year] [list]
Message-ID: <201703300647.A5Noh5I7%fengguang.wu@intel.com>
Date: Thu, 30 Mar 2017 06:53:51 +0800
From: kbuild test robot <fengguang.wu@...el.com>
To: "Michael S. Tsirkin" <mst@...hat.com>
Cc: kbuild-all@...org, kvm@...r.kernel.org,
virtualization@...ts.linux-foundation.org, netdev@...r.kernel.org
Subject: [vhost:linux-next 6/19]
drivers//remoteproc/remoteproc_virtio.c:106:7: error: too few arguments to
function 'vring_new_virtqueue'
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git linux-next
head: 8ab881d0e8136390da79aa0902fe03d2f6c65e32
commit: 281310d52c1d63630f54b1ac5cca6e9eb8715b3a [6/19] virtio: add context flag to find vqs
config: x86_64-randconfig-i0-201713 (attached as .config)
compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4
reproduce:
git checkout 281310d52c1d63630f54b1ac5cca6e9eb8715b3a
# save the attached .config to linux build tree
make ARCH=x86_64
All error/warnings (new ones prefixed by >>):
drivers//remoteproc/remoteproc_virtio.c: In function 'rp_find_vq':
>> drivers//remoteproc/remoteproc_virtio.c:107:27: warning: passing argument 8 of 'vring_new_virtqueue' from incompatible pointer type
rproc_virtio_notify, callback, name);
^
In file included from drivers//remoteproc/remoteproc_virtio.c:25:0:
include/linux/virtio_ring.h:93:19: note: expected 'bool (*)(struct virtqueue *)' but argument is of type 'void (*)(struct virtqueue *)'
struct virtqueue *vring_new_virtqueue(unsigned int index,
^
drivers//remoteproc/remoteproc_virtio.c:107:37: warning: passing argument 9 of 'vring_new_virtqueue' from incompatible pointer type
rproc_virtio_notify, callback, name);
^
In file included from drivers//remoteproc/remoteproc_virtio.c:25:0:
include/linux/virtio_ring.h:93:19: note: expected 'void (*)(struct virtqueue *)' but argument is of type 'const char *'
struct virtqueue *vring_new_virtqueue(unsigned int index,
^
>> drivers//remoteproc/remoteproc_virtio.c:106:7: error: too few arguments to function 'vring_new_virtqueue'
vq = vring_new_virtqueue(id, len, rvring->align, vdev, false, addr,
^
In file included from drivers//remoteproc/remoteproc_virtio.c:25:0:
include/linux/virtio_ring.h:93:19: note: declared here
struct virtqueue *vring_new_virtqueue(unsigned int index,
^
drivers//remoteproc/remoteproc_virtio.c: At top level:
>> drivers//remoteproc/remoteproc_virtio.c:264:2: warning: initialization from incompatible pointer type
.find_vqs = rproc_virtio_find_vqs,
^
drivers//remoteproc/remoteproc_virtio.c:264:2: warning: (near initialization for 'rproc_virtio_config_ops.find_vqs')
vim +/vring_new_virtqueue +106 drivers//remoteproc/remoteproc_virtio.c
7a1869416 drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen 2012-02-13 100 id, addr, len, rvring->notifyid);
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 101
dd6da1c5e drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2012-01-12 102 /*
dd6da1c5e drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2012-01-12 103 * Create the new vq, and tell virtio we're not interested in
dd6da1c5e drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2012-01-12 104 * the 'weak' smp barriers, since we're talking with a real device.
dd6da1c5e drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2012-01-12 105 */
17bb6d408 drivers/remoteproc/remoteproc_virtio.c Jason Wang 2012-08-28 @106 vq = vring_new_virtqueue(id, len, rvring->align, vdev, false, addr,
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 @107 rproc_virtio_notify, callback, name);
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 108 if (!vq) {
b5ab5e24e drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen 2012-05-30 109 dev_err(dev, "vring_new_virtqueue %s failed\n", name);
6db20ea8d drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen 2012-05-17 110 rproc_free_vring(rvring);
7a1869416 drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen 2012-02-13 111 return ERR_PTR(-ENOMEM);
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 112 }
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 113
7a1869416 drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen 2012-02-13 114 rvring->vq = vq;
7a1869416 drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen 2012-02-13 115 vq->priv = rvring;
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 116
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 117 return vq;
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 118 }
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 119
dab55bbaf drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen 2012-11-12 120 static void __rproc_virtio_del_vqs(struct virtio_device *vdev)
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 121 {
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 122 struct virtqueue *vq, *n;
7a1869416 drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen 2012-02-13 123 struct rproc_vring *rvring;
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 124
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 125 list_for_each_entry_safe(vq, n, &vdev->vqs, list) {
7a1869416 drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen 2012-02-13 126 rvring = vq->priv;
7a1869416 drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen 2012-02-13 127 rvring->vq = NULL;
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 128 vring_del_virtqueue(vq);
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 129 }
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 130 }
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 131
dab55bbaf drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen 2012-11-12 132 static void rproc_virtio_del_vqs(struct virtio_device *vdev)
dab55bbaf drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen 2012-11-12 133 {
dab55bbaf drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen 2012-11-12 134 __rproc_virtio_del_vqs(vdev);
dab55bbaf drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen 2012-11-12 135 }
dab55bbaf drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen 2012-11-12 136
f145928d4 drivers/remoteproc/remoteproc_virtio.c Anna, Suman 2016-08-12 137 static int rproc_virtio_find_vqs(struct virtio_device *vdev, unsigned int nvqs,
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 138 struct virtqueue *vqs[],
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 139 vq_callback_t *callbacks[],
fb5e31d97 drivers/remoteproc/remoteproc_virtio.c Christoph Hellwig 2017-02-05 140 const char * const names[],
fb5e31d97 drivers/remoteproc/remoteproc_virtio.c Christoph Hellwig 2017-02-05 141 struct irq_affinity *desc)
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 142 {
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 143 int i, ret;
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 144
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 145 for (i = 0; i < nvqs; ++i) {
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 146 vqs[i] = rp_find_vq(vdev, i, callbacks[i], names[i]);
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 147 if (IS_ERR(vqs[i])) {
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 148 ret = PTR_ERR(vqs[i]);
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 149 goto error;
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 150 }
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 151 }
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 152
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 153 return 0;
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 154
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 155 error:
dab55bbaf drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen 2012-11-12 156 __rproc_virtio_del_vqs(vdev);
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 157 return ret;
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 158 }
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 159
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 160 static u8 rproc_virtio_get_status(struct virtio_device *vdev)
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 161 {
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 162 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev);
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 163 struct fw_rsc_vdev *rsc;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 164
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 165 rsc = (void *)rvdev->rproc->table_ptr + rvdev->rsc_offset;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 166
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 167 return rsc->status;
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 168 }
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 169
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 170 static void rproc_virtio_set_status(struct virtio_device *vdev, u8 status)
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 171 {
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 172 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev);
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 173 struct fw_rsc_vdev *rsc;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 174
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 175 rsc = (void *)rvdev->rproc->table_ptr + rvdev->rsc_offset;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 176
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 177 rsc->status = status;
7a1869416 drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen 2012-02-13 178 dev_dbg(&vdev->dev, "status: %d\n", status);
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 179 }
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 180
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 181 static void rproc_virtio_reset(struct virtio_device *vdev)
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 182 {
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 183 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev);
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 184 struct fw_rsc_vdev *rsc;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 185
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 186 rsc = (void *)rvdev->rproc->table_ptr + rvdev->rsc_offset;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 187
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 188 rsc->status = 0;
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 189 dev_dbg(&vdev->dev, "reset !\n");
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 190 }
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 191
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 192 /* provide the vdev features as retrieved from the firmware */
d02547736 drivers/remoteproc/remoteproc_virtio.c Michael S. Tsirkin 2014-10-07 193 static u64 rproc_virtio_get_features(struct virtio_device *vdev)
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 194 {
7a1869416 drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen 2012-02-13 195 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev);
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 196 struct fw_rsc_vdev *rsc;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 197
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 198 rsc = (void *)rvdev->rproc->table_ptr + rvdev->rsc_offset;
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 199
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 200 return rsc->dfeatures;
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 201 }
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 202
5c609a5ef drivers/remoteproc/remoteproc_virtio.c Michael S. Tsirkin 2014-12-04 203 static int rproc_virtio_finalize_features(struct virtio_device *vdev)
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 204 {
7a1869416 drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen 2012-02-13 205 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev);
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 206 struct fw_rsc_vdev *rsc;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 207
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 208 rsc = (void *)rvdev->rproc->table_ptr + rvdev->rsc_offset;
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 209
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 210 /* Give virtio_ring a chance to accept features */
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 211 vring_transport_features(vdev);
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 212
93d389f82 drivers/remoteproc/remoteproc_virtio.c Michael S. Tsirkin 2014-11-27 213 /* Make sure we don't have any features > 32 bits! */
93d389f82 drivers/remoteproc/remoteproc_virtio.c Michael S. Tsirkin 2014-11-27 214 BUG_ON((u32)vdev->features != vdev->features);
93d389f82 drivers/remoteproc/remoteproc_virtio.c Michael S. Tsirkin 2014-11-27 215
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 216 /*
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 217 * Remember the finalized features of our vdev, and provide it
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 218 * to the remote processor once it is powered on.
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 219 */
e16e12be3 drivers/remoteproc/remoteproc_virtio.c Michael S. Tsirkin 2014-10-07 220 rsc->gfeatures = vdev->features;
5c609a5ef drivers/remoteproc/remoteproc_virtio.c Michael S. Tsirkin 2014-12-04 221
5c609a5ef drivers/remoteproc/remoteproc_virtio.c Michael S. Tsirkin 2014-12-04 222 return 0;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 223 }
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 224
f145928d4 drivers/remoteproc/remoteproc_virtio.c Anna, Suman 2016-08-12 225 static void rproc_virtio_get(struct virtio_device *vdev, unsigned int offset,
f145928d4 drivers/remoteproc/remoteproc_virtio.c Anna, Suman 2016-08-12 226 void *buf, unsigned int len)
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 227 {
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 228 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev);
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 229 struct fw_rsc_vdev *rsc;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 230 void *cfg;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 231
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 232 rsc = (void *)rvdev->rproc->table_ptr + rvdev->rsc_offset;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 233 cfg = &rsc->vring[rsc->num_of_vrings];
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 234
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 235 if (offset + len > rsc->config_len || offset + len < len) {
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 236 dev_err(&vdev->dev, "rproc_virtio_get: access out of bounds\n");
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 237 return;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 238 }
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 239
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 240 memcpy(buf, cfg + offset, len);
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 241 }
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 242
f145928d4 drivers/remoteproc/remoteproc_virtio.c Anna, Suman 2016-08-12 243 static void rproc_virtio_set(struct virtio_device *vdev, unsigned int offset,
f145928d4 drivers/remoteproc/remoteproc_virtio.c Anna, Suman 2016-08-12 244 const void *buf, unsigned int len)
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 245 {
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 246 struct rproc_vdev *rvdev = vdev_to_rvdev(vdev);
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 247 struct fw_rsc_vdev *rsc;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 248 void *cfg;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 249
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 250 rsc = (void *)rvdev->rproc->table_ptr + rvdev->rsc_offset;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 251 cfg = &rsc->vring[rsc->num_of_vrings];
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 252
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 253 if (offset + len > rsc->config_len || offset + len < len) {
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 254 dev_err(&vdev->dev, "rproc_virtio_set: access out of bounds\n");
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 255 return;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 256 }
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 257
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland 2013-02-21 258 memcpy(cfg + offset, buf, len);
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 259 }
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 260
935039323 drivers/remoteproc/remoteproc_virtio.c Stephen Hemminger 2013-02-10 261 static const struct virtio_config_ops rproc_virtio_config_ops = {
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 262 .get_features = rproc_virtio_get_features,
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 263 .finalize_features = rproc_virtio_finalize_features,
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 @264 .find_vqs = rproc_virtio_find_vqs,
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 265 .del_vqs = rproc_virtio_del_vqs,
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 266 .reset = rproc_virtio_reset,
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c Ohad Ben-Cohen 2011-10-20 267 .set_status = rproc_virtio_set_status,
:::::: The code at line 106 was first introduced by commit
:::::: 17bb6d40880d4178f5f8a75900ed8c9ff47d3fb2 virtio-ring: move queue_index to vring_virtqueue
:::::: TO: Jason Wang <jasowang@...hat.com>
:::::: CC: Rusty Russell <rusty@...tcorp.com.au>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Download attachment ".config.gz" of type "application/gzip" (27133 bytes)
Powered by blists - more mailing lists