Ulises Mendez Martinez | 599c03f | 2022-11-30 19:49:10 +0000 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | # Copyright (C) 2022 The Android Open Source Project |
| 3 | |
| 4 | """ |
| 5 | This module contains a full list of kernel modules |
| 6 | compiled by GKI. |
| 7 | """ |
| 8 | |
Wanwei Jiang | d7f442c | 2023-03-17 17:35:31 +0800 | [diff] [blame] | 9 | load("//common:common_drivers/modules.bzl", "ALL_MODULES_REMOVE") |
| 10 | |
Ulises Mendez Martinez | 2c76415 | 2023-08-07 12:42:40 +0000 | [diff] [blame] | 11 | _COMMON_GKI_MODULES_LIST = [ |
Yifan Hong | 718c482 | 2022-11-15 15:32:17 -0800 | [diff] [blame] | 12 | # keep sorted |
| 13 | "drivers/block/zram/zram.ko", |
| 14 | "drivers/bluetooth/btbcm.ko", |
| 15 | "drivers/bluetooth/btqca.ko", |
| 16 | "drivers/bluetooth/btsdio.ko", |
| 17 | "drivers/bluetooth/hci_uart.ko", |
| 18 | "drivers/net/can/dev/can-dev.ko", |
| 19 | "drivers/net/can/slcan.ko", |
| 20 | "drivers/net/can/vcan.ko", |
Ramji Jiyani | 319d27a | 2023-04-28 00:55:19 +0000 | [diff] [blame] | 21 | "drivers/net/mii.ko", |
Ramji Jiyani | 01d9b23 | 2022-11-17 06:04:13 +0000 | [diff] [blame] | 22 | "drivers/net/ppp/bsd_comp.ko", |
| 23 | "drivers/net/ppp/ppp_deflate.ko", |
| 24 | "drivers/net/ppp/ppp_generic.ko", |
| 25 | "drivers/net/ppp/ppp_mppe.ko", |
| 26 | "drivers/net/ppp/pppox.ko", |
| 27 | "drivers/net/ppp/pptp.ko", |
| 28 | "drivers/net/slip/slhc.ko", |
Ramji Jiyani | 319d27a | 2023-04-28 00:55:19 +0000 | [diff] [blame] | 29 | "drivers/net/usb/aqc111.ko", |
| 30 | "drivers/net/usb/asix.ko", |
| 31 | "drivers/net/usb/ax88179_178a.ko", |
| 32 | "drivers/net/usb/cdc_eem.ko", |
| 33 | "drivers/net/usb/cdc_ether.ko", |
| 34 | "drivers/net/usb/cdc_ncm.ko", |
| 35 | "drivers/net/usb/r8152.ko", |
| 36 | "drivers/net/usb/r8153_ecm.ko", |
| 37 | "drivers/net/usb/rtl8150.ko", |
| 38 | "drivers/net/usb/usbnet.ko", |
Yifan Hong | 718c482 | 2022-11-15 15:32:17 -0800 | [diff] [blame] | 39 | "drivers/usb/class/cdc-acm.ko", |
| 40 | "drivers/usb/serial/ftdi_sio.ko", |
| 41 | "drivers/usb/serial/usbserial.ko", |
Yifan Hong | 267d3e1 | 2023-06-09 11:26:47 -0700 | [diff] [blame] | 42 | "kernel/kheaders.ko", |
Ramji Jiyani | 01d9b23 | 2022-11-17 06:04:13 +0000 | [diff] [blame] | 43 | "lib/crypto/libarc4.ko", |
Yifan Hong | 718c482 | 2022-11-15 15:32:17 -0800 | [diff] [blame] | 44 | "mm/zsmalloc.ko", |
Ramji Jiyani | f2bd02a | 2022-11-16 19:39:38 +0000 | [diff] [blame] | 45 | "net/6lowpan/6lowpan.ko", |
| 46 | "net/6lowpan/nhc_dest.ko", |
| 47 | "net/6lowpan/nhc_fragment.ko", |
| 48 | "net/6lowpan/nhc_hop.ko", |
| 49 | "net/6lowpan/nhc_ipv6.ko", |
| 50 | "net/6lowpan/nhc_mobility.ko", |
| 51 | "net/6lowpan/nhc_routing.ko", |
| 52 | "net/6lowpan/nhc_udp.ko", |
Yifan Hong | 718c482 | 2022-11-15 15:32:17 -0800 | [diff] [blame] | 53 | "net/8021q/8021q.ko", |
Ramji Jiyani | 0ff7ad6 | 2022-11-16 06:57:55 +0000 | [diff] [blame] | 54 | "net/bluetooth/bluetooth.ko", |
Yifan Hong | 718c482 | 2022-11-15 15:32:17 -0800 | [diff] [blame] | 55 | "net/bluetooth/hidp/hidp.ko", |
| 56 | "net/bluetooth/rfcomm/rfcomm.ko", |
Ramji Jiyani | 6647fad | 2022-11-16 22:11:44 +0000 | [diff] [blame] | 57 | "net/can/can.ko", |
Yifan Hong | 718c482 | 2022-11-15 15:32:17 -0800 | [diff] [blame] | 58 | "net/can/can-bcm.ko", |
| 59 | "net/can/can-gw.ko", |
| 60 | "net/can/can-raw.ko", |
Ramji Jiyani | f2bd02a | 2022-11-16 19:39:38 +0000 | [diff] [blame] | 61 | "net/ieee802154/6lowpan/ieee802154_6lowpan.ko", |
Ramji Jiyani | e0f43e2 | 2022-11-16 23:45:57 +0000 | [diff] [blame] | 62 | "net/ieee802154/ieee802154.ko", |
| 63 | "net/ieee802154/ieee802154_socket.ko", |
Ramji Jiyani | 7070a0e | 2022-11-17 01:12:56 +0000 | [diff] [blame] | 64 | "net/l2tp/l2tp_core.ko", |
| 65 | "net/l2tp/l2tp_ppp.ko", |
Ramji Jiyani | e0f43e2 | 2022-11-16 23:45:57 +0000 | [diff] [blame] | 66 | "net/mac802154/mac802154.ko", |
Yifan Hong | 718c482 | 2022-11-15 15:32:17 -0800 | [diff] [blame] | 67 | "net/nfc/nfc.ko", |
Ramji Jiyani | 6a0f9b1 | 2022-11-16 07:41:29 +0000 | [diff] [blame] | 68 | "net/rfkill/rfkill.ko", |
Yifan Hong | 718c482 | 2022-11-15 15:32:17 -0800 | [diff] [blame] | 69 | "net/tipc/diag.ko", |
| 70 | "net/tipc/tipc.ko", |
Yifan Hong | 718c482 | 2022-11-15 15:32:17 -0800 | [diff] [blame] | 71 | ] |
Ulises Mendez Martinez | 2c76415 | 2023-08-07 12:42:40 +0000 | [diff] [blame] | 72 | |
| 73 | # Deprecated - Use `get_gki_modules_list` function instead. |
| 74 | COMMON_GKI_MODULES_LIST = _COMMON_GKI_MODULES_LIST |
| 75 | |
| 76 | _ARM64_GKI_MODULES_LIST = [ |
| 77 | # keep sorted |
| 78 | ] |
| 79 | |
| 80 | _RISCV64_GKI_MODULES_LIST = [ |
| 81 | # keep sorted |
| 82 | ] |
| 83 | |
| 84 | _X86_64_GKI_MODULES_LIST = [ |
| 85 | # keep sorted |
| 86 | ] |
| 87 | |
| 88 | # buildifier: disable=unnamed-macro |
| 89 | def get_gki_modules_list(arch = None): |
| 90 | """ Provides the list of GKI modules. |
| 91 | |
| 92 | Args: |
| 93 | arch: One of [arm64, x86_64, riscv64]. |
| 94 | |
| 95 | Returns: |
| 96 | The list of GKI modules for the given |arch|. |
| 97 | """ |
| 98 | gki_modules_list = [] + _COMMON_GKI_MODULES_LIST |
| 99 | if arch == "arm64": |
| 100 | gki_modules_list += _ARM64_GKI_MODULES_LIST |
| 101 | elif arch == "x86_64": |
| 102 | gki_modules_list += _X86_64_GKI_MODULES_LIST |
| 103 | elif arch == "riscv64": |
| 104 | gki_modules_list += _RISCV64_GKI_MODULES_LIST |
| 105 | else: |
| 106 | fail("{}: arch {} not supported. Use one of [arm64, x86_64, riscv64]".format( |
| 107 | str(native.package_relative_label(":x")).removesuffix(":x"), |
| 108 | arch, |
| 109 | )) |
| 110 | |
Wanwei Jiang | d7f442c | 2023-03-17 17:35:31 +0800 | [diff] [blame] | 111 | remove_modules_items = {module: None for module in depset(ALL_MODULES_REMOVE).to_list()} |
| 112 | gki_modules_list = [module for module in depset(gki_modules_list).to_list() if module not in remove_modules_items] \ |
| 113 | if remove_modules_items else gki_modules_list |
| 114 | |
Ulises Mendez Martinez | 2c76415 | 2023-08-07 12:42:40 +0000 | [diff] [blame] | 115 | return gki_modules_list |