linux/net/9p/Kconfig
Arnd Bergmann 2193ede180 net/9p/usbg: fix CONFIG_USB_GADGET dependency
When USB gadget support is in a loadable module, 9pfs cannot
link to it as a built-in driver:

x86_64-linux-ld: vmlinux.o: in function `usb9pfs_free_func':
trans_usbg.c:(.text+0x1070012): undefined reference to `usb_free_all_descriptors'
x86_64-linux-ld: vmlinux.o: in function `disable_ep':
trans_usbg.c:(.text+0x1070528): undefined reference to `usb_ep_disable'
x86_64-linux-ld: vmlinux.o: in function `usb9pfs_func_unbind':
trans_usbg.c:(.text+0x10705df): undefined reference to `usb_ep_free_request'
x86_64-linux-ld: trans_usbg.c:(.text+0x107061f): undefined reference to `usb_ep_free_request'
x86_64-linux-ld: vmlinux.o: in function `usb9pfs_func_bind':
trans_usbg.c:(.text+0x107069f): undefined reference to `usb_interface_id'
x86_64-linux-ld: trans_usbg.c:(.text+0x10706b5): undefined reference to `usb_string_id'

Change the Kconfig dependency to only allow this to be enabled
when it can successfully link and work.

Fixes: a3be076dc1 ("net/9p/usbg: Add new usb gadget function transport")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20240909111745.248952-1-arnd@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-09-11 15:59:43 +02:00

62 lines
1.3 KiB
Plaintext

# SPDX-License-Identifier: GPL-2.0-only
#
# 9P protocol configuration
#
menuconfig NET_9P
tristate "Plan 9 Resource Sharing Support (9P2000)"
select NETFS_SUPPORT
help
If you say Y here, you will get experimental support for
Plan 9 resource sharing via the 9P2000 protocol.
See <http://v9fs.sf.net> for more information.
If unsure, say N.
if NET_9P
config NET_9P_FD
default NET_9P
imply INET
imply UNIX
tristate "9P FD Transport"
help
This builds support for transports over TCP, Unix sockets and
filedescriptors.
config NET_9P_VIRTIO
depends on VIRTIO
tristate "9P Virtio Transport"
help
This builds support for a transports between
guest partitions and a host partition.
config NET_9P_XEN
depends on XEN
select XEN_XENBUS_FRONTEND
tristate "9P Xen Transport"
help
This builds support for a transport for 9pfs between
two Xen domains.
config NET_9P_USBG
bool "9P USB Gadget Transport"
depends on USB_GADGET=y || USB_GADGET=NET_9P
help
This builds support for a transport for 9pfs over
usb gadget.
config NET_9P_RDMA
depends on INET && INFINIBAND && INFINIBAND_ADDR_TRANS
tristate "9P RDMA Transport (Experimental)"
help
This builds support for an RDMA transport.
config NET_9P_DEBUG
bool "Debug information"
help
Say Y if you want the 9P subsystem to log debug information.
endif