From 8465def499c70d041a234087eff380108da7e830 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Sun, 25 Aug 2019 07:54:28 +0200 Subject: [PATCH] staging: greybus: move the greybus core to drivers/greybus The Greybus core code has been stable for a long time, and has been shipping for many years in millions of phones. With the advent of a recent Google Summer of Code project, and a number of new devices in the works from various companies, it is time to get the core greybus code out of staging as it really is going to be with us for a while. Cc: Johan Hovold Cc: linux-kernel@vger.kernel.org Cc: greybus-dev@lists.linaro.org Acked-by: Viresh Kumar Acked-by: Alex Elder Link: https://lore.kernel.org/r/20190825055429.18547-9-gregkh@linuxfoundation.org Signed-off-by: Greg Kroah-Hartman --- MAINTAINERS | 3 +++ drivers/Kconfig | 2 ++ drivers/Makefile | 1 + drivers/greybus/Kconfig | 16 ++++++++++++++++ drivers/greybus/Makefile | 19 +++++++++++++++++++ drivers/{staging => }/greybus/bundle.c | 0 drivers/{staging => }/greybus/connection.c | 0 drivers/{staging => }/greybus/control.c | 0 drivers/{staging => }/greybus/core.c | 0 drivers/{staging => }/greybus/debugfs.c | 0 drivers/{staging => }/greybus/greybus_trace.h | 0 drivers/{staging => }/greybus/hd.c | 0 drivers/{staging => }/greybus/interface.c | 0 drivers/{staging => }/greybus/manifest.c | 0 drivers/{staging => }/greybus/module.c | 0 drivers/{staging => }/greybus/operation.c | 0 drivers/{staging => }/greybus/svc.c | 0 drivers/{staging => }/greybus/svc_watchdog.c | 0 drivers/staging/greybus/Kconfig | 16 ---------------- drivers/staging/greybus/Makefile | 17 ----------------- drivers/staging/greybus/es2.c | 2 +- 21 files changed, 42 insertions(+), 34 deletions(-) create mode 100644 drivers/greybus/Kconfig create mode 100644 drivers/greybus/Makefile rename drivers/{staging => }/greybus/bundle.c (100%) rename drivers/{staging => }/greybus/connection.c (100%) rename drivers/{staging => }/greybus/control.c (100%) rename drivers/{staging => }/greybus/core.c (100%) rename drivers/{staging => }/greybus/debugfs.c (100%) rename drivers/{staging => }/greybus/greybus_trace.h (100%) rename drivers/{staging => }/greybus/hd.c (100%) rename drivers/{staging => }/greybus/interface.c (100%) rename drivers/{staging => }/greybus/manifest.c (100%) rename drivers/{staging => }/greybus/module.c (100%) rename drivers/{staging => }/greybus/operation.c (100%) rename drivers/{staging => }/greybus/svc.c (100%) rename drivers/{staging => }/greybus/svc_watchdog.c (100%) diff --git a/MAINTAINERS b/MAINTAINERS index 0f38cba2c581..e3242687cd19 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -7003,6 +7003,9 @@ M: Alex Elder M: Greg Kroah-Hartman S: Maintained F: drivers/staging/greybus/ +F: drivers/greybus/ +F: include/linux/greybus.h +F: include/linux/greybus/ L: greybus-dev@lists.linaro.org (moderated for non-subscribers) GREYBUS UART PROTOCOLS DRIVERS diff --git a/drivers/Kconfig b/drivers/Kconfig index 61cf4ea2c229..7dce76ae7369 100644 --- a/drivers/Kconfig +++ b/drivers/Kconfig @@ -146,6 +146,8 @@ source "drivers/hv/Kconfig" source "drivers/xen/Kconfig" +source "drivers/greybus/Kconfig" + source "drivers/staging/Kconfig" source "drivers/platform/Kconfig" diff --git a/drivers/Makefile b/drivers/Makefile index 6d37564e783c..73df8e5a2fce 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -148,6 +148,7 @@ obj-$(CONFIG_BCMA) += bcma/ obj-$(CONFIG_VHOST_RING) += vhost/ obj-$(CONFIG_VHOST) += vhost/ obj-$(CONFIG_VLYNQ) += vlynq/ +obj-$(CONFIG_GREYBUS) += greybus/ obj-$(CONFIG_STAGING) += staging/ obj-y += platform/ diff --git a/drivers/greybus/Kconfig b/drivers/greybus/Kconfig new file mode 100644 index 000000000000..158d8893114c --- /dev/null +++ b/drivers/greybus/Kconfig @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: GPL-2.0 +menuconfig GREYBUS + tristate "Greybus support" + depends on SYSFS + ---help--- + This option enables the Greybus driver core. Greybus is an + hardware protocol that was designed to provide Unipro with a + sane application layer. It was originally designed for the + ARA project, a module phone system, but has shown up in other + phones, and can be tunneled over other busses in order to + control hardware devices. + + Say Y here to enable support for these types of drivers. + + To compile this code as a module, chose M here: the module + will be called greybus.ko diff --git a/drivers/greybus/Makefile b/drivers/greybus/Makefile new file mode 100644 index 000000000000..03b22616ec7d --- /dev/null +++ b/drivers/greybus/Makefile @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: GPL-2.0 +# Greybus core +greybus-y := core.o \ + debugfs.o \ + hd.o \ + manifest.o \ + module.o \ + interface.o \ + bundle.o \ + connection.o \ + control.o \ + svc.o \ + svc_watchdog.o \ + operation.o + +obj-$(CONFIG_GREYBUS) += greybus.o + +# needed for trace events +ccflags-y += -I$(src) diff --git a/drivers/staging/greybus/bundle.c b/drivers/greybus/bundle.c similarity index 100% rename from drivers/staging/greybus/bundle.c rename to drivers/greybus/bundle.c diff --git a/drivers/staging/greybus/connection.c b/drivers/greybus/connection.c similarity index 100% rename from drivers/staging/greybus/connection.c rename to drivers/greybus/connection.c diff --git a/drivers/staging/greybus/control.c b/drivers/greybus/control.c similarity index 100% rename from drivers/staging/greybus/control.c rename to drivers/greybus/control.c diff --git a/drivers/staging/greybus/core.c b/drivers/greybus/core.c similarity index 100% rename from drivers/staging/greybus/core.c rename to drivers/greybus/core.c diff --git a/drivers/staging/greybus/debugfs.c b/drivers/greybus/debugfs.c similarity index 100% rename from drivers/staging/greybus/debugfs.c rename to drivers/greybus/debugfs.c diff --git a/drivers/staging/greybus/greybus_trace.h b/drivers/greybus/greybus_trace.h similarity index 100% rename from drivers/staging/greybus/greybus_trace.h rename to drivers/greybus/greybus_trace.h diff --git a/drivers/staging/greybus/hd.c b/drivers/greybus/hd.c similarity index 100% rename from drivers/staging/greybus/hd.c rename to drivers/greybus/hd.c diff --git a/drivers/staging/greybus/interface.c b/drivers/greybus/interface.c similarity index 100% rename from drivers/staging/greybus/interface.c rename to drivers/greybus/interface.c diff --git a/drivers/staging/greybus/manifest.c b/drivers/greybus/manifest.c similarity index 100% rename from drivers/staging/greybus/manifest.c rename to drivers/greybus/manifest.c diff --git a/drivers/staging/greybus/module.c b/drivers/greybus/module.c similarity index 100% rename from drivers/staging/greybus/module.c rename to drivers/greybus/module.c diff --git a/drivers/staging/greybus/operation.c b/drivers/greybus/operation.c similarity index 100% rename from drivers/staging/greybus/operation.c rename to drivers/greybus/operation.c diff --git a/drivers/staging/greybus/svc.c b/drivers/greybus/svc.c similarity index 100% rename from drivers/staging/greybus/svc.c rename to drivers/greybus/svc.c diff --git a/drivers/staging/greybus/svc_watchdog.c b/drivers/greybus/svc_watchdog.c similarity index 100% rename from drivers/staging/greybus/svc_watchdog.c rename to drivers/greybus/svc_watchdog.c diff --git a/drivers/staging/greybus/Kconfig b/drivers/staging/greybus/Kconfig index 4894c3514955..d03c37e1e6e8 100644 --- a/drivers/staging/greybus/Kconfig +++ b/drivers/staging/greybus/Kconfig @@ -1,20 +1,4 @@ # SPDX-License-Identifier: GPL-2.0 -menuconfig GREYBUS - tristate "Greybus support" - depends on SYSFS - ---help--- - This option enables the Greybus driver core. Greybus is an - hardware protocol that was designed to provide Unipro with a - sane application layer. It was originally designed for the - ARA project, a module phone system, but has shown up in other - phones, and can be tunneled over other busses in order to - control hardware devices. - - Say Y here to enable support for these types of drivers. - - To compile this code as a module, chose M here: the module - will be called greybus.ko - if GREYBUS config GREYBUS_ES2 diff --git a/drivers/staging/greybus/Makefile b/drivers/staging/greybus/Makefile index 2551ed16b742..d16853399c9a 100644 --- a/drivers/staging/greybus/Makefile +++ b/drivers/staging/greybus/Makefile @@ -1,24 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 -# Greybus core -greybus-y := core.o \ - debugfs.o \ - hd.o \ - manifest.o \ - module.o \ - interface.o \ - bundle.o \ - connection.o \ - control.o \ - svc.o \ - svc_watchdog.o \ - operation.o - -obj-$(CONFIG_GREYBUS) += greybus.o - # needed for trace events ccflags-y += -I$(src) - # Greybus Host controller drivers gb-es2-y := es2.o diff --git a/drivers/staging/greybus/es2.c b/drivers/staging/greybus/es2.c index 366716f11b1a..5b755e76d8a4 100644 --- a/drivers/staging/greybus/es2.c +++ b/drivers/staging/greybus/es2.c @@ -15,7 +15,7 @@ #include #include "arpc.h" -#include "greybus_trace.h" +#include "../../greybus/greybus_trace.h" /* Default timeout for USB vendor requests. */