mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-19 02:34:01 +08:00
staging: greybus: Add drivers/staging/greybus to the build
This adds a proper Kconfig file for drivers/staging/greybus and fixes up the Makefile to work correctly within the kernel build system (modules depend on the .config options, etc.) Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
parent
526dec0642
commit
d4f56b47a8
@ -104,4 +104,6 @@ source "drivers/staging/i4l/Kconfig"
|
||||
|
||||
source "drivers/staging/ks7010/Kconfig"
|
||||
|
||||
source "drivers/staging/greybus/Kconfig"
|
||||
|
||||
endif # STAGING
|
||||
|
@ -41,3 +41,4 @@ obj-$(CONFIG_WILC1000) += wilc1000/
|
||||
obj-$(CONFIG_MOST) += most/
|
||||
obj-$(CONFIG_ISDN_I4L) += i4l/
|
||||
obj-$(CONFIG_KS7010) += ks7010/
|
||||
obj-$(CONFIG_GREYBUS) += greybus/
|
||||
|
219
drivers/staging/greybus/Kconfig
Normal file
219
drivers/staging/greybus/Kconfig
Normal file
@ -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 && BROKEN
|
||||
---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-led.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
|
@ -1,3 +1,4 @@
|
||||
# Greybus core
|
||||
greybus-y := core.o \
|
||||
debugfs.o \
|
||||
hd.o \
|
||||
@ -13,135 +14,83 @@ greybus-y := core.o \
|
||||
timesync.o \
|
||||
timesync_platform.o
|
||||
|
||||
gb-gbphy-y := gbphy.o
|
||||
|
||||
# Prefix all modules with gb-
|
||||
gb-vibrator-y := vibrator.o
|
||||
gb-power-supply-y := power_supply.o
|
||||
gb-log-y := log.o
|
||||
gb-loopback-y := loopback.o
|
||||
gb-light-y := light.o
|
||||
gb-raw-y := raw.o
|
||||
gb-hid-y := hid.o
|
||||
gb-es2-y := es2.o
|
||||
gb-arche-y := arche-platform.o arche-apb-ctrl.o
|
||||
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
|
||||
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 authentication.o
|
||||
gb-spilib-y := spilib.o
|
||||
gb-sdio-y := sdio.o
|
||||
gb-uart-y := uart.o
|
||||
gb-pwm-y := pwm.o
|
||||
gb-gpio-y := gpio.o
|
||||
gb-i2c-y := i2c.o
|
||||
gb-usb-y := usb.o
|
||||
gb-spi-y := spi.o
|
||||
|
||||
obj-m += greybus.o
|
||||
obj-m += gb-gbphy.o
|
||||
obj-m += gb-vibrator.o
|
||||
obj-m += gb-power-supply.o
|
||||
obj-m += gb-log.o
|
||||
obj-m += gb-loopback.o
|
||||
obj-m += gb-light.o
|
||||
obj-m += gb-hid.o
|
||||
obj-m += gb-raw.o
|
||||
obj-m += gb-es2.o
|
||||
ifeq ($(CONFIG_USB_HSIC_USB3613),y)
|
||||
obj-m += gb-arche.o
|
||||
endif
|
||||
ifeq ($(CONFIG_ARCH_MSM8994),y)
|
||||
obj-m += gb-audio-codec.o
|
||||
obj-m += gb-audio-module.o
|
||||
obj-m += gb-camera.o
|
||||
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
|
||||
obj-m += gb-uart.o
|
||||
obj-m += gb-pwm.o
|
||||
obj-m += gb-gpio.o
|
||||
obj-m += gb-i2c.o
|
||||
obj-m += gb-usb.o
|
||||
obj-m += gb-spi.o
|
||||
|
||||
KERNELVER ?= $(shell uname -r)
|
||||
KERNELDIR ?= /lib/modules/$(KERNELVER)/build
|
||||
INSTALL_MOD_PATH ?= /..
|
||||
PWD := $(shell pwd)
|
||||
|
||||
# kernel config option that shall be enable
|
||||
CONFIG_OPTIONS_ENABLE := POWER_SUPPLY PWM SYSFS SPI USB SND_SOC MMC LEDS_CLASS INPUT
|
||||
|
||||
# kernel config option that shall be disable
|
||||
CONFIG_OPTIONS_DISABLE :=
|
||||
|
||||
# this only run in kbuild part of the makefile
|
||||
ifneq ($(KERNELRELEASE),)
|
||||
# This function returns the argument version if current kernel version is minor
|
||||
# than the passed version, return 1 if equal or the current kernel version if it
|
||||
# is greater than argument version.
|
||||
kvers_cmp=$(shell [ "$(KERNELVERSION)" = "$(1)" ] && echo 1 || printf "$(1)\n$(KERNELVERSION)" | sort -V | tail -1)
|
||||
|
||||
ifneq ($(call kvers_cmp,"3.19.0"),3.19.0)
|
||||
CONFIG_OPTIONS_ENABLE += LEDS_CLASS_FLASH
|
||||
endif
|
||||
|
||||
ifneq ($(call kvers_cmp,"4.2.0"),4.2.0)
|
||||
CONFIG_OPTIONS_ENABLE += V4L2_FLASH_LED_CLASS
|
||||
endif
|
||||
|
||||
$(foreach opt,$(CONFIG_OPTIONS_ENABLE),$(if $(CONFIG_$(opt)),, \
|
||||
$(error CONFIG_$(opt) is disabled in the kernel configuration and must be enable \
|
||||
to continue compilation)))
|
||||
$(foreach opt,$(CONFIG_OPTIONS_DISABLE),$(if $(filter m y, $(CONFIG_$(opt))), \
|
||||
$(error CONFIG_$(opt) is enabled in the kernel configuration and must be disable \
|
||||
to continue compilation),))
|
||||
endif
|
||||
|
||||
# add -Wall to try to catch everything we can.
|
||||
ccflags-y := -Wall
|
||||
obj-$(CONFIG_GREYBUS) += greybus.o
|
||||
|
||||
# needed for trace events
|
||||
ccflags-y += -I$(src)
|
||||
|
||||
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
|
||||
|
||||
all: module
|
||||
# Greybus Host controller drivers
|
||||
gb-es2-y := es2.o
|
||||
|
||||
tools::
|
||||
$(MAKE) -C tools KERNELDIR=$(realpath $(KERNELDIR))
|
||||
obj-$(CONFIG_GREYBUS_ES2) += gb-es2.o
|
||||
|
||||
module:
|
||||
$(MAKE) -C $(KERNELDIR) M=$(PWD)
|
||||
# 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
|
||||
|
||||
check:
|
||||
$(MAKE) -C $(KERNELDIR) M=$(PWD) C=2 CF="-D__CHECK_ENDIAN__"
|
||||
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
|
||||
|
||||
clean:
|
||||
rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c
|
||||
rm -f Module.markers Module.symvers modules.order
|
||||
rm -rf .tmp_versions Modules.symvers
|
||||
$(MAKE) -C tools clean
|
||||
# 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
|
||||
|
||||
coccicheck:
|
||||
$(MAKE) -C $(KERNELDIR) M=$(PWD) coccicheck
|
||||
# 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
|
||||
|
||||
install: module
|
||||
mkdir -p $(INSTALL_MOD_PATH)/lib/modules/$(KERNELVER)/kernel/drivers/greybus/
|
||||
cp -f *.ko $(INSTALL_MOD_PATH)/lib/modules/$(KERNELVER)/kernel/drivers/greybus/
|
||||
depmod -b $(INSTALL_MOD_PATH) -a $(KERNELVER)
|
||||
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
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user