# SPDX-License-Identifier: GPL-2.0
#
# Makefile for the tablet drivers
#


obj-$(CONFIG_TABLET_USB_ACECAD)	+= acecad-drv.o
obj-$(CONFIG_TABLET_USB_AIPTEK)	+= aiptek-drv.o
obj-$(CONFIG_TABLET_USB_HANWANG) += hanwang-drv.o
obj-$(CONFIG_TABLET_USB_KBTAB)	+= kbtab-drv.o
obj-$(CONFIG_TABLET_USB_PEGASUS) += pegasus_notetaker-drv.o
obj-$(CONFIG_TABLET_SERIAL_WACOM4) += wacom_serial4-drv.o

# Acecad driver (composite object for Rust integration)
acecad-drv-y := acecad.o

# Aiptek driver (composite object for Rust integration)
aiptek-drv-y := aiptek.o

# KBTab driver (composite object for Rust integration)
kbtab-drv-y := kbtab.o

# Hanwang driver (composite object for Rust integration)
hanwang-drv-y := hanwang.o

# Pegasus driver (composite object for Rust integration)
pegasus_notetaker-drv-y := pegasus_notetaker.o

# Wacom Serial4 driver (composite object for Rust integration)
wacom_serial4-drv-y := wacom_serial4.o

# Rust driver integration
# 注意：shim 代码已编译到 vmlinux，驱动只需链接 Rust 对象
# 目录结构与 C 代码保持一致：drivers/rust/drivers/input/tablet
ifeq ($(CONFIG_RUST_DRIVERS),y)
RUST_DRV := input/tablet
include $(srctree)/drivers/rust/templates/kbuild-rust-driver.mk

# 将 Rust 对象文件链接到 acecad 驱动（shim 已在 vmlinux）
acecad-drv-y += $(RUST_DRV_OBJ)

# 将 Rust 对象文件链接到 aiptek 驱动（shim 已在 vmlinux）
aiptek-drv-y += $(RUST_DRV_OBJ)

# 将 Rust 对象文件链接到 kbtab 驱动（shim 已在 vmlinux）
kbtab-drv-y += $(RUST_DRV_OBJ)

# 将 Rust 对象文件链接到 hanwang 驱动（shim 已在 vmlinux）
hanwang-drv-y += $(RUST_DRV_OBJ)

# 将 Rust 对象文件链接到 pegasus 驱动（shim 已在 vmlinux）
pegasus_notetaker-drv-y += $(RUST_DRV_OBJ)

# 将 Rust 对象文件链接到 wacom_serial4 驱动（shim 已在 vmlinux）
wacom_serial4-drv-y += $(RUST_DRV_OBJ)
endif
