linux 内核模块在源代码级别是否有任何模块依赖定义?
Is there any module dependency definition for linux kernel module in source code level?
我知道我们可以在运行时使用 lsmod 或 modprobe 命令检查 Linux 内核模块依赖性。
但是如果我们只有内核代码怎么办,有没有办法检查内核模块的依赖关系,或者内核源代码中是否有依赖定义?
提前致谢。
您可以检查驱动程序的 Kconfig 条目。对外部模块的依赖,子系统指定为
- depends on(依赖项)
- select(反向依赖)
您可以在 Documentation/kbuild/kconfig-language.txt
中找到更多详细信息
例如,如果CONFIG_MY_DRIVER
依赖于I2C
,您可以在Kconfig
中指定为depends on
。这意味着,如果在 menuconfig 中未选择 I2C
,MY_DRIVER
将不会出现在 menuconfig 条目中。
与此相反,当您使用select
时,选择MY_DRIVER
时会自动选择I2C
。
我知道我们可以在运行时使用 lsmod 或 modprobe 命令检查 Linux 内核模块依赖性。 但是如果我们只有内核代码怎么办,有没有办法检查内核模块的依赖关系,或者内核源代码中是否有依赖定义?
提前致谢。
您可以检查驱动程序的 Kconfig 条目。对外部模块的依赖,子系统指定为
- depends on(依赖项)
- select(反向依赖)
您可以在 Documentation/kbuild/kconfig-language.txt
中找到更多详细信息例如,如果CONFIG_MY_DRIVER
依赖于I2C
,您可以在Kconfig
中指定为depends on
。这意味着,如果在 menuconfig 中未选择 I2C
,MY_DRIVER
将不会出现在 menuconfig 条目中。
与此相反,当您使用select
时,选择MY_DRIVER
时会自动选择I2C
。