diff options
author | Milton Miller <miltonm@bga.com> | 2005-07-07 20:56:25 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-07 21:23:39 -0400 |
commit | 030ffad23fb28fc29608a3bc21f0c3b88bf28592 (patch) | |
tree | 8fe8a2e8615e25e985c5658687d38c5c0ce7a971 /drivers/char/hvc_vio.c | |
parent | acad9559f1054487292eb10d7bb81f256e9d8f2d (diff) |
[PATCH] hvc_console: Register ops when setting up hvc_console
When registering the hvc console port, register a list of ops (read and write)
to go with it, instead of calling fixed function names.
This allows different ports to encode the data differently.
Signed-off-by: Milton Miller <miltonm@bga.com>
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/char/hvc_vio.c')
-rw-r--r-- | drivers/char/hvc_vio.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/char/hvc_vio.c b/drivers/char/hvc_vio.c index d2928f90ab51..430a2c284ad2 100644 --- a/drivers/char/hvc_vio.c +++ b/drivers/char/hvc_vio.c | |||
@@ -43,6 +43,11 @@ static struct vio_device_id hvc_driver_table[] __devinitdata = { | |||
43 | }; | 43 | }; |
44 | MODULE_DEVICE_TABLE(vio, hvc_driver_table); | 44 | MODULE_DEVICE_TABLE(vio, hvc_driver_table); |
45 | 45 | ||
46 | static struct hv_ops hvc_get_put_ops = { | ||
47 | .get_chars = hvc_get_chars, | ||
48 | .put_chars = hvc_put_chars, | ||
49 | }; | ||
50 | |||
46 | static int __devinit hvc_vio_probe(struct vio_dev *vdev, | 51 | static int __devinit hvc_vio_probe(struct vio_dev *vdev, |
47 | const struct vio_device_id *id) | 52 | const struct vio_device_id *id) |
48 | { | 53 | { |
@@ -52,7 +57,7 @@ static int __devinit hvc_vio_probe(struct vio_dev *vdev, | |||
52 | if (!vdev || !id) | 57 | if (!vdev || !id) |
53 | return -EPERM; | 58 | return -EPERM; |
54 | 59 | ||
55 | hp = hvc_alloc(vdev->unit_address, vdev->irq); | 60 | hp = hvc_alloc(vdev->unit_address, vdev->irq, &hvc_get_put_ops); |
56 | if (IS_ERR(hp)) | 61 | if (IS_ERR(hp)) |
57 | return PTR_ERR(hp); | 62 | return PTR_ERR(hp); |
58 | dev_set_drvdata(&vdev->dev, hp); | 63 | dev_set_drvdata(&vdev->dev, hp); |
@@ -115,7 +120,7 @@ static int hvc_find_vtys(void) | |||
115 | continue; | 120 | continue; |
116 | 121 | ||
117 | if (device_is_compatible(vty, "hvterm1")) { | 122 | if (device_is_compatible(vty, "hvterm1")) { |
118 | hvc_instantiate(*vtermno, num_found); | 123 | hvc_instantiate(*vtermno, num_found, &hvc_get_put_ops); |
119 | ++num_found; | 124 | ++num_found; |
120 | } | 125 | } |
121 | } | 126 | } |