如何分配IO内存和IRQ

时间:2012-11-15 08:35:47

标签: memory interrupt

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

下面是我需要填写的结构。我已经采用了这种结构,这是针对运行时钟的,但我需要CAN控制器。两者都在同一块板上,并且RT Clock(和所有其他设备)都有常量,但不适用于我的CAN芯片。在查看主题芯片驱动程序的代码(sp_probe()函数)时,我发现它需要相同的类型资源。

struct resource tegra_rtc_resources[] = {
    [0] = {
        .start = ???,
        .end = ???,
        .flags = IORESOURCE_MEM,
    },
    [1] = {
       .start = ???,
        .end = ???,
        .flags = IORESOURCE_IRQ,
    },
};

所有“平台”设备都通过系统功能platform_add_devices()从“板驱动程序”添加其资源。问题是它初始化了我板上的所有器件(UART,RTC,I2C,NAND等......)而不是CAN芯片。 添加设备后,可以将此信息传递给设备驱动程序。 CAN芯片驱动程序本身存在于内核代码中。

0 个答案:

没有答案