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