我需要在 Ubuntu 上安装驱动程序本指南但我对它的某些部分遇到了一些麻烦。
以下是要添加到平台定义文件的定义:
我正在使用 Ubuntu 18.04,并研究了平台数据文件可能位于的位置,然后我看到/lib/modules/$(uname -r)/build/include/linux/platform_data/nxp-nci.h.
这是正确的平台定义文件吗?
pn5xx_i2c.h 必须包含在平台定义文件中
因为指令中有一部分说“必须将 pn5xx_i2c.h 文件复制到 include/linux 内核源子文件夹”,为了完成这部分,我只需在 nxp-nci.h 文件中引用 pn5xx_i2c.h,方法是添加:
#include<linux/pn5xx_i2c.h>
然后必须使用专用程序(特定于平台)将声明的 nfc_board_info 结构添加到平台。
根据我的理解,我必须编辑这部分代码:
static struct i2c_board_info __initdata nfc_board_info[] = {
{
I2C_BOARD_INFO("pn547", 0x28),
.platform_data = &nfc_pdata,
},
};
我将其添加到 nxp-nci.h 文件中,并将 0x28 更改为我的平台。
假设我正确地完成了这一部分,应该会/dev/pn544
创建一个设备节点,我可以通过运行cd /dev/
和来检查它ls
。但是,我的 /dev 文件夹中没有列出 pn544 设备,因此其中一个进程一定出了问题。
我也尝试按照建议使用设备树这里但我在该文件夹中没有找到任何 .dts 文件/lib/modules/$(uname -r)/build/arch/arm/boot/dts
。我还被告知它可能不适用,因为我的 PC 不是基于 ARM 的 Linux 设备。
我是否错过了某个过程或者可能是 Ubuntu 的 NFC 兼容性问题?