gicp 40 drivers/irqchip/irq-mvebu-gicp.c static int gicp_idx_to_spi(struct mvebu_gicp *gicp, int idx) gicp 44 drivers/irqchip/irq-mvebu-gicp.c for (i = 0; i < gicp->spi_ranges_cnt; i++) { gicp 45 drivers/irqchip/irq-mvebu-gicp.c struct mvebu_gicp_spi_range *r = &gicp->spi_ranges[i]; gicp 58 drivers/irqchip/irq-mvebu-gicp.c struct mvebu_gicp *gicp = data->chip_data; gicp 59 drivers/irqchip/irq-mvebu-gicp.c phys_addr_t setspi = gicp->res->start + GICP_SETSPI_NSR_OFFSET; gicp 60 drivers/irqchip/irq-mvebu-gicp.c phys_addr_t clrspi = gicp->res->start + GICP_CLRSPI_NSR_OFFSET; gicp 83 drivers/irqchip/irq-mvebu-gicp.c struct mvebu_gicp *gicp = domain->host_data; gicp 88 drivers/irqchip/irq-mvebu-gicp.c spin_lock(&gicp->spi_lock); gicp 89 drivers/irqchip/irq-mvebu-gicp.c hwirq = find_first_zero_bit(gicp->spi_bitmap, gicp->spi_cnt); gicp 90 drivers/irqchip/irq-mvebu-gicp.c if (hwirq == gicp->spi_cnt) { gicp 91 drivers/irqchip/irq-mvebu-gicp.c spin_unlock(&gicp->spi_lock); gicp 94 drivers/irqchip/irq-mvebu-gicp.c __set_bit(hwirq, gicp->spi_bitmap); gicp 95 drivers/irqchip/irq-mvebu-gicp.c spin_unlock(&gicp->spi_lock); gicp 100 drivers/irqchip/irq-mvebu-gicp.c fwspec.param[1] = gicp_idx_to_spi(gicp, hwirq) - 32; gicp 109 drivers/irqchip/irq-mvebu-gicp.c dev_err(gicp->dev, "Cannot allocate parent IRQ\n"); gicp 114 drivers/irqchip/irq-mvebu-gicp.c &gicp_irq_chip, gicp); gicp 123 drivers/irqchip/irq-mvebu-gicp.c spin_lock(&gicp->spi_lock); gicp 124 drivers/irqchip/irq-mvebu-gicp.c __clear_bit(hwirq, gicp->spi_bitmap); gicp 125 drivers/irqchip/irq-mvebu-gicp.c spin_unlock(&gicp->spi_lock); gicp 132 drivers/irqchip/irq-mvebu-gicp.c struct mvebu_gicp *gicp = domain->host_data; gicp 135 drivers/irqchip/irq-mvebu-gicp.c if (d->hwirq >= gicp->spi_cnt) { gicp 136 drivers/irqchip/irq-mvebu-gicp.c dev_err(gicp->dev, "Invalid hwirq %lu\n", d->hwirq); gicp 142 drivers/irqchip/irq-mvebu-gicp.c spin_lock(&gicp->spi_lock); gicp 143 drivers/irqchip/irq-mvebu-gicp.c __clear_bit(d->hwirq, gicp->spi_bitmap); gicp 144 drivers/irqchip/irq-mvebu-gicp.c spin_unlock(&gicp->spi_lock); gicp 170 drivers/irqchip/irq-mvebu-gicp.c struct mvebu_gicp *gicp; gicp 176 drivers/irqchip/irq-mvebu-gicp.c gicp = devm_kzalloc(&pdev->dev, sizeof(*gicp), GFP_KERNEL); gicp 177 drivers/irqchip/irq-mvebu-gicp.c if (!gicp) gicp 180 drivers/irqchip/irq-mvebu-gicp.c gicp->dev = &pdev->dev; gicp 181 drivers/irqchip/irq-mvebu-gicp.c spin_lock_init(&gicp->spi_lock); gicp 183 drivers/irqchip/irq-mvebu-gicp.c gicp->res = platform_get_resource(pdev, IORESOURCE_MEM, 0); gicp 184 drivers/irqchip/irq-mvebu-gicp.c if (!gicp->res) gicp 191 drivers/irqchip/irq-mvebu-gicp.c gicp->spi_ranges_cnt = ret / 2; gicp 193 drivers/irqchip/irq-mvebu-gicp.c gicp->spi_ranges = gicp 195 drivers/irqchip/irq-mvebu-gicp.c gicp->spi_ranges_cnt, gicp 198 drivers/irqchip/irq-mvebu-gicp.c if (!gicp->spi_ranges) gicp 201 drivers/irqchip/irq-mvebu-gicp.c for (i = 0; i < gicp->spi_ranges_cnt; i++) { gicp 204 drivers/irqchip/irq-mvebu-gicp.c &gicp->spi_ranges[i].start); gicp 208 drivers/irqchip/irq-mvebu-gicp.c &gicp->spi_ranges[i].count); gicp 210 drivers/irqchip/irq-mvebu-gicp.c gicp->spi_cnt += gicp->spi_ranges[i].count; gicp 213 drivers/irqchip/irq-mvebu-gicp.c gicp->spi_bitmap = devm_kcalloc(&pdev->dev, gicp 214 drivers/irqchip/irq-mvebu-gicp.c BITS_TO_LONGS(gicp->spi_cnt), sizeof(long), gicp 216 drivers/irqchip/irq-mvebu-gicp.c if (!gicp->spi_bitmap) gicp 232 drivers/irqchip/irq-mvebu-gicp.c gicp->spi_cnt, gicp 234 drivers/irqchip/irq-mvebu-gicp.c &gicp_domain_ops, gicp); gicp 247 drivers/irqchip/irq-mvebu-gicp.c platform_set_drvdata(pdev, gicp);