Lines Matching full:fpga
40 struct cplds *fpga = d; in cplds_irq_handler() local
45 pending = readl(fpga->base + FPGA_IRQ_SET_CLR) & fpga->irq_mask; in cplds_irq_handler()
47 generic_handle_irq(irq_find_mapping(fpga->irqdomain, in cplds_irq_handler()
57 struct cplds *fpga = irq_data_get_irq_chip_data(d); in cplds_irq_mask() local
61 fpga->irq_mask &= ~bit; in cplds_irq_mask()
62 writel(fpga->irq_mask, fpga->base + FPGA_IRQ_MASK_EN); in cplds_irq_mask()
67 struct cplds *fpga = irq_data_get_irq_chip_data(d); in cplds_irq_unmask() local
71 set = readl(fpga->base + FPGA_IRQ_SET_CLR); in cplds_irq_unmask()
72 writel(set & ~bit, fpga->base + FPGA_IRQ_SET_CLR); in cplds_irq_unmask()
74 fpga->irq_mask |= bit; in cplds_irq_unmask()
75 writel(fpga->irq_mask, fpga->base + FPGA_IRQ_MASK_EN); in cplds_irq_unmask()
89 struct cplds *fpga = d->host_data; in cplds_irq_domain_map() local
92 irq_set_chip_data(irq, fpga); in cplds_irq_domain_map()
104 struct cplds *fpga = platform_get_drvdata(pdev); in cplds_resume() local
106 writel(fpga->irq_mask, fpga->base + FPGA_IRQ_MASK_EN); in cplds_resume()
114 struct cplds *fpga; in cplds_probe() local
119 fpga = devm_kzalloc(&pdev->dev, sizeof(*fpga), GFP_KERNEL); in cplds_probe()
120 if (!fpga) in cplds_probe()
123 fpga->irq = platform_get_irq(pdev, 0); in cplds_probe()
124 if (fpga->irq <= 0) in cplds_probe()
125 return fpga->irq; in cplds_probe()
132 fpga->base = devm_ioremap_resource(&pdev->dev, res); in cplds_probe()
133 if (IS_ERR(fpga->base)) in cplds_probe()
134 return PTR_ERR(fpga->base); in cplds_probe()
136 platform_set_drvdata(pdev, fpga); in cplds_probe()
138 writel(fpga->irq_mask, fpga->base + FPGA_IRQ_MASK_EN); in cplds_probe()
139 writel(0, fpga->base + FPGA_IRQ_SET_CLR); in cplds_probe()
141 irqflags = irq_get_trigger_type(fpga->irq); in cplds_probe()
142 ret = devm_request_irq(&pdev->dev, fpga->irq, cplds_irq_handler, in cplds_probe()
143 irqflags, dev_name(&pdev->dev), fpga); in cplds_probe()
149 fpga->irq, ret); in cplds_probe()
153 irq_set_irq_wake(fpga->irq, 1); in cplds_probe()
154 fpga->irqdomain = irq_domain_add_linear(pdev->dev.of_node, in cplds_probe()
156 &cplds_irq_domain_ops, fpga); in cplds_probe()
157 if (!fpga->irqdomain) in cplds_probe()
161 ret = irq_create_strict_mappings(fpga->irqdomain, base_irq, 0, in cplds_probe()
175 struct cplds *fpga = platform_get_drvdata(pdev); in cplds_remove() local
177 irq_set_chip_and_handler(fpga->irq, NULL, NULL); in cplds_remove()