blob: d8c38eeb33a9d7ef8a31a2bca061362613819f6d [file] [log] [blame]
Ulises Mendez Martinez599c03f2022-11-30 19:49:10 +00001# SPDX-License-Identifier: GPL-2.0
2# Copyright (C) 2022 The Android Open Source Project
3
4"""
5This module contains a full list of kernel modules
6 compiled by GKI.
7"""
8
Ulises Mendez Martinez2c764152023-08-07 12:42:40 +00009_COMMON_GKI_MODULES_LIST = [
Yifan Hong718c4822022-11-15 15:32:17 -080010 # keep sorted
11 "drivers/block/zram/zram.ko",
12 "drivers/bluetooth/btbcm.ko",
13 "drivers/bluetooth/btqca.ko",
14 "drivers/bluetooth/btsdio.ko",
15 "drivers/bluetooth/hci_uart.ko",
16 "drivers/net/can/dev/can-dev.ko",
17 "drivers/net/can/slcan.ko",
18 "drivers/net/can/vcan.ko",
Ramji Jiyani319d27a2023-04-28 00:55:19 +000019 "drivers/net/mii.ko",
Ramji Jiyani01d9b232022-11-17 06:04:13 +000020 "drivers/net/ppp/bsd_comp.ko",
21 "drivers/net/ppp/ppp_deflate.ko",
22 "drivers/net/ppp/ppp_generic.ko",
23 "drivers/net/ppp/ppp_mppe.ko",
24 "drivers/net/ppp/pppox.ko",
25 "drivers/net/ppp/pptp.ko",
26 "drivers/net/slip/slhc.ko",
Ramji Jiyani319d27a2023-04-28 00:55:19 +000027 "drivers/net/usb/aqc111.ko",
28 "drivers/net/usb/asix.ko",
29 "drivers/net/usb/ax88179_178a.ko",
30 "drivers/net/usb/cdc_eem.ko",
31 "drivers/net/usb/cdc_ether.ko",
32 "drivers/net/usb/cdc_ncm.ko",
33 "drivers/net/usb/r8152.ko",
34 "drivers/net/usb/r8153_ecm.ko",
35 "drivers/net/usb/rtl8150.ko",
36 "drivers/net/usb/usbnet.ko",
Yifan Hong718c4822022-11-15 15:32:17 -080037 "drivers/usb/class/cdc-acm.ko",
38 "drivers/usb/serial/ftdi_sio.ko",
39 "drivers/usb/serial/usbserial.ko",
Yifan Hong267d3e12023-06-09 11:26:47 -070040 "kernel/kheaders.ko",
Ramji Jiyani01d9b232022-11-17 06:04:13 +000041 "lib/crypto/libarc4.ko",
Yifan Hong718c4822022-11-15 15:32:17 -080042 "mm/zsmalloc.ko",
Ramji Jiyanif2bd02a2022-11-16 19:39:38 +000043 "net/6lowpan/6lowpan.ko",
44 "net/6lowpan/nhc_dest.ko",
45 "net/6lowpan/nhc_fragment.ko",
46 "net/6lowpan/nhc_hop.ko",
47 "net/6lowpan/nhc_ipv6.ko",
48 "net/6lowpan/nhc_mobility.ko",
49 "net/6lowpan/nhc_routing.ko",
50 "net/6lowpan/nhc_udp.ko",
Yifan Hong718c4822022-11-15 15:32:17 -080051 "net/8021q/8021q.ko",
Ramji Jiyani0ff7ad62022-11-16 06:57:55 +000052 "net/bluetooth/bluetooth.ko",
Yifan Hong718c4822022-11-15 15:32:17 -080053 "net/bluetooth/hidp/hidp.ko",
54 "net/bluetooth/rfcomm/rfcomm.ko",
Ramji Jiyani6647fad2022-11-16 22:11:44 +000055 "net/can/can.ko",
Yifan Hong718c4822022-11-15 15:32:17 -080056 "net/can/can-bcm.ko",
57 "net/can/can-gw.ko",
58 "net/can/can-raw.ko",
Ramji Jiyanif2bd02a2022-11-16 19:39:38 +000059 "net/ieee802154/6lowpan/ieee802154_6lowpan.ko",
Ramji Jiyanie0f43e22022-11-16 23:45:57 +000060 "net/ieee802154/ieee802154.ko",
61 "net/ieee802154/ieee802154_socket.ko",
Ramji Jiyani7070a0e2022-11-17 01:12:56 +000062 "net/l2tp/l2tp_core.ko",
63 "net/l2tp/l2tp_ppp.ko",
Ramji Jiyanie0f43e22022-11-16 23:45:57 +000064 "net/mac802154/mac802154.ko",
Yifan Hong718c4822022-11-15 15:32:17 -080065 "net/nfc/nfc.ko",
Ramji Jiyani6a0f9b12022-11-16 07:41:29 +000066 "net/rfkill/rfkill.ko",
Yifan Hong718c4822022-11-15 15:32:17 -080067 "net/tipc/diag.ko",
68 "net/tipc/tipc.ko",
Yifan Hong718c4822022-11-15 15:32:17 -080069]
Ulises Mendez Martinez2c764152023-08-07 12:42:40 +000070
71# Deprecated - Use `get_gki_modules_list` function instead.
72COMMON_GKI_MODULES_LIST = _COMMON_GKI_MODULES_LIST
73
74_ARM64_GKI_MODULES_LIST = [
75 # keep sorted
76]
77
78_RISCV64_GKI_MODULES_LIST = [
79 # keep sorted
80]
81
82_X86_64_GKI_MODULES_LIST = [
83 # keep sorted
84]
85
86# buildifier: disable=unnamed-macro
87def get_gki_modules_list(arch = None):
88 """ Provides the list of GKI modules.
89
90 Args:
91 arch: One of [arm64, x86_64, riscv64].
92
93 Returns:
94 The list of GKI modules for the given |arch|.
95 """
96 gki_modules_list = [] + _COMMON_GKI_MODULES_LIST
97 if arch == "arm64":
98 gki_modules_list += _ARM64_GKI_MODULES_LIST
99 elif arch == "x86_64":
100 gki_modules_list += _X86_64_GKI_MODULES_LIST
101 elif arch == "riscv64":
102 gki_modules_list += _RISCV64_GKI_MODULES_LIST
103 else:
104 fail("{}: arch {} not supported. Use one of [arm64, x86_64, riscv64]".format(
105 str(native.package_relative_label(":x")).removesuffix(":x"),
106 arch,
107 ))
108
109 return gki_modules_list