|
@@ -41,7 +41,6 @@
|
|
#include <linux/delay.h>
|
|
#include <linux/delay.h>
|
|
#include <linux/slab.h>
|
|
#include <linux/slab.h>
|
|
#include <linux/console.h>
|
|
#include <linux/console.h>
|
|
-#include <linux/module.h>
|
|
|
|
|
|
|
|
#include <asm/hvconsole.h>
|
|
#include <asm/hvconsole.h>
|
|
#include <asm/vio.h>
|
|
#include <asm/vio.h>
|
|
@@ -61,7 +60,6 @@ static struct vio_device_id hvc_driver_table[] = {
|
|
#endif
|
|
#endif
|
|
{ "", "" }
|
|
{ "", "" }
|
|
};
|
|
};
|
|
-MODULE_DEVICE_TABLE(vio, hvc_driver_table);
|
|
|
|
|
|
|
|
typedef enum hv_protocol {
|
|
typedef enum hv_protocol {
|
|
HV_PROTOCOL_RAW,
|
|
HV_PROTOCOL_RAW,
|
|
@@ -363,26 +361,13 @@ static int hvc_vio_probe(struct vio_dev *vdev,
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
-static int hvc_vio_remove(struct vio_dev *vdev)
|
|
|
|
-{
|
|
|
|
- struct hvc_struct *hp = dev_get_drvdata(&vdev->dev);
|
|
|
|
- int rc, termno;
|
|
|
|
-
|
|
|
|
- termno = hp->vtermno;
|
|
|
|
- rc = hvc_remove(hp);
|
|
|
|
- if (rc == 0) {
|
|
|
|
- if (hvterm_privs[termno] != &hvterm_priv0)
|
|
|
|
- kfree(hvterm_privs[termno]);
|
|
|
|
- hvterm_privs[termno] = NULL;
|
|
|
|
- }
|
|
|
|
- return rc;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
static struct vio_driver hvc_vio_driver = {
|
|
static struct vio_driver hvc_vio_driver = {
|
|
.id_table = hvc_driver_table,
|
|
.id_table = hvc_driver_table,
|
|
.probe = hvc_vio_probe,
|
|
.probe = hvc_vio_probe,
|
|
- .remove = hvc_vio_remove,
|
|
|
|
.name = hvc_driver_name,
|
|
.name = hvc_driver_name,
|
|
|
|
+ .driver = {
|
|
|
|
+ .suppress_bind_attrs = true,
|
|
|
|
+ },
|
|
};
|
|
};
|
|
|
|
|
|
static int __init hvc_vio_init(void)
|
|
static int __init hvc_vio_init(void)
|
|
@@ -394,13 +379,7 @@ static int __init hvc_vio_init(void)
|
|
|
|
|
|
return rc;
|
|
return rc;
|
|
}
|
|
}
|
|
-module_init(hvc_vio_init); /* after drivers/char/hvc_console.c */
|
|
|
|
-
|
|
|
|
-static void __exit hvc_vio_exit(void)
|
|
|
|
-{
|
|
|
|
- vio_unregister_driver(&hvc_vio_driver);
|
|
|
|
-}
|
|
|
|
-module_exit(hvc_vio_exit);
|
|
|
|
|
|
+device_initcall(hvc_vio_init); /* after drivers/tty/hvc/hvc_console.c */
|
|
|
|
|
|
void __init hvc_vio_init_early(void)
|
|
void __init hvc_vio_init_early(void)
|
|
{
|
|
{
|