diff --git a/drivers/android/Kconfig b/drivers/android/Kconfig index f87475aebeed..4f8b32fc248f 100644 --- a/drivers/android/Kconfig +++ b/drivers/android/Kconfig @@ -49,6 +49,15 @@ config ANDROID_BINDER_IPC_RUST To build this as a GKI module, choose m. +config ANDROID_BINDER_IPC_RUST_DUMMY + tristate "Empty module called rust_binder.ko" + depends on ANDROID_BINDER_IPC && !ANDROID_BINDER_IPC_RUST + help + This creates an empty module of the same name as the Rust Binder + module. This option can be used to trick the build system into + thinking that Rust Binder was successfully built in cases where Rust + support is unavailable. + config ANDROID_BINDER_IPC_SELFTEST bool "Android Binder IPC Driver Selftest" depends on ANDROID_BINDER_IPC diff --git a/drivers/android/Makefile b/drivers/android/Makefile index 0b876f863e02..5d619535bdfb 100644 --- a/drivers/android/Makefile +++ b/drivers/android/Makefile @@ -8,5 +8,10 @@ obj-$(CONFIG_ANDROID_VENDOR_HOOKS) += vendor_hooks.o obj-$(CONFIG_ANDROID_DEBUG_KINFO) += debug_kinfo.o obj-$(CONFIG_ANDROID_BINDER_IPC_RUST) += rust_binder.o +obj-$(CONFIG_ANDROID_BINDER_IPC_RUST_DUMMY) += rust_binder.o +ifdef CONFIG_ANDROID_BINDER_IPC_RUST rust_binder-objs := binder/rust_binder.o binder/rust_binderfs.o binder/rust_binder_events.o rust_binder-objs += binder/rust_binder_hooks.o binder/page_range_helper.o +else +rust_binder-objs := binder/dummy.o +endif diff --git a/drivers/android/binder/dummy.c b/drivers/android/binder/dummy.c new file mode 100644 index 000000000000..7e9f6ea3a474 --- /dev/null +++ b/drivers/android/binder/dummy.c @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: GPL-2.0 + +#include +#include + +static int __init rbd_init(void) +{ + pr_warn("Using Rust Binder dummy module"); + return 0; +} + +module_init(rbd_init); +MODULE_DESCRIPTION("Dummy Rust Binder module"); +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Alice Ryhl ");