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: i386-randconfig-s0-201713 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        git checkout 281310d52c1d63630f54b1ac5cca6e9eb8715b3a
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   drivers/remoteproc/remoteproc_virtio.c: In function 'rp_find_vq':
>> drivers/remoteproc/remoteproc_virtio.c:107:27: error: passing argument 8 of 
>> 'vring_new_virtqueue' from incompatible pointer type 
>> [-Werror=incompatible-pointer-types]
         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 
*) {aka _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: error: passing argument 9 of 
'vring_new_virtqueue' from incompatible pointer type 
[-Werror=incompatible-pointer-types]
         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:14: error: initialization from 
>> incompatible pointer type [-Werror=incompatible-pointer-types]
     .find_vqs = rproc_virtio_find_vqs,
                 ^~~~~~~~~~~~~~~~~~~~~
   drivers/remoteproc/remoteproc_virtio.c:264:14: note: (near initialization 
for 'rproc_virtio_config_ops.find_vqs')
   cc1: some warnings being treated as errors

vim +/vring_new_virtqueue +107 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 107 was first introduced by commit
:::::: ac8954a413930dae3c53f7e782f09a94e7eae88b remoteproc: create rpmsg virtio 
device

:::::: TO: Ohad Ben-Cohen <o...@wizery.com>
:::::: CC: Ohad Ben-Cohen <o...@wizery.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to