gpt4 book ai didi

c - 如何以及何时初始化此 irq 的值

转载 作者:太空宇宙 更新时间:2023-11-04 03:52:08 26 4
gpt4 key购买 nike

我正在浏览 arch/arm/kernel/perf_event.c 中的部分 Linux 内核源代码,并试图了解如何进行 request_irq 设置这里:

static int armpmu_reserve_hardware(struct arm_pmu *armpmu)
{
int err;
struct platform_device *pmu_device = armpmu->plat_device;

if (!pmu_device)
return -ENODEV;

pm_runtime_get_sync(&pmu_device->dev);
err = armpmu->request_irq(armpmu, armpmu_dispatch_irq);
if (err) {
armpmu_release_hardware(armpmu);
return err;
}

return 0;

现在 request_irq 的第一个参数的值应该是一个整数。现在我不知道整数值是如何被初始化的。

此处还给出了struct pmu:

http://lxr.free-electrons.com/source/arch/arm/include/asm/pmu.h

我们在内核设备树文件中定义了PMU表示

 pmu {
compatible = "arm,cortex-a15-pmu";
interrupts = <0 20 0xf01 0 21 0xf01 0 22 0xf01 0 23 0xf01 >;
};

现在,我相信其中一条中断线是为 20、21、22、23 驱动的,但现在确定如何?

最佳答案

根据 this code request_id 需要一个struct arm_pmu*

关于c - 如何以及何时初始化此 irq 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19838169/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com