Lines Matching refs:altera_gc
38 struct altera_gpio_chip *altera_gc; in altera_gpio_irq_unmask() local
43 altera_gc = gpiochip_get_data(irq_data_get_irq_chip_data(d)); in altera_gpio_irq_unmask()
44 mm_gc = &altera_gc->mmchip; in altera_gpio_irq_unmask()
46 raw_spin_lock_irqsave(&altera_gc->gpio_lock, flags); in altera_gpio_irq_unmask()
51 raw_spin_unlock_irqrestore(&altera_gc->gpio_lock, flags); in altera_gpio_irq_unmask()
56 struct altera_gpio_chip *altera_gc; in altera_gpio_irq_mask() local
61 altera_gc = gpiochip_get_data(irq_data_get_irq_chip_data(d)); in altera_gpio_irq_mask()
62 mm_gc = &altera_gc->mmchip; in altera_gpio_irq_mask()
64 raw_spin_lock_irqsave(&altera_gc->gpio_lock, flags); in altera_gpio_irq_mask()
69 raw_spin_unlock_irqrestore(&altera_gc->gpio_lock, flags); in altera_gpio_irq_mask()
79 struct altera_gpio_chip *altera_gc; in altera_gpio_irq_set_type() local
81 altera_gc = gpiochip_get_data(irq_data_get_irq_chip_data(d)); in altera_gpio_irq_set_type()
87 if (type == altera_gc->interrupt_trigger) { in altera_gpio_irq_set_type()
185 struct altera_gpio_chip *altera_gc; in altera_gpio_irq_edge_handler() local
192 altera_gc = gpiochip_get_data(irq_desc_get_handler_data(desc)); in altera_gpio_irq_edge_handler()
194 mm_gc = &altera_gc->mmchip; in altera_gpio_irq_edge_handler()
195 irqdomain = altera_gc->mmchip.gc.irq.domain; in altera_gpio_irq_edge_handler()
213 struct altera_gpio_chip *altera_gc; in altera_gpio_irq_leveL_high_handler() local
220 altera_gc = gpiochip_get_data(irq_desc_get_handler_data(desc)); in altera_gpio_irq_leveL_high_handler()
222 mm_gc = &altera_gc->mmchip; in altera_gpio_irq_leveL_high_handler()
223 irqdomain = altera_gc->mmchip.gc.irq.domain; in altera_gpio_irq_leveL_high_handler()
240 struct altera_gpio_chip *altera_gc; in altera_gpio_probe() local
243 altera_gc = devm_kzalloc(&pdev->dev, sizeof(*altera_gc), GFP_KERNEL); in altera_gpio_probe()
244 if (!altera_gc) in altera_gpio_probe()
247 raw_spin_lock_init(&altera_gc->gpio_lock); in altera_gpio_probe()
251 altera_gc->mmchip.gc.ngpio = ALTERA_GPIO_MAX_NGPIO; in altera_gpio_probe()
253 altera_gc->mmchip.gc.ngpio = reg; in altera_gpio_probe()
255 if (altera_gc->mmchip.gc.ngpio > ALTERA_GPIO_MAX_NGPIO) { in altera_gpio_probe()
259 altera_gc->mmchip.gc.ngpio = ALTERA_GPIO_MAX_NGPIO; in altera_gpio_probe()
262 altera_gc->mmchip.gc.direction_input = altera_gpio_direction_input; in altera_gpio_probe()
263 altera_gc->mmchip.gc.direction_output = altera_gpio_direction_output; in altera_gpio_probe()
264 altera_gc->mmchip.gc.get = altera_gpio_get; in altera_gpio_probe()
265 altera_gc->mmchip.gc.set = altera_gpio_set; in altera_gpio_probe()
266 altera_gc->mmchip.gc.owner = THIS_MODULE; in altera_gpio_probe()
267 altera_gc->mmchip.gc.parent = &pdev->dev; in altera_gpio_probe()
269 altera_gc->mapped_irq = platform_get_irq(pdev, 0); in altera_gpio_probe()
271 if (altera_gc->mapped_irq < 0) in altera_gpio_probe()
279 altera_gc->interrupt_trigger = reg; in altera_gpio_probe()
281 altera_gc->irq_chip.name = "altera-gpio"; in altera_gpio_probe()
282 altera_gc->irq_chip.irq_mask = altera_gpio_irq_mask; in altera_gpio_probe()
283 altera_gc->irq_chip.irq_unmask = altera_gpio_irq_unmask; in altera_gpio_probe()
284 altera_gc->irq_chip.irq_set_type = altera_gpio_irq_set_type; in altera_gpio_probe()
285 altera_gc->irq_chip.irq_startup = altera_gpio_irq_startup; in altera_gpio_probe()
286 altera_gc->irq_chip.irq_shutdown = altera_gpio_irq_mask; in altera_gpio_probe()
288 girq = &altera_gc->mmchip.gc.irq; in altera_gpio_probe()
289 girq->chip = &altera_gc->irq_chip; in altera_gpio_probe()
290 if (altera_gc->interrupt_trigger == IRQ_TYPE_LEVEL_HIGH) in altera_gpio_probe()
301 girq->parents[0] = altera_gc->mapped_irq; in altera_gpio_probe()
304 ret = of_mm_gpiochip_add_data(node, &altera_gc->mmchip, altera_gc); in altera_gpio_probe()
310 platform_set_drvdata(pdev, altera_gc); in altera_gpio_probe()
317 struct altera_gpio_chip *altera_gc = platform_get_drvdata(pdev); in altera_gpio_remove() local
319 of_mm_gpiochip_remove(&altera_gc->mmchip); in altera_gpio_remove()