# SPDX-License-Identifier: GPL-2.0 # Copyright (C) 2022 The Android Open Source Project """ This module contains a full list of kernel modules compiled by GKI. """ _COMMON_GKI_MODULES_LIST = [ # keep sorted "drivers/block/zram/zram.ko", "drivers/bluetooth/btbcm.ko", "drivers/bluetooth/btqca.ko", "drivers/bluetooth/btsdio.ko", "drivers/bluetooth/hci_uart.ko", "drivers/net/can/dev/can-dev.ko", "drivers/net/can/slcan/slcan.ko", "drivers/net/can/vcan.ko", "drivers/net/mii.ko", "drivers/net/ppp/bsd_comp.ko", "drivers/net/ppp/ppp_deflate.ko", "drivers/net/ppp/ppp_generic.ko", "drivers/net/ppp/ppp_mppe.ko", "drivers/net/ppp/pppox.ko", "drivers/net/ppp/pptp.ko", "drivers/net/slip/slhc.ko", "drivers/net/usb/aqc111.ko", "drivers/net/usb/asix.ko", "drivers/net/usb/ax88179_178a.ko", "drivers/net/usb/cdc_eem.ko", "drivers/net/usb/cdc_ether.ko", "drivers/net/usb/cdc_ncm.ko", "drivers/net/usb/r8152.ko", "drivers/net/usb/r8153_ecm.ko", "drivers/net/usb/rtl8150.ko", "drivers/net/usb/usbnet.ko", "drivers/net/wwan/wwan.ko", "drivers/usb/class/cdc-acm.ko", "drivers/usb/serial/ftdi_sio.ko", "drivers/usb/serial/usbserial.ko", "kernel/kheaders.ko", "lib/crypto/libarc4.ko", "mm/zsmalloc.ko", "net/6lowpan/6lowpan.ko", "net/6lowpan/nhc_dest.ko", "net/6lowpan/nhc_fragment.ko", "net/6lowpan/nhc_hop.ko", "net/6lowpan/nhc_ipv6.ko", "net/6lowpan/nhc_mobility.ko", "net/6lowpan/nhc_routing.ko", "net/6lowpan/nhc_udp.ko", "net/8021q/8021q.ko", "net/bluetooth/bluetooth.ko", "net/bluetooth/hidp/hidp.ko", "net/bluetooth/rfcomm/rfcomm.ko", "net/can/can.ko", "net/can/can-bcm.ko", "net/can/can-gw.ko", "net/can/can-raw.ko", "net/ieee802154/6lowpan/ieee802154_6lowpan.ko", "net/ieee802154/ieee802154.ko", "net/ieee802154/ieee802154_socket.ko", "net/l2tp/l2tp_core.ko", "net/l2tp/l2tp_ppp.ko", "net/mac802154/mac802154.ko", "net/nfc/nfc.ko", "net/rfkill/rfkill.ko", "net/tipc/diag.ko", "net/tipc/tipc.ko", ] # Deprecated - Use `get_gki_modules_list` function instead. COMMON_GKI_MODULES_LIST = _COMMON_GKI_MODULES_LIST _ARM_GKI_MODULES_LIST = [ # keep sorted ] _ARM64_GKI_MODULES_LIST = [ # keep sorted "arch/arm64/geniezone/gzvm.ko", ] _RISCV64_GKI_MODULES_LIST = [ # keep sorted ] _X86_GKI_MODULES_LIST = [ # keep sorted ] _X86_64_GKI_MODULES_LIST = [ # keep sorted ] # buildifier: disable=unnamed-macro def get_gki_modules_list(arch = None): """ Provides the list of GKI modules. Args: arch: One of [arm, arm64, i386, x86_64, riscv64]. Returns: The list of GKI modules for the given |arch|. """ gki_modules_list = [] + _COMMON_GKI_MODULES_LIST if arch == "arm": gki_modules_list += _ARM_GKI_MODULES_LIST elif arch == "arm64": gki_modules_list += _ARM64_GKI_MODULES_LIST elif arch == "i386": gki_modules_list += _X86_GKI_MODULES_LIST elif arch == "x86_64": gki_modules_list += _X86_64_GKI_MODULES_LIST elif arch == "riscv64": gki_modules_list += _RISCV64_GKI_MODULES_LIST else: fail("{}: arch {} not supported. Use one of [arm, arm64, i386, x86_64, riscv64]".format( str(native.package_relative_label(":x")).removesuffix(":x"), arch, )) return gki_modules_list