硬中断--硬中断号的解析

liaocj 2024-12-03 09:02:56
Categories: Tags:

irq_of_parse_and_map
irq_create_of_mapping

arm

struct of_phandle_args {
    struct device_node *np;
    int args_count;
    uint32_t args[MAX_PHANDLE_ARGS];
};

static void of_phandle_args_to_fwspec(struct device_node *np, const u32 *args,
                      unsigned int count,
                      struct irq_fwspec *fwspec)
{
    int i;

    fwspec->fwnode = of_node_to_fwnode(np);
    fwspec->param_count = count;

    for (i = 0; i < count; i++)
        fwspec->param[i] = args[i];
}

unsigned int irq_create_of_mapping(struct of_phandle_args *irq_data)
{
    struct irq_fwspec fwspec;

    of_phandle_args_to_fwspec(irq_data->np, irq_data->args,
                  irq_data->args_count, &fwspec);

    return irq_create_fwspec_mapping(&fwspec);
}
EXPORT_SYMBOL_GPL(irq_create_of_mapping);

x86 apic