intnative_setup_irq_handler(unsignedintirq){structirq_data*data=get_irq_data(irq);if(data->handle ==NULL) {return-E_NULL_PTR; }else{ setup_irq_handler(irq); }/* now we check if we might have to reset some values.. */if(data->base_handle ==NULL|| data->base_handle == &do_...
}/*FIXME:Store this information in irqdata flags */if(irq_domain_is_ipi_per_cpu(data->domain) && cpu != data->common->ipi_offset) {/* use the correct data for that cpu */unsignedirq = data->irq + cpu - data->common->ipi_offset; data = irq_get_irq_data(irq); } chip->ipi...
staticintgpio_rcar_irq_set_type(struct irq_data *d,unsignedinttype){structgpio_chip*gc=irq_data_get_irq_chip_data(d);structgpio_rcar_priv*p=gpiochip_get_data(gc);unsignedinthwirq = irqd_to_hwirq(d); dev_dbg(p->dev,"sense irq = %d, type = %d\n", hwirq, type);switch(type ...
#ifLINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)unsignedintdata = (unsignedint)irq_get_chip_data(d->irq);#elseunsignedintdata = (unsignedint)get_irq_chip_data(irq);#endifwritel(1<< (data &0x1f), __io(enables[(data >>5) &0x3])); } } 开发者ID:fduchene,项目名称:mptcp-rpi,...
* IRQ Chip common (across level and edge) operations */staticvoidxilinx_intc_mask(unsignedintvirq){intirq = virq_to_hw(virq);void* regs =get_irq_chip_data(virq); pr_debug("mask: %d\n", irq); out_be32(regs + XINTC_CIE,1<< irq); ...
}if(irq_domain_is_ipi_per_cpu(data->domain)) {unsignedintbase = data->irq; for_each_cpu(cpu, dest) {unsignedirq = base + cpu - data->common->ipi_offset; data = irq_get_irq_data(irq); chip->ipi_send_single(data, cpu); ...