This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC3351:CC3351E:Linux 内核 5.4 中的驱动程序编译错误

Guru**** 2510095 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1552855/cc3351-cc3351e-driver-compile-error-within-linux-kernel-5-4

器件型号:CC3351


工具/软件:

尊敬的 TI 专家:


今天的问候!

 在移植到 Linux 内核 5.4 时、我遇到 CC33XX-Linux-MPU v1.0.2.10 的编译问题。

以下日志是编译错误信息:

| LD [M] net/wireless/cfg80211.o
| CC [M] net/mac80211/wme.o
|德州仪器/home/docker/work/build_zxl_zxl-default/tmp/work-shared/zxl/kernel-source/drivers/net/wireless/ti/cc33xx/sdio.c:在函数“cc33xx_SDIO_SYNC_IRQ"中“中:
|/home/docker/work/build_zxl_zxl-default/tmp/work-shared/zxl/kernel-source/drivers/net/wireless/ti/cc33xx/sdio.c:277:14:错误:从不兼容的指针类型[-Werror=incompatible-pointer-types]传递'flush_work'的参数 1
|277 |齐平工作 (&HOST->SDIO_IRQ_Work);
||^~~~~~~~~~~~~~~~~~~~
|||
|| struct delay_work *
|在/home/docker/work/build_zxl_zxl-default/tmp/work-shared/zxl/kernel-source/include/linux/mm_types.h 文件中:16、
|来自/home/docker/work/build_zxl_zxl-default/tmp/work-shared/zxl/kernel-source/include/linux/mmzone.h:21、
|来自/home/docker/work/build_zxl_zxl-default/tmp/work-shared/zxl/kernel-source/include/linux/gfp.h:6、
|来自/home/docker/work/build_zxl_zxl-default/tmp/work-shared/zxl/kernel-source/include/linux/xarray.h:14、
|来自/home/docker/work/build_zxl_zxl-default/tmp/work-shared/zxl/kernel-source/include/linux/radix-tree.h:18、
|来自/home/docker/work/build_zxl_zxl-default/tmp/work-shared/zxl/kernel-source/include/linux/idr.h:15、
|来自/home/docker/work/build_zxl_zxl-default/tmp/work-shared/zxl/kernel-source/include/linux/kernfs.h:13、
|来自/home/docker/work/build_zxl_zxl-default/tmp/work-shared/zxl/kernel-source/include/linux/sysfs.h:16、
|来自/home/docker/work/build_zxl_zxl-default/tmp/work-shared/zxl/kernel-source/include/linux/kobject.h:20、
|来自/home/docker/work/build_zxl_zxl-default/tmp/work-shared/zxl/kernel-source/include/linux/device.h:16、
|来自/home/docker/work/build_zxl_zxl-default/tmp/work-shared/zxl/kernel-source/include/linux/mmc/sdio_func.h:11、
|来自/home/docker/work/build_zxl_zxl-default/tmp/work-shared/zxl/kernel-source/drivers/net/wireless/ti/cc33xx/sdio.c:10:
|/home/docker/work/build_zxl_zxl-default/tmp/work-shared/zxl/kernel-source/include/linux/workqueue.h:462:44:注意:预期为“truct work_struct *“、但参数类型为“truct delay_work *“
| 462 | extern bool flush_work (struct work_struct *work);
||~~~~~~~~~~~~~~~~~~~~ ^~~~μ s
| CC [M] drivers/USB/小工具/legacy/inode.o
| CC [M] net/mac80211/chan.o
| CC1:一些警告被视为错误
|make[6]:***[/home/docker/work/build_zxl_zxl-default/tmp/work-shared/zxl/kernel-source/scripts/Makefile.build:262:drivers/net/wireless/ti/cc33xx/sdio.o]错误 1.
|make[5]:***[/home/docker/work/build_zxl_zxl-default/tmp/work-shared/zxl/kernel-source/scripts/Makefile.build:497:drivers/net/wireless/ti/cc33xx]错误 2.
|make[4]:***[/home/docker/work/build_zxl_zxl-default/tmp/work-shared/zxl/kernel-source/scripts/Makefile.build:497: drivers/net/wireless/ti]错误 2.
|make[3]:***[/home/docker/work/build_zxl_zxl-default/tmp/work-shared/zxl/kernel-source/scripts/Makefile.build:497:驱动程序/网络/无线]错误 2.
|make[2]:***[/home/docker/work/build_zxl_zxl-default/tmp/work-shared/zxl/kernel-source/scripts/Makefile.build:497: drivers/net]错误 2.
|make[2]:***等待未完成的作业…

在本例中、我下载 cc33xx_linux_package_1_0_2_10.run 并合并补丁“cc33xx_kernel.patch"。“。

然后、我从 https://github.com/TexasInstruments-Sandbox/cc33xx-linux-mpu-ports/tree/main/5.4.y 获取内核 5.4 的特定补丁 (backport.patch)

此外,我不能直接应用 backport.patch ,它有一些拒绝。 我手动处理了拒绝。 最后、我执行了编译并得到了 上述编译错误。

您能否解决下一版本的编译问题并更新内核 5.4 的反向 port.patch?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Zhang、

    是的、需要更新 k5.4 反向端口修补程序。 让我来研究一下、在本周结束时为您提供一些信息。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Zhang、

    我只是简单地看了一下这个。 看起来行“flush_work(&host->SDIO_IRQ_work);"需要“需要更改为“flush_delayed_work(&host->SDIO_IRQ_work);"。“。  

    我将向 GitHub 存储库提交一个新的补丁来解决这个问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    总而言之、NXP 内核与主线不同。 NXP 决定还原更改此数据结构的上游更改,因此基于上游内核的通用反向端口无法 在使用 NXP 内核的平台上运行,具体取决于所使用的内核版本...

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

        是否有任何更新?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Zhang、

    是的、我已更新 GitHub 存储库以解决该问题。 它现在应该可以为您提供功能:

    github.com/.../5.4.y

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢!