c - Linux 内核使用来自不同驱动程序树的 header 进行制作

标签 c makefile linux-kernel include linux-device-driver

我试图将我的 3.10.9 android 内核中的 mali 驱动程序目录树中的 gpu_ipa header 包含在我的 cpufreq 模块中。我一直在查看 make 文件,但无法理解如何在 cpufreq 驱动程序目录中的模块的 make 配置中包含 mali 目录。

如果不太清楚,只是详细说明。

在我的模块(optigame_governor.c/h)中我有

#include "gpu_ipa.h"

在我的 cpufreq makefile 中

obj-$(CONFIG_CPU_FREQ_GOV_OPTIGAME) += optigame_governor.o

不包括:(

我的模块和目标 header 之间的文件结构如下所示

kernel---drivers---cpufreq---optigame_governor.c/h
                \--gpu---arm---midgard---platform---gpu_ipa.h

我不能 100% 确定这是否是我需要的确切文件,但我需要其他驱动程序分支中的某些内容,因此我正在寻找一个稍微通用的解决方案。

干杯

最佳答案

我能够使用评论中提到的 ccflags 解决我的问题。

添加

ccflags-$(CONFIG_CPU_FREQ_GOV_OPTIGAME) += -Idrivers/gpu/arm/midgard

到我的 cpufreq Makefile 并添加

#include <platform/gpu_ipa.h>

到我的c文件解决了问题。问题是由于未使用绝对路径造成的。

关于c - Linux 内核使用来自不同驱动程序树的 header 进行制作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53209845/

相关文章:

c - 按 qsort 排序后缀

c - 可以使用 ANSI - C 脚本编写 Web 应用程序吗?

c - 为什么我的 C 程序没有编译?

c - C : Continuous Prompt for Input简介

c - Makefile:为什么带有 % 的 makefile 不起作用?

c++ - 添加对C++ 2011的编译器支持

android - 我怎样才能阻止 make 出现段错误?

c - 为什么linux内核中rwlock比seqlock更流行?

c - 编辑 TCP 负载时 Netfilter 崩溃

linux - Linux 内置驱动加载顺序是什么?