Makefile 1.3 KB

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