Linux 6.9-rc1
[linux-2.6-microblaze.git] / drivers / firmware / arm_scmi / Makefile
1 # SPDX-License-Identifier: GPL-2.0-only
2 scmi-bus-y = bus.o
3 scmi-core-objs := $(scmi-bus-y)
4
5 scmi-driver-y = driver.o notify.o
6 scmi-driver-$(CONFIG_ARM_SCMI_RAW_MODE_SUPPORT) += raw_mode.o
7 scmi-transport-$(CONFIG_ARM_SCMI_HAVE_SHMEM) = shmem.o
8 scmi-transport-$(CONFIG_ARM_SCMI_TRANSPORT_MAILBOX) += mailbox.o
9 scmi-transport-$(CONFIG_ARM_SCMI_TRANSPORT_SMC) += smc.o
10 scmi-transport-$(CONFIG_ARM_SCMI_HAVE_MSG) += msg.o
11 scmi-transport-$(CONFIG_ARM_SCMI_TRANSPORT_VIRTIO) += virtio.o
12 scmi-transport-$(CONFIG_ARM_SCMI_TRANSPORT_OPTEE) += optee.o
13 scmi-protocols-y = base.o clock.o perf.o power.o reset.o sensors.o system.o voltage.o powercap.o
14 scmi-module-objs := $(scmi-driver-y) $(scmi-protocols-y) $(scmi-transport-y)
15
16 obj-$(CONFIG_ARM_SCMI_PROTOCOL) += scmi-core.o
17 obj-$(CONFIG_ARM_SCMI_PROTOCOL) += scmi-module.o
18
19 obj-$(CONFIG_ARM_SCMI_POWER_CONTROL) += scmi_power_control.o
20
21 ifeq ($(CONFIG_THUMB2_KERNEL)$(CONFIG_CC_IS_CLANG),yy)
22 # The use of R7 in the SMCCC conflicts with the compiler's use of R7 as a frame
23 # pointer in Thumb2 mode, which is forcibly enabled by Clang when profiling
24 # hooks are inserted via the -pg switch.
25 CFLAGS_REMOVE_smc.o += $(CC_FLAGS_FTRACE)
26 endif