blob: f50c1d7764414c05e2f2eff5e201989eb5cf7a4f [file] [log] [blame] [edit]
# 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/macsec.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/power/sequencing/pwrseq-core.ko",
"drivers/pps/pps_core.ko",
"drivers/ptp/ptp.ko",
"drivers/usb/class/cdc-acm.ko",
"drivers/usb/mon/usbmon.ko",
"drivers/usb/serial/ftdi_sio.ko",
"drivers/usb/serial/usbserial.ko",
"fs/netfs/netfs.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/9p/9pnet.ko",
"net/9p/9pnet_fd.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/tipc.ko",
"net/tipc/tipc_diag.ko",
]
# Deprecated - Use `get_gki_modules_list` function instead.
COMMON_GKI_MODULES_LIST = _COMMON_GKI_MODULES_LIST
_ARM_GKI_MODULES_LIST = [
# keep sorted
"drivers/ptp/ptp_kvm.ko",
]
_ARM64_GKI_MODULES_LIST = [
# keep sorted
"drivers/ptp/ptp_kvm.ko",
]
_X86_GKI_MODULES_LIST = [
# keep sorted
"drivers/ptp/ptp_kvm.ko",
]
_X86_64_GKI_MODULES_LIST = [
# keep sorted
"drivers/ptp/ptp_kvm.ko",
]
# 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].
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
else:
fail("{}: arch {} not supported. Use one of [arm, arm64, i386, x86_64]".format(
str(native.package_relative_label(":x")).removesuffix(":x"),
arch,
))
return gki_modules_list
_KUNIT_FRAMEWORK_MODULES = [
"lib/kunit/kunit.ko",
]
# Modules defined by tools/testing/kunit/configs/android/kunit_defconfig
_KUNIT_COMMON_MODULES_LIST = [
# keep sorted
"drivers/base/regmap/regmap-kunit.ko",
"drivers/base/regmap/regmap-ram.ko",
"drivers/base/regmap/regmap-raw-ram.ko",
"drivers/hid/hid-uclogic-test.ko",
"drivers/iio/test/iio-test-format.ko",
"drivers/input/tests/input_test.ko",
"drivers/of/of_kunit_helpers.ko",
"drivers/rtc/lib_test.ko",
"fs/ext4/ext4-inode-test.ko",
"fs/fat/fat_test.ko",
"kernel/time/time_test.ko",
"lib/kunit/kunit-example-test.ko",
"lib/kunit/kunit-test.ko",
"lib/kunit/platform-test.ko",
# "mm/kfence/kfence_test.ko",
"net/core/dev_addr_lists_test.ko",
"sound/soc/soc-topology-test.ko",
"sound/soc/soc-utils-test.ko",
]
# Modules defined by tools/testing/kunit/configs/android/kunit_clk_defconfig
_KUNIT_CLK_MODULES_LIST = [
"drivers/clk/clk-gate_test.ko",
"drivers/clk/clk_test.ko",
"drivers/clk/clk_kunit_helpers.ko",
]
# buildifier: disable=unnamed-macro
def get_kunit_modules_list(arch = None):
""" Provides the list of GKI modules.
Args:
arch: One of [arm, arm64, i386, x86_64].
Returns:
The list of KUnit modules for the given |arch|.
"""
kunit_modules_list = _KUNIT_FRAMEWORK_MODULES + _KUNIT_COMMON_MODULES_LIST
if arch == "arm":
kunit_modules_list += _KUNIT_CLK_MODULES_LIST
elif arch == "arm64":
kunit_modules_list += _KUNIT_CLK_MODULES_LIST
elif arch == "i386":
kunit_modules_list += []
elif arch == "x86_64":
kunit_modules_list += []
else:
fail("{}: arch {} not supported. Use one of [arm, arm64, i386, x86_64]".format(
str(native.package_relative_label(":x")).removesuffix(":x"),
arch,
))
return kunit_modules_list