Memory 如何分配IO内存和IRQ

Memory 如何分配IO内存和IRQ,memory,interrupt,Memory,Interrupt,我需要为Linux内核提供内存和IRQ资源,以便启动CAN控制器。我不知道如何得到它们 下面是我需要填写的结构。我拿这个结构为例,这是运行时时钟,但我需要CAN控制器。两者都在同一块板上,RT时钟(和所有其他设备)有常数,但我的CAN芯片没有常数。当查看主题芯片驱动程序的代码(sp_probe()函数)时,我发现它需要相同类型的资源 struct resource tegra_rtc_resources[] = { [0] = { .start = ???,

我需要为Linux内核提供内存和IRQ资源,以便启动CAN控制器。我不知道如何得到它们

下面是我需要填写的结构。我拿这个结构为例,这是运行时时钟,但我需要CAN控制器。两者都在同一块板上,RT时钟(和所有其他设备)有常数,但我的CAN芯片没有常数。当查看主题芯片驱动程序的代码(sp_probe()函数)时,我发现它需要相同类型的资源

struct resource tegra_rtc_resources[] = {
    [0] = {
        .start = ???,
        .end = ???,
        .flags = IORESOURCE_MEM,
    },
    [1] = {
       .start = ???,
        .end = ???,
        .flags = IORESOURCE_IRQ,
    },
};
所有“平台”设备都通过系统功能平台添加设备()从“板驱动程序”添加其资源。问题是它初始化了我板上的所有设备(UART、RTC、I2C、NAND等),而不是CAN芯片。 添加设备后,可以将此信息传递给设备驱动程序。CAN芯片驱动程序本身存在于内核代码中