The serial driver currently fails to unregister its pnp driver upon
module unload. This patch corrects the problem by calling
pnp_unregister_driver and implementing a proper remove function.
static void serial_pnp_remove(struct pnp_dev * dev)
{
- return;
+ int line = (int)pnp_get_drvdata(dev);
+ if (line)
+ unregister_serial(line - 1);
}
static struct pnp_driver serial_pnp_driver = {
static void __exit serial8250_pnp_exit(void)
{
- /* FIXME */
+ pnp_unregister_driver(&serial_pnp_driver);
}
module_init(serial8250_pnp_init);