kirq 45 drivers/irqchip/irq-keystone.c static inline u32 keystone_irq_readl(struct keystone_irq_device *kirq) kirq 50 drivers/irqchip/irq-keystone.c ret = regmap_read(kirq->devctrl_regs, kirq->devctrl_offset, &val); kirq 52 drivers/irqchip/irq-keystone.c dev_dbg(kirq->dev, "irq read failed ret(%d)\n", ret); kirq 57 drivers/irqchip/irq-keystone.c keystone_irq_writel(struct keystone_irq_device *kirq, u32 value) kirq 61 drivers/irqchip/irq-keystone.c ret = regmap_write(kirq->devctrl_regs, kirq->devctrl_offset, value); kirq 63 drivers/irqchip/irq-keystone.c dev_dbg(kirq->dev, "irq write failed ret(%d)\n", ret); kirq 68 drivers/irqchip/irq-keystone.c struct keystone_irq_device *kirq = irq_data_get_irq_chip_data(d); kirq 70 drivers/irqchip/irq-keystone.c kirq->mask |= BIT(d->hwirq); kirq 71 drivers/irqchip/irq-keystone.c dev_dbg(kirq->dev, "mask %lu [%x]\n", d->hwirq, kirq->mask); kirq 76 drivers/irqchip/irq-keystone.c struct keystone_irq_device *kirq = irq_data_get_irq_chip_data(d); kirq 78 drivers/irqchip/irq-keystone.c kirq->mask &= ~BIT(d->hwirq); kirq 79 drivers/irqchip/irq-keystone.c dev_dbg(kirq->dev, "unmask %lu [%x]\n", d->hwirq, kirq->mask); kirq 89 drivers/irqchip/irq-keystone.c struct keystone_irq_device *kirq = keystone_irq; kirq 94 drivers/irqchip/irq-keystone.c dev_dbg(kirq->dev, "start irq %d\n", irq); kirq 96 drivers/irqchip/irq-keystone.c pending = keystone_irq_readl(kirq); kirq 97 drivers/irqchip/irq-keystone.c keystone_irq_writel(kirq, pending); kirq 99 drivers/irqchip/irq-keystone.c dev_dbg(kirq->dev, "pending 0x%lx, mask 0x%x\n", pending, kirq->mask); kirq 101 drivers/irqchip/irq-keystone.c pending = (pending >> BIT_OFS) & ~kirq->mask; kirq 103 drivers/irqchip/irq-keystone.c dev_dbg(kirq->dev, "pending after mask 0x%lx\n", pending); kirq 107 drivers/irqchip/irq-keystone.c virq = irq_find_mapping(kirq->irqd, src); kirq 108 drivers/irqchip/irq-keystone.c dev_dbg(kirq->dev, "dispatch bit %d, virq %d\n", kirq 111 drivers/irqchip/irq-keystone.c dev_warn(kirq->dev, "spurious irq detected hwirq %d, virq %d\n", kirq 113 drivers/irqchip/irq-keystone.c raw_spin_lock_irqsave(&kirq->wa_lock, wa_lock_flags); kirq 115 drivers/irqchip/irq-keystone.c raw_spin_unlock_irqrestore(&kirq->wa_lock, kirq 120 drivers/irqchip/irq-keystone.c dev_dbg(kirq->dev, "end irq %d\n", irq); kirq 127 drivers/irqchip/irq-keystone.c struct keystone_irq_device *kirq = h->host_data; kirq 129 drivers/irqchip/irq-keystone.c irq_set_chip_data(virq, kirq); kirq 130 drivers/irqchip/irq-keystone.c irq_set_chip_and_handler(virq, &kirq->chip, handle_level_irq); kirq 144 drivers/irqchip/irq-keystone.c struct keystone_irq_device *kirq; kirq 150 drivers/irqchip/irq-keystone.c kirq = devm_kzalloc(dev, sizeof(*kirq), GFP_KERNEL); kirq 151 drivers/irqchip/irq-keystone.c if (!kirq) kirq 154 drivers/irqchip/irq-keystone.c kirq->devctrl_regs = kirq 156 drivers/irqchip/irq-keystone.c if (IS_ERR(kirq->devctrl_regs)) kirq 157 drivers/irqchip/irq-keystone.c return PTR_ERR(kirq->devctrl_regs); kirq 160 drivers/irqchip/irq-keystone.c &kirq->devctrl_offset); kirq 166 drivers/irqchip/irq-keystone.c kirq->irq = platform_get_irq(pdev, 0); kirq 167 drivers/irqchip/irq-keystone.c if (kirq->irq < 0) kirq 168 drivers/irqchip/irq-keystone.c return kirq->irq; kirq 170 drivers/irqchip/irq-keystone.c kirq->dev = dev; kirq 171 drivers/irqchip/irq-keystone.c kirq->mask = ~0x0; kirq 172 drivers/irqchip/irq-keystone.c kirq->chip.name = "keystone-irq"; kirq 173 drivers/irqchip/irq-keystone.c kirq->chip.irq_ack = keystone_irq_ack; kirq 174 drivers/irqchip/irq-keystone.c kirq->chip.irq_mask = keystone_irq_setmask; kirq 175 drivers/irqchip/irq-keystone.c kirq->chip.irq_unmask = keystone_irq_unmask; kirq 177 drivers/irqchip/irq-keystone.c kirq->irqd = irq_domain_add_linear(np, KEYSTONE_N_IRQ, kirq 178 drivers/irqchip/irq-keystone.c &keystone_irq_ops, kirq); kirq 179 drivers/irqchip/irq-keystone.c if (!kirq->irqd) { kirq 184 drivers/irqchip/irq-keystone.c raw_spin_lock_init(&kirq->wa_lock); kirq 186 drivers/irqchip/irq-keystone.c platform_set_drvdata(pdev, kirq); kirq 188 drivers/irqchip/irq-keystone.c ret = request_irq(kirq->irq, keystone_irq_handler, kirq 189 drivers/irqchip/irq-keystone.c 0, dev_name(dev), kirq); kirq 191 drivers/irqchip/irq-keystone.c irq_domain_remove(kirq->irqd); kirq 196 drivers/irqchip/irq-keystone.c keystone_irq_writel(kirq, ~0x0); kirq 205 drivers/irqchip/irq-keystone.c struct keystone_irq_device *kirq = platform_get_drvdata(pdev); kirq 208 drivers/irqchip/irq-keystone.c free_irq(kirq->irq, kirq); kirq 211 drivers/irqchip/irq-keystone.c irq_dispose_mapping(irq_find_mapping(kirq->irqd, hwirq)); kirq 213 drivers/irqchip/irq-keystone.c irq_domain_remove(kirq->irqd);