probe参数 request_irq

probe传递进来的参数 是对应device中的内容 如resource



static struct resource w55fa92_emc_resource[] = {
        [0] = {
                .start = W55FA92_PA_EMC,
                .end   = W55FA92_PA_EMC + W55FA92_SZ_EMC - 1,
                .flags = IORESOURCE_MEM,
        },
        [1] = {
                .start = IRQ_EMCTX,
                .end   = IRQ_EMCTX,
                .flags = IORESOURCE_IRQ,
        },
        [2] = {
                .start = IRQ_EMCRX,
                .end   = IRQ_EMCRX,
                .flags = IORESOURCE_IRQ,
        }
};




static u64 w55fa92_device_emc_dmamask = 0xffffffffUL;
static struct platform_device w55fa92_device_emc = {
        .name           = "w55fa92-emc",
        .id             = -1,
        .num_resources  = ARRAY_SIZE(w55fa92_emc_resource),
        .resource       = w55fa92_emc_resource,
        .dev              = {
                .dma_mask = &w55fa92_device_emc_dmamask,
                .coherent_dma_mask = 0xffffffffUL
        }
};

http://blog.csdn.net/xiafeng1113/article/details/8474612






 request_irq  第一个参数irq:申请的硬件中断号 有它说明中断源是什么。




可以为某个特定的中断方式(寄存器中设定)


if (request_irq(ether->txirq, w55fa92_tx_interrupt,
0x0, pdev->name, dev)) {
dev_err(&pdev->dev, "register irq tx failed\n");
return -EAGAIN;
}


也可以为 一个中断管脚


    ret = request_irq(IRQ_GPIO1, nvt_sd0_card_detect_irq, IRQF_SHARED, mmc_hostname(mmc), host);



你可能感兴趣的:(linux驱动)