apbuart: Fix build and missing driver unregister.
linux/of_platform.h needs to be included
OF driver needs to be unregistered
Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/drivers/serial/apbuart.c b/drivers/serial/apbuart.c
index 5f9dec3..a1e9503 100644
--- a/drivers/serial/apbuart.c
+++ b/drivers/serial/apbuart.c
@@ -25,6 +25,7 @@
#include <linux/device.h>
#include <linux/of.h>
#include <linux/of_device.h>
+#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/io.h>
#include <linux/serial_core.h>
@@ -676,8 +677,7 @@
return ret;
}
- ret = of_register_driver(&grlib_apbuart_of_driver, &of_platform_bus_type);
-
+ ret = of_register_platform_driver(&grlib_apbuart_of_driver);
if (ret) {
printk(KERN_ERR
"%s: of_register_platform_driver failed (%i)\n",
@@ -698,7 +698,7 @@
&grlib_apbuart_ports[i]);
uart_unregister_driver(&grlib_apbuart_driver);
-
+ of_unregister_platform_driver(&grlib_apbuart_of_driver);
}
module_init(grlib_apbuart_init);