From: Rusty Russell 1) Use new lguest_send_dma & lguest_bind_dma functions. 2) sparse: lguest_cons can be static. Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton --- drivers/char/hvc_lguest.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff -puN drivers/char/hvc_lguest.c~lguest-the-console-driver-tidyups drivers/char/hvc_lguest.c --- a/drivers/char/hvc_lguest.c~lguest-the-console-driver-tidyups +++ a/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 = { _