blob: fa5aaf363c7b2a34dc7ce5fc292bd81a6fd4577c [file] [log] [blame]
Greg Kroah-Hartmande536e32014-08-31 16:17:04 -07001greybus-y := core.o \
Greg Kroah-Hartmande536e32014-08-31 16:17:04 -07002 debugfs.o \
Johan Hovold7bc6faa2015-11-03 18:03:22 +01003 hd.o \
Alex Elderb09c94a2014-10-01 21:54:16 -05004 manifest.o \
Johan Hovoldb15d97d2016-04-23 18:47:24 +02005 module.o \
Greg Kroah-Hartmana93938a2014-12-19 14:56:30 -08006 interface.o \
Greg Kroah-Hartman3bdec692014-12-12 17:10:16 -05007 bundle.o \
Alex Elderc68adb22014-10-01 21:54:14 -05008 connection.o \
Viresh Kumarcdee4f72015-06-22 16:42:26 +05309 control.o \
Viresh Kumarab69c4c2015-07-03 17:00:29 +053010 svc.o \
Greg Kroah-Hartmaned7279a2016-01-20 22:51:49 -080011 svc_watchdog.o \
Bryan O'Donoghue970dc852016-06-05 14:03:26 +010012 operation.o \
13 timesync.o \
14 timesync_platform.o
Greg Kroah-Hartmane1308c12014-12-24 13:01:43 -080015
Sandeep Patile54b1062016-05-19 08:52:39 -070016gb-gbphy-y := gbphy.o
Greg Kroah-Hartmanc8a797a2014-08-11 15:30:45 +080017
Viresh Kumar98abb412015-01-21 16:10:41 +053018# Prefix all modules with gb-
19gb-vibrator-y := vibrator.o
Rui Miguel Silva46488842015-11-12 15:35:59 +000020gb-power-supply-y := power_supply.o
Joel Porquetc0e65d02016-06-24 14:41:36 -070021gb-log-y := log.o
Alexandre Bailon355a7052015-03-31 09:51:59 +020022gb-loopback-y := loopback.o
Rui Miguel Silva2870b522015-08-14 13:58:19 +010023gb-light-y := light.o
Greg Kroah-Hartmane806c7f2015-05-08 15:50:17 +020024gb-raw-y := raw.o
Greg Kroah-Hartmanc9e9de22015-11-04 20:46:14 -080025gb-hid-y := hid.o
Viresh Kumar98abb412015-01-21 16:10:41 +053026gb-es2-y := es2.o
Greg Kroah-Hartman1e5dd1f2015-12-30 13:38:33 -080027gb-arche-y := arche-platform.o arche-apb-ctrl.o
Vaibhav Agarwal57932272016-03-29 23:31:42 +053028gb-audio-module-y := audio_module.o audio_topology.o
29gb-audio-codec-y := audio_codec.o
Mark Greer184992e2016-01-13 14:07:46 -070030gb-audio-gb-y := audio_gb.o
Mark Greer4dbf5052016-01-13 14:07:47 -070031gb-audio-apbridgea-y := audio_apbridgea.o
Svetlin Ankov8db00732016-01-13 14:07:48 -070032gb-audio-manager-y += audio_manager.o
33gb-audio-manager-y += audio_manager_module.o
Viresh Kumaraa62b5e2016-06-09 16:34:35 +053034gb-bootrom-y := bootrom.o
Laurent Pinchart3265eda2015-12-15 03:18:06 +020035gb-camera-y := camera.o
Viresh Kumare3eda542016-06-30 10:54:00 -050036gb-firmware-y := fw-core.o fw-download.o fw-management.o authentication.o
Viresh Kumar4c412922016-05-14 23:42:19 +053037gb-spilib-y := spilib.o
Viresh Kumar3d647302016-05-09 18:15:09 +053038gb-sdio-y := sdio.o
Viresh Kumar66b9e092016-05-09 18:15:11 +053039gb-uart-y := uart.o
Viresh Kumardca80602016-05-09 18:15:08 +053040gb-pwm-y := pwm.o
Viresh Kumar7c0925e2016-05-09 18:15:06 +053041gb-gpio-y := gpio.o
Viresh Kumard6046b42016-05-09 18:15:07 +053042gb-i2c-y := i2c.o
Viresh Kumarea7c4772016-05-09 18:15:12 +053043gb-usb-y := usb.o
Viresh Kumar8888b962016-05-14 23:42:20 +053044gb-spi-y := spi.o
Viresh Kumar98abb412015-01-21 16:10:41 +053045
Greg Kroah-Hartmanc8a797a2014-08-11 15:30:45 +080046obj-m += greybus.o
Sandeep Patile54b1062016-05-19 08:52:39 -070047obj-m += gb-gbphy.o
Greg Kroah-Hartman419a8cf2015-01-14 17:08:00 -080048obj-m += gb-vibrator.o
Rui Miguel Silva46488842015-11-12 15:35:59 +000049obj-m += gb-power-supply.o
Joel Porquetc0e65d02016-06-24 14:41:36 -070050obj-m += gb-log.o
Alexandre Bailon355a7052015-03-31 09:51:59 +020051obj-m += gb-loopback.o
Rui Miguel Silva2870b522015-08-14 13:58:19 +010052obj-m += gb-light.o
Greg Kroah-Hartmanc9e9de22015-11-04 20:46:14 -080053obj-m += gb-hid.o
Greg Kroah-Hartmane806c7f2015-05-08 15:50:17 +020054obj-m += gb-raw.o
Greg Kroah-Hartmanf5870272015-01-21 10:24:15 +080055obj-m += gb-es2.o
Greg Kroah-Hartman7d0493d2016-02-15 13:58:21 -080056ifeq ($(CONFIG_USB_HSIC_USB3613),y)
57 obj-m += gb-arche.o
58endif
Greg Kroah-Hartman7030f9242016-01-25 20:13:15 -080059ifeq ($(CONFIG_ARCH_MSM8994),y)
Vaibhav Agarwal2b8c2b52016-04-21 22:14:02 +053060 obj-m += gb-audio-codec.o
61 obj-m += gb-audio-module.o
Greg Kroah-Hartman7030f9242016-01-25 20:13:15 -080062 obj-m += gb-camera.o
63endif
Mark Greer184992e2016-01-13 14:07:46 -070064obj-m += gb-audio-gb.o
Mark Greer4dbf5052016-01-13 14:07:47 -070065obj-m += gb-audio-apbridgea.o
Svetlin Ankov8db00732016-01-13 14:07:48 -070066obj-m += gb-audio-manager.o
Viresh Kumaraa62b5e2016-06-09 16:34:35 +053067obj-m += gb-bootrom.o
Viresh Kumar9e04fb72016-04-26 10:20:49 +053068obj-m += gb-firmware.o
Viresh Kumar4c412922016-05-14 23:42:19 +053069obj-m += gb-spilib.o
Viresh Kumar3d647302016-05-09 18:15:09 +053070obj-m += gb-sdio.o
Viresh Kumar66b9e092016-05-09 18:15:11 +053071obj-m += gb-uart.o
Viresh Kumardca80602016-05-09 18:15:08 +053072obj-m += gb-pwm.o
Viresh Kumar7c0925e2016-05-09 18:15:06 +053073obj-m += gb-gpio.o
Viresh Kumard6046b42016-05-09 18:15:07 +053074obj-m += gb-i2c.o
Viresh Kumarea7c4772016-05-09 18:15:12 +053075obj-m += gb-usb.o
Viresh Kumar8888b962016-05-14 23:42:20 +053076obj-m += gb-spi.o
Greg Kroah-Hartmanc8a797a2014-08-11 15:30:45 +080077
78KERNELVER ?= $(shell uname -r)
79KERNELDIR ?= /lib/modules/$(KERNELVER)/build
Bryan O'Donoghue68fff962015-05-07 17:00:50 -070080INSTALL_MOD_PATH ?= /..
Greg Kroah-Hartmanc8a797a2014-08-11 15:30:45 +080081PWD := $(shell pwd)
82
Rui Miguel Silva65cac602015-05-13 18:59:00 +010083# kernel config option that shall be enable
Rui Miguel Silva14006ab2016-01-13 14:39:55 +000084CONFIG_OPTIONS_ENABLE := POWER_SUPPLY PWM SYSFS SPI USB SND_SOC MMC LEDS_CLASS INPUT
Rui Miguel Silva65cac602015-05-13 18:59:00 +010085
86# kernel config option that shall be disable
87CONFIG_OPTIONS_DISABLE :=
88
89# this only run in kbuild part of the makefile
90ifneq ($(KERNELRELEASE),)
Rui Miguel Silva13fcfbb62015-08-14 13:58:18 +010091# This function returns the argument version if current kernel version is minor
92# than the passed version, return 1 if equal or the current kernel version if it
93# is greater than argument version.
Rui Miguel Silva1ab2e892015-08-16 00:48:03 +010094kvers_cmp=$(shell [ "$(KERNELVERSION)" = "$(1)" ] && echo 1 || printf "$(1)\n$(KERNELVERSION)" | sort -V | tail -1)
Rui Miguel Silva13fcfbb62015-08-14 13:58:18 +010095
96ifneq ($(call kvers_cmp,"3.19.0"),3.19.0)
97 CONFIG_OPTIONS_ENABLE += LEDS_CLASS_FLASH
98endif
99
100ifneq ($(call kvers_cmp,"4.2.0"),4.2.0)
101 CONFIG_OPTIONS_ENABLE += V4L2_FLASH_LED_CLASS
102endif
103
Rui Miguel Silva65cac602015-05-13 18:59:00 +0100104$(foreach opt,$(CONFIG_OPTIONS_ENABLE),$(if $(CONFIG_$(opt)),, \
105 $(error CONFIG_$(opt) is disabled in the kernel configuration and must be enable \
106 to continue compilation)))
107$(foreach opt,$(CONFIG_OPTIONS_DISABLE),$(if $(filter m y, $(CONFIG_$(opt))), \
108 $(error CONFIG_$(opt) is enabled in the kernel configuration and must be disable \
109 to continue compilation),))
110endif
111
Greg Kroah-Hartman7486dfd2014-11-19 19:09:53 -0800112# add -Wall to try to catch everything we can.
Perry Hung3a97cdd2015-07-03 00:27:12 -0400113ccflags-y := -Wall
Greg Kroah-Hartman7486dfd2014-11-19 19:09:53 -0800114
Bryan O'Donoghue5c8ad592015-09-18 16:38:45 +0100115# needed for trace events
116ccflags-y += -I$(src)
117
Svetlin Ankov8db00732016-01-13 14:07:48 -0700118GB_AUDIO_MANAGER_SYSFS ?= true
119ifeq ($(GB_AUDIO_MANAGER_SYSFS),true)
120gb-audio-manager-y += audio_manager_sysfs.o
121ccflags-y += -DGB_AUDIO_MANAGER_SYSFS
122endif
123
Greg Kroah-Hartman70b3b3e2015-12-17 22:32:03 -0800124all: module
Greg Kroah-Hartman6b0658f2015-12-15 12:46:22 -0800125
126tools::
127 $(MAKE) -C tools KERNELDIR=$(realpath $(KERNELDIR))
Greg Kroah-Hartmanc8a797a2014-08-11 15:30:45 +0800128
129module:
130 $(MAKE) -C $(KERNELDIR) M=$(PWD)
131
Greg Kroah-Hartmanac7171e2014-09-13 12:39:23 -0700132check:
133 $(MAKE) -C $(KERNELDIR) M=$(PWD) C=2 CF="-D__CHECK_ENDIAN__"
134
Greg Kroah-Hartmanc8a797a2014-08-11 15:30:45 +0800135clean:
136 rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c
137 rm -f Module.markers Module.symvers modules.order
138 rm -rf .tmp_versions Modules.symvers
Greg Kroah-Hartman6b0658f2015-12-15 12:46:22 -0800139 $(MAKE) -C tools clean
Greg Kroah-Hartmanc8a797a2014-08-11 15:30:45 +0800140
141coccicheck:
142 $(MAKE) -C $(KERNELDIR) M=$(PWD) coccicheck
143
Greg Kroah-Hartman025677d2015-01-14 14:55:24 -0800144install: module
Bryan O'Donoghue68fff962015-05-07 17:00:50 -0700145 mkdir -p $(INSTALL_MOD_PATH)/lib/modules/$(KERNELVER)/kernel/drivers/greybus/
146 cp -f *.ko $(INSTALL_MOD_PATH)/lib/modules/$(KERNELVER)/kernel/drivers/greybus/
147 depmod -b $(INSTALL_MOD_PATH) -a $(KERNELVER)