aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Fainelli <florian.fainelli@broadcom.com>2024-05-06 10:50:40 -0700
committerJakub Kicinski <kuba@kernel.org>2024-05-07 16:42:45 -0700
commit0d5044b4e7749099b12da5f2c8618f04bb4fa82f (patch)
treee1cb983547408911f526a80a02b34343ca5afff6
parent445c0b69c72903528fdf0b34015b5b9142062c4b (diff)
downloadbluetooth-next-0d5044b4e7749099b12da5f2c8618f04bb4fa82f.tar.gz
lib: Allow for the DIM library to be modular
Allow the Dynamic Interrupt Moderation (DIM) library to be built as a module. This is particularly useful in an Android GKI (Google Kernel Image) configuration where everything is built as a module, including Ethernet controller drivers. Having to build DIMLIB into the kernel image with potentially no user is wasteful. Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com> Reviewed-by: Alexander Lobakin <aleksander.lobakin@intel.com> Link: https://lore.kernel.org/r/20240506175040.410446-1-florian.fainelli@broadcom.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r--lib/Kconfig2
-rw-r--r--lib/dim/Makefile4
-rw-r--r--lib/dim/dim.c3
3 files changed, 6 insertions, 3 deletions
diff --git a/lib/Kconfig b/lib/Kconfig
index 4557bb8a525651..d33a268bc256e9 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -628,7 +628,7 @@ config SIGNATURE
Implementation is done using GnuPG MPI library
config DIMLIB
- bool
+ tristate
help
Dynamic Interrupt Moderation library.
Implements an algorithm for dynamically changing CQ moderation values
diff --git a/lib/dim/Makefile b/lib/dim/Makefile
index 1d6858a108cb8f..c4cc4026c4511d 100644
--- a/lib/dim/Makefile
+++ b/lib/dim/Makefile
@@ -2,6 +2,6 @@
# DIM Dynamic Interrupt Moderation library
#
-obj-$(CONFIG_DIMLIB) += dim.o
+obj-$(CONFIG_DIMLIB) += dimlib.o
-dim-y := dim.o net_dim.o rdma_dim.o
+dimlib-objs := dim.o net_dim.o rdma_dim.o
diff --git a/lib/dim/dim.c b/lib/dim/dim.c
index e89aaf07bde502..83b65ac74d7333 100644
--- a/lib/dim/dim.c
+++ b/lib/dim/dim.c
@@ -82,3 +82,6 @@ bool dim_calc_stats(struct dim_sample *start, struct dim_sample *end,
return true;
}
EXPORT_SYMBOL(dim_calc_stats);
+
+MODULE_DESCRIPTION("Dynamic Interrupt Moderation (DIM) library");
+MODULE_LICENSE("Dual BSD/GPL");