Browse Source

greybus: bootrom: Compile as a separate module

User space doesn't break anymore with new greybus modules and its time
to make bootrom a separate module.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Viresh Kumar 9 năm trước cách đây
mục cha
commit
aa62b5e49a

+ 2 - 1
drivers/staging/greybus/Makefile

@@ -9,7 +9,6 @@ greybus-y :=	core.o		\
 		control.o	\
 		svc.o		\
 		svc_watchdog.o	\
-		bootrom.o	\
 		operation.o	\
 		timesync.o	\
 		timesync_platform.o
@@ -31,6 +30,7 @@ gb-audio-gb-y := audio_gb.o
 gb-audio-apbridgea-y := audio_apbridgea.o
 gb-audio-manager-y += audio_manager.o
 gb-audio-manager-y += audio_manager_module.o
+gb-bootrom-y := bootrom.o
 gb-camera-y := camera.o
 gb-firmware-y := fw-core.o fw-download.o fw-management.o
 gb-spilib-y := spilib.o
@@ -62,6 +62,7 @@ endif
 obj-m += gb-audio-gb.o
 obj-m += gb-audio-apbridgea.o
 obj-m += gb-audio-manager.o
+obj-m += gb-bootrom.o
 obj-m += gb-firmware.o
 obj-m += gb-spilib.o
 obj-m += gb-sdio.o

+ 2 - 9
drivers/staging/greybus/bootrom.c

@@ -12,7 +12,6 @@
 #include <linux/mutex.h>
 #include <linux/workqueue.h>
 
-#include "bootrom.h"
 #include "greybus.h"
 
 /* Timeout, in jiffies, within which the next request must be received */
@@ -455,12 +454,6 @@ static struct greybus_driver gb_bootrom_driver = {
 	.id_table	= gb_bootrom_id_table,
 };
 
-int gb_bootrom_init(void)
-{
-	return greybus_register(&gb_bootrom_driver);
-}
+module_greybus_driver(gb_bootrom_driver);
 
-void gb_bootrom_exit(void)
-{
-	greybus_deregister(&gb_bootrom_driver);
-}
+MODULE_LICENSE("GPL v2");

+ 0 - 16
drivers/staging/greybus/bootrom.h

@@ -1,16 +0,0 @@
-/*
- * Greybus bootrom code
- *
- * Copyright 2016 Google Inc.
- * Copyright 2016 Linaro Ltd.
- *
- * Released under the GPLv2 only.
- */
-
-#ifndef __BOOTROM_H
-#define __BOOTROM_H
-
-int gb_bootrom_init(void);
-void gb_bootrom_exit(void);
-
-#endif /* __BOOTROM_H */

+ 0 - 10
drivers/staging/greybus/core.c

@@ -10,7 +10,6 @@
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
 
 #define CREATE_TRACE_POINTS
-#include "bootrom.h"
 #include "greybus.h"
 #include "greybus_trace.h"
 
@@ -271,12 +270,6 @@ static int __init gb_init(void)
 		goto error_operation;
 	}
 
-	retval = gb_bootrom_init();
-	if (retval) {
-		pr_err("gb_bootrom_init failed\n");
-		goto error_bootrom;
-	}
-
 	retval = gb_timesync_init();
 	if (retval) {
 		pr_err("gb_timesync_init failed\n");
@@ -285,8 +278,6 @@ static int __init gb_init(void)
 	return 0;	/* Success */
 
 error_timesync:
-	gb_bootrom_exit();
-error_bootrom:
 	gb_operation_exit();
 error_operation:
 	gb_hd_exit();
@@ -302,7 +293,6 @@ module_init(gb_init);
 static void __exit gb_exit(void)
 {
 	gb_timesync_exit();
-	gb_bootrom_exit();
 	gb_operation_exit();
 	gb_hd_exit();
 	bus_unregister(&greybus_bus_type);