This adds the drivers/greybus/ directory to the build and provides a
valid Kconfig file.

Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
---
 drivers/Kconfig          |    2 
 drivers/Makefile         |    1 
 drivers/greybus/Kconfig  |  219 +++++++++++++++++++++++++++++++++++++++++++++++
 drivers/greybus/Makefile |   96 ++++++++++++++++++++
 4 files changed, 318 insertions(+)

--- a/drivers/Kconfig
+++ b/drivers/Kconfig
@@ -202,4 +202,6 @@ source "drivers/hwtracing/intel_th/Kconf
 
 source "drivers/fpga/Kconfig"
 
+source "drivers/greybus/Kconfig"
+
 endmenu
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -173,3 +173,4 @@ obj-$(CONFIG_STM)           += hwtracing/stm/
 obj-$(CONFIG_ANDROID)          += android/
 obj-$(CONFIG_NVMEM)            += nvmem/
 obj-$(CONFIG_FPGA)             += fpga/
+obj-$(CONFIG_GREYBUS)          += greybus/
--- /dev/null
+++ b/drivers/greybus/Kconfig
@@ -0,0 +1,219 @@
+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
+       tristate "Greybus ES3 USB host controller"
+       depends on USB
+       ---help---
+         Select this option if you have a Toshiba ES3 USB device that
+         acts as a Greybus "host controller".  This device is a bridge
+         from a USB device to a Unipro network.
+
+         To compile this code as a module, chose M here: the module
+         will be called gb-es2.ko
+
+config GREYBUS_AUDIO
+       tristate "Greybus Audio Class driver"
+       depends on SOUND
+       ---help---
+         Select this option if you have a device that follows the
+         Greybus Audio Class specification.
+
+         To compile this code as a module, chose M here: the module
+         will be called gb-audio.ko
+
+config GREYBUS_BOOTROM
+       tristate "Greybus Bootrom Class driver"
+       ---help---
+         Select this option if you have a device that follows the
+         Greybus Bootrom Class specification.
+
+         To compile this code as a module, chose M here: the module
+         will be called gb-bootrom.ko
+
+config GREYBUS_CAMERA
+       tristate "Greybus Camera Class driver"
+       depends on MEDIA && LEDS_CLASS_FLASH && BROKEN
+       ---help---
+         Select this option if you have a device that follows the
+         Greybus Camera Class specification.
+
+         To compile this code as a module, chose M here: the module
+         will be called gb-camera.ko
+
+config GREYBUS_FIRMWARE
+       tristate "Greybus Firmware Download Class driver"
+       depends on SPI
+       ---help---
+         Select this option if you have a device that follows the
+         Greybus Firmware Download Class specification.
+
+         To compile this code as a module, chose M here: the module
+         will be called gb-firmware.ko
+
+config GREYBUS_HID
+       tristate "Greybus HID Class driver"
+       depends on HID && INPUT
+       ---help---
+         Select this option if you have a device that follows the
+         Greybus HID Class specification.
+
+         To compile this code as a module, chose M here: the module
+         will be called gb-hid.ko
+
+config GREYBUS_LIGHT
+       tristate "Greybus LED Class driver"
+       depends on LEDS_CLASS
+       ---help---
+         Select this option if you have a device that follows the
+         Greybus LED Class specification.
+
+         To compile this code as a module, chose M here: the module
+         will be called gb-light.ko
+
+config GREYBUS_LOG
+       tristate "Greybus Debug Log Class driver"
+       ---help---
+         Select this option if you have a device that follows the
+         Greybus Debug Log Class specification.
+
+         To compile this code as a module, chose M here: the module
+         will be called gb-log.ko
+
+config GREYBUS_LOOPBACK
+       tristate "Greybus Loopback Class driver"
+       ---help---
+         Select this option if you have a device that follows the
+         Greybus Debug Log Class specification.
+
+         To compile this code as a module, chose M here: the module
+         will be called gb-log.ko
+
+config GREYBUS_POWER
+       tristate "Greybus Powersupply Class driver"
+       depends on POWER_SUPPLY
+       ---help---
+         Select this option if you have a device that follows the
+         Greybus Powersupply Class specification.
+
+         To compile this code as a module, chose M here: the module
+         will be called gb-power-supply.ko
+
+config GREYBUS_RAW
+       tristate "Greybus Raw Class driver"
+       ---help---
+         Select this option if you have a device that follows the
+         Greybus Raw Class specification.
+
+         To compile this code as a module, chose M here: the module
+         will be called gb-raw.ko
+
+config GREYBUS_VIBRATOR
+       tristate "Greybus Vibrator Motor Class driver"
+       ---help---
+         Select this option if you have a device that follows the
+         Greybus Vibrator Motor Class specification.
+
+         To compile this code as a module, chose M here: the module
+         will be called gb-vibrator.ko
+
+menuconfig GREYBUS_BRIDGED_PHY
+       tristate "Greybus Bridged PHY Class drivers"
+       ---help---
+         Select this option to pick from a variety of Greybus Bridged
+         PHY class drivers.  These drivers emulate a number of
+         different "traditional" busses by tunneling them over Greybus.
+         Examples of this include serial, SPI, USB, and others.
+
+         To compile this code as a module, chose M here: the module
+         will be called gb-phy.ko
+
+if GREYBUS_BRIDGED_PHY
+
+config GREYBUS_GPIO
+       tristate "Greybus GPIO Bridged PHY driver"
+       depends on GPIO
+       ---help---
+         Select this option if you have a device that follows the
+         Greybus GPIO Bridged PHY Class specification.
+
+         To compile this code as a module, chose M here: the module
+         will be called gb-gpio.ko
+
+config GREYBUS_I2C
+       tristate "Greybus I2C Bridged PHY driver"
+       depends on I2C
+       ---help---
+         Select this option if you have a device that follows the
+         Greybus I2C Bridged PHY Class specification.
+
+         To compile this code as a module, chose M here: the module
+         will be called gb-i2c.ko
+
+config GREYBUS_PWM
+       tristate "Greybus PWM Bridged PHY driver"
+       depends on PWM
+       ---help---
+         Select this option if you have a device that follows the
+         Greybus PWM Bridged PHY Class specification.
+
+         To compile this code as a module, chose M here: the module
+         will be called gb-pwm.ko
+
+config GREYBUS_SDIO
+       tristate "Greybus SDIO Bridged PHY driver"
+       depends on MMC
+       ---help---
+         Select this option if you have a device that follows the
+         Greybus SDIO Bridged PHY Class specification.
+
+         To compile this code as a module, chose M here: the module
+         will be called gb-sdio.ko
+
+config GREYBUS_SPI
+       tristate "Greybus SPI Bridged PHY driver"
+       depends on SPI
+       ---help---
+         Select this option if you have a device that follows the
+         Greybus SPI Bridged PHY Class specification.
+
+         To compile this code as a module, chose M here: the module
+         will be called gb-spi.ko
+
+config GREYBUS_UART
+       tristate "Greybus UART Bridged PHY driver"
+       depends on TTY
+       ---help---
+         Select this option if you have a device that follows the
+         Greybus UART Bridged PHY Class specification.
+
+         To compile this code as a module, chose M here: the module
+         will be called gb-uart.ko
+
+config GREYBUS_USB
+       tristate "Greybus USB Host Bridged PHY driver"
+       depends on USB
+       ---help---
+         Select this option if you have a device that follows the
+         Greybus USB Host Bridged PHY Class specification.
+
+         To compile this code as a module, chose M here: the module
+         will be called gb-usb.ko
+
+endif  # GREYBUS_BRIDGED_PHY
+endif  # GREYBUS
--- /dev/null
+++ b/drivers/greybus/Makefile
@@ -0,0 +1,96 @@
+# 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     \
+               timesync.o      \
+               timesync_platform.o
+
+obj-$(CONFIG_GREYBUS)          += greybus.o
+
+# needed for trace events
+ccflags-y += -I$(src)
+
+
+# Greybus Host controller drivers
+gb-es2-y := es2.o
+
+obj-$(CONFIG_GREYBUS_ES2)      += gb-es2.o
+
+# Greybus class drivers
+gb-bootrom-y           := bootrom.o
+gb-camera-y            := camera.o
+gb-firmware-y          := fw-core.o fw-download.o fw-management.o 
authentication.o
+gb-spilib-y            := spilib.o
+gb-hid-y               := hid.o
+gb-light-y             := light.o
+gb-log-y               := log.o
+gb-loopback-y          := loopback.o
+gb-power-supply-y      := power_supply.o
+gb-raw-y               := raw.o
+gb-vibrator-y          := vibrator.o
+
+obj-$(CONFIG_GREYBUS_BOOTROM)  += gb-bootrom.o
+obj-$(CONFIG_GREYBUS_CAMERA)   += gb-camera.o
+obj-$(CONFIG_GREYBUS_FIRMWARE) += gb-firmware.o gb-spilib.o
+obj-$(CONFIG_GREYBUS_HID)      += gb-hid.o
+obj-$(CONFIG_GREYBUS_LIGHT)    += gb-light.o
+obj-$(CONFIG_GREYBUS_LOG)      += gb-log.o
+obj-$(CONFIG_GREYBUS_LOOPBACK) += gb-loopback.o
+obj-$(CONFIG_GREYBUS_POWER)    += gb-power-supply.o
+obj-$(CONFIG_GREYBUS_RAW)      += gb-raw.o
+obj-$(CONFIG_GREYBUS_VIBRATOR) += gb-vibrator.o
+
+# Greybus Audio is a bunch of modules
+gb-audio-module-y      := audio_module.o audio_topology.o
+gb-audio-codec-y       := audio_codec.o
+gb-audio-gb-y          := audio_gb.o
+gb-audio-apbridgea-y   := audio_apbridgea.o
+gb-audio-manager-y     := audio_manager.o audio_manager_module.o
+
+# Greybus Audio sysfs helpers can be useful when debugging
+#GB_AUDIO_MANAGER_SYSFS ?= true
+#ifeq ($(GB_AUDIO_MANAGER_SYSFS),true)
+#gb-audio-manager-y += audio_manager_sysfs.o
+#ccflags-y += -DGB_AUDIO_MANAGER_SYSFS
+#endif
+
+obj-$(CONFIG_GREYBUS_AUDIO_MSM8994)    += gb-audio-codec.o
+obj-$(CONFIG_GREYBUS_AUDIO_MSM8994)    += gb-audio-module.o
+obj-$(CONFIG_GREYBUS_AUDIO)            += gb-audio-gb.o
+obj-$(CONFIG_GREYBUS_AUDIO)            += gb-audio-apbridgea.o
+obj-$(CONFIG_GREYBUS_AUDIO)            += gb-audio-manager.o
+
+
+# Greybus Bridged PHY drivers
+gb-gbphy-y := gbphy.o
+gb-gpio-y := gpio.o
+gb-i2c-y := i2c.o
+gb-pwm-y := pwm.o
+gb-sdio-y := sdio.o
+gb-spi-y := spi.o
+gb-uart-y := uart.o
+gb-usb-y := usb.o
+
+obj-$(CONFIG_GREYBUS_BRIDGED_PHY)      += gb-gbphy.o
+obj-$(CONFIG_GREYBUS_GPIO)             += gb-gpio.o
+obj-$(CONFIG_GREYBUS_I2C)              += gb-i2c.o
+obj-$(CONFIG_GREYBUS_PWM)              += gb-pwm.o
+obj-$(CONFIG_GREYBUS_SDIO)             += gb-sdio.o
+obj-$(CONFIG_GREYBUS_SPI)              += gb-spi.o gb-spilib.o
+obj-$(CONFIG_GREYBUS_UART)             += gb-uart.o
+obj-$(CONFIG_GREYBUS_USB)              += gb-usb.o
+
+
+# Greybus Platform driver
+gb-arche-y     := arche-platform.o arche-apb-ctrl.o
+
+obj-$(CONFIG_USB_HSIC_USB3613) += gb-arche.o


Reply via email to