# SPDX-License-Identifier: GPL-2.0
obj-$(CONFIG_TYPEC_TCPM)		+= tcpm.o
obj-$(CONFIG_TYPEC_FUSB302)		+= fusb302.o
obj-$(CONFIG_TYPEC_WCOVE)		+= typec_wcove.o
typec_wcove-y				:= wcove.o
obj-$(CONFIG_TYPEC_TCPCI)		+= tcpci.o
obj-$(CONFIG_TYPEC_RT1711H)		+= tcpci_rt1711h-drv.o
tcpci_rt1711h-drv-y			+= tcpci_rt1711h.o
obj-$(CONFIG_TYPEC_MT6360)		+= tcpci_mt6360.o
obj-$(CONFIG_TYPEC_TCPCI_MT6370)	+= tcpci_mt6370.o
obj-$(CONFIG_TYPEC_TCPCI_MAXIM)		+= tcpci_maxim.o
tcpci_maxim-y				+= tcpci_maxim_core.o maxim_contaminant.o
obj-$(CONFIG_TYPEC_QCOM_PMIC)		+= qcom/

# Per-driver Rust .o to avoid circular dependency (tcpci_rt1711h <-> ucsi_stm32g0 <-> nb7vpq904m)
ifdef CONFIG_RUST_DRIVERS
RUST_DRV := usb/typec
include $(srctree)/drivers/rust/templates/kbuild-rust-driver.mk

ifneq ($(CONFIG_TYPEC_RT1711H),)
$(obj)/rust/typec_tcpci_rt1711h_rust.o: FORCE
	$(Q)mkdir -p $(dir $@)
	$(Q)OBJTREE=$(abspath $(objtree)) OBJ=$(abspath $(obj)) OUTPUT_FILE=$(abspath $@).__rust_tmp CARGO_FEATURES=tcpci_rt1711h CROSS_COMPILE="$(CROSS_COMPILE)" $(RUST_BUILD_SH)
	$(Q)if [ ! -f $@ ] || ! cmp -s $@.__rust_tmp $@; then mv $@.__rust_tmp $@; else rm -f $@.__rust_tmp; fi
	$(Q)echo 'savedcmd_$@ := rust-build $(RUST_BUILD_SH)' > $(dir $@).$(notdir $@).cmd
OBJECT_FILES_NON_STANDARD_typec_tcpci_rt1711h_rust.o := y
tcpci_rt1711h-drv-y += rust/typec_tcpci_rt1711h_rust.o
endif

endif
