将NXP PN7150驱动程序和设备信息集成到Android x86内核中,设备信息应该放在哪里?

时间:2019-01-24 15:18:17

标签: android linux-kernel linux-device-driver

我正在尝试将NXP 7150驱动程序集成到基于x86平台的Android P中。

以下是给出的集成准则:https://www.nxp.com/docs/en/application-note/AN11690.pdf

由于x86目前不支持设备树,因此我需要使用Platform数据。但是我不确定应该在哪个文件中放置此信息:

restoredData
beerBarcode    ....      caseFullBarcode


beers and beers_archive
beerBarcode ....     parentCaseId

cases and cases_archive
id ... casesFullBarcode ... caseSize

我对驱动程序开发的知识很少,因此无法弄清楚。我已将驱动程序构建为内置模块。我知道我需要插入PN7150加密狗,然后将设备信息放在内核代码中的某个位置,该代码可以在启动时调用驱动程序的探针。请帮忙。

1 个答案:

答案 0 :(得分:-1)

我在评论中也说过;但是,如果您没有任何主板文件(我假设您的X86 Arch代码中没有该文件),则可以简单地进行新的内核模块。在内核模块的init函数中,您可以注册I2C设备信息:

static int __init dummy_nfc_init(void) {

i2c_register_board_info(1, nfc_board_info,
            ARRAY_SIZE(nfc_board_info));
}

module_init(dummy_nfc_init);

在示例中,注册板信息时, 1 I2C总线号。在您的情况下,您需要修改总线号。您可以将此虚拟驱动程序内置。因此,当您的PN7150驱动程序 .-name I2C_BOARD_INFO 名称 "pn547" 驱动程序{{1} }函数将在其他回调函数的同时被调用,并且probe操作从站地址 read/write 0x28 的总线号应匹配。< / p>