maru_inputs: correct argument for virtioqueue
authorJinhyung Jo <jinhyung.jo@samsung.com>
Tue, 23 Feb 2016 05:28:43 +0000 (14:28 +0900)
committerJinhyung Jo <jinhyung.jo@samsung.com>
Tue, 23 Feb 2016 05:28:43 +0000 (14:28 +0900)
The fourth argument of the virtqueue_add_inbuf() is a 'data' token
handled to virtqueue_get_buf().
So change to clear targets instead of constant values typecasted.

Change-Id: Ibc3aef906568cff4e9a2b809d72c1eb0c15b73cf
Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
drivers/maru/maru_virtio_hwkey.c
drivers/maru/maru_virtio_keyboard.c
drivers/maru/maru_virtio_rotary.c

index 77c83f83142e7905e77f0c57a534eb63361ca44c..03f30eb21bd125e244a72d9a3fff4d8eafcbbfa2 100644 (file)
@@ -197,7 +197,7 @@ static int virtio_hwkey_probe(struct virtio_device *vdev)
        }
 
        err = virtqueue_add_inbuf(vh->vq, vh->sg,
-                       MAX_BUF_COUNT, (void *)MAX_BUF_COUNT, GFP_ATOMIC);
+                       MAX_BUF_COUNT, (void *)vh->vbuf, GFP_ATOMIC);
 
        /* register for input device */
        vh->idev = input_allocate_device();
index 7396442499df7feda9599d99aea918b2ed628a62..f318ef153a84329bfd1d59928b2f4a874f8cf5df 100644 (file)
@@ -106,7 +106,7 @@ static void vq_keyboard_handle(struct virtqueue *vq)
                        vqidx = 0;
                }
        }
-       err = virtqueue_add_inbuf(vq, vkbd->sg, KBD_BUF_SIZE, (void *)KBD_BUF_SIZE, GFP_ATOMIC);
+       err = virtqueue_add_inbuf(vq, vkbd->sg, KBD_BUF_SIZE, (void *)vkbd->kbdevt, GFP_ATOMIC);
        if (err < 0) {
                VKBD_LOG(KERN_ERR, "failed to add buffer to virtqueue.\n");
                return;
@@ -177,7 +177,7 @@ static int virtio_keyboard_probe(struct virtio_device *vdev)
                                sizeof(struct EmulKbdEvent));
        }
 
-       ret = virtqueue_add_inbuf(vkbd->vq, vkbd->sg, KBD_BUF_SIZE, (void *)KBD_BUF_SIZE, GFP_ATOMIC);
+       ret = virtqueue_add_inbuf(vkbd->vq, vkbd->sg, KBD_BUF_SIZE, (void *)vkbd->kbdevt, GFP_ATOMIC);
        if (ret < 0) {
                VKBD_LOG(KERN_ERR, "failed to add buffer to virtqueue.\n");
                kfree(vkbd);
index ad904c62022d4eb22df406e5b5c198e943cbcfc8..bdbbd9c9424ac9dd7637c99e69ef3b1243b7bdaa 100644 (file)
@@ -157,7 +157,7 @@ static void vq_rotary_handler(struct virtqueue *vq)
        err = virtqueue_add_inbuf(vq,
                                                vrtr->sg,
                                                ROTARY_BUF_SIZE,
-                                               (void *)ROTARY_BUF_SIZE,
+                                               (void *)vrtr->event,
                                                GFP_ATOMIC);
        if (err < 0) {
                VR_LOG(KERN_ERR, "failed to add buffer to virtqueue\n");
@@ -214,7 +214,7 @@ static int virtio_rotary_probe(struct virtio_device *vdev)
        ret = virtqueue_add_inbuf(vrtr->vq,
                                                        vrtr->sg,
                                                        ROTARY_BUF_SIZE,
-                                                       (void *)ROTARY_BUF_SIZE,
+                                                       (void *)vrtr->event,
                                                        GFP_ATOMIC);
 
        /* register for input device */