1) Use new lguest_send_dma & lguest_bind_dma functions.
2) sparse: lguest_cons can be static.

Signed-off-by: Rusty Russell <[EMAIL PROTECTED]>
---
 drivers/char/hvc_lguest.c |   15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

===================================================================
--- a/drivers/char/hvc_lguest.c
+++ b/drivers/char/hvc_lguest.c
@@ -36,7 +36,7 @@ static int put_chars(u32 vtermno, const 
        dma.len[1] = 0;
        dma.addr[0] = __pa(buf);
 
-       hcall(LHCALL_SEND_DMA, LGUEST_CONSOLE_DMA_KEY, __pa(&dma), 0);
+       lguest_send_dma(LGUEST_CONSOLE_DMA_KEY, &dma);
        return count;
 }
 
@@ -59,7 +59,7 @@ static int get_chars(u32 vtermno, char *
        return count;
 }
 
-struct hv_ops lguest_cons = {
+static struct hv_ops lguest_cons = {
        .get_chars = get_chars,
        .put_chars = put_chars,
 };
@@ -75,14 +75,17 @@ console_initcall(cons_init);
 
 static int lguestcons_probe(struct lguest_device *lgdev)
 {
-       lgdev->private = hvc_alloc(0, lgdev->index+1, &lguest_cons, 256);
+       int err;
+
+       lgdev->private = hvc_alloc(0, lgdev_irq(lgdev), &lguest_cons, 256);
        if (IS_ERR(lgdev->private))
                return PTR_ERR(lgdev->private);
 
-       if (!hcall(LHCALL_BIND_DMA, LGUEST_CONSOLE_DMA_KEY, __pa(&cons_input),
-                  (1<<8) + lgdev->index+1))
+       err = lguest_bind_dma(LGUEST_CONSOLE_DMA_KEY, &cons_input, 1,
+                             lgdev_irq(lgdev));
+       if (err)
                printk("lguest console: failed to bind buffer.\n");
-       return 0;
+       return err;
 }
 
 static struct lguest_driver lguestcons_drv = {


_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/virtualization

Reply via email to