linux kernel 符合GPL协议的ti-sn65dsi83.c驱动,想要使用drm_of.c文件中定义的EXPORT_SYMBOL_GPL(drm_of_lvds_get_dual_link_pixel_order),Makefile怎么编
时间: 2023-08-03 21:08:35 浏览: 54
如果你想要在ti-sn65dsi83.c驱动中使用drm_of_lvds_get_dual_link_pixel_order函数,你需要确保以下几点:
1. drm_of_lvds_get_dual_link_pixel_order函数符合GPL协议。
2. drm_of_lvds_get_dual_link_pixel_order函数已经被EXPORT_SYMBOL_GPL()宏声明,在drm_of.c文件中定义。
如果满足以上两点,你可以通过以下步骤在Makefile中编译使用这个函数:
1. 打开Makefile文件,在文件中添加以下代码:
```
obj-$(CONFIG_DRM_TI_SN65DSI83) += ti-sn65dsi83.o
ti-sn65dsi83-y += ti-sn65dsi83.o
ti-sn65dsi83-objs += <path-to>/drm_of.o
```
其中,<path-to>是包含drm_of.c文件的路径。
2. 编译内核模块:
```
make modules
sudo make modules_install
```
这样,ti-sn65dsi83.c驱动就可以调用drm_of_lvds_get_dual_link_pixel_order函数了。
相关问题
linux kernel 符合GPL协议的ti-sn65dsi83.c驱动想要使用drm_of.c中定义的EXPORT_SYMBOL_GPL(drm_of_lvds_get_dual_link_pixel_order),Makefile怎么编写
如果你想要在 `ti-sn65dsi83.c` 驱动中使用 `drm_of_lvds_get_dual_link_pixel_order` 函数,可以按照以下步骤进行:
1. 在 `ti-sn65dsi83.c` 中包含 `drm/drm_of.h` 头文件。
2. 在 `ti-sn65dsi83.c` 中使用 `EXPORT_SYMBOL_GPL` 宏将 `drm_of_lvds_get_dual_link_pixel_order` 函数导出为符号,以便其他模块可以使用它。例如:
```c
#include <drm/drm_of.h>
...
EXPORT_SYMBOL_GPL(drm_of_lvds_get_dual_link_pixel_order);
```
3. 在 `Makefile` 中将 `ti-sn65dsi83.o` 对象文件与 `drm_of.o` 对象文件链接起来。例如:
```makefile
obj-$(CONFIG_TI_SN65DSI83) += ti-sn65dsi83.o
ti-sn65dsi83-y := ...
# Link with drm_of.o
ti-sn65dsi83-y += ../drm/drm_of.o
```
这样编译后的 `ti-sn65dsi83.ko` 模块就可以使用 `drm_of_lvds_get_dual_link_pixel_order` 函数了。注意,由于 `EXPORT_SYMBOL_GPL` 宏是 GPL 协议的,因此你的 `ti-sn65dsi83.ko` 模块也必须遵循 GPL 协议。
linux kernel 符合GPL协议的sn65dsi83驱动想要使用drm_of.c中定义的EXPORT_SYMBOL_GPL(drm_of_lvds_get_dual_link_pixel_order),Makefile怎么编写
如果你的sn65dsi83驱动想要使用`drm_of_lvds_get_dual_link_pixel_order`函数,需要在Makefile中添加依赖,可以参考以下步骤:
1. 打开驱动的Makefile文件,一般在驱动的源代码目录下。
2. 在顶部添加头文件包含路径和编译器选项等,例如:
```
obj-$(CONFIG_SN65DSI83) += sn65dsi83.o
ccflags-y += -I$(src)/../include
```
3. 在Makefile中添加对`drm_of.c`的依赖,例如:
```
sn65dsi83-y := sn65dsi83_drv.o sn65dsi83_bridge.o
sn65dsi83-y += $(SRC)/drm/drm_of.o
```
4. 添加对`drm_of_lvds_get_dual_link_pixel_order`函数的依赖,例如:
```
sn65dsi83_drv-y := sn65dsi83_drv.o
sn65dsi83_drv-$(CONFIG_DRM_SN65DSI83_DUAL_LINK) += sn65dsi83_drv_dual_link.o
sn65dsi83_drv_dual_link-y += sn65dsi83_drv_dual_link.o
sn65dsi83_drv_dual_link-$(CONFIG_DRM_SN65DSI83_DUAL_LINK) += $(SRC)/drm/drm_of_lvds.o
sn65dsi83_drv_dual_link-$(CONFIG_DRM_SN65DSI83_DUAL_LINK) += $(SRC)/drm/drm_of.o
```
5. 最后,重新编译驱动即可。