Lines Matching refs:altera_gc
39 struct altera_gpio_chip *altera_gc; in altera_gpio_irq_unmask() local
44 altera_gc = gpiochip_get_data(irq_data_get_irq_chip_data(d)); in altera_gpio_irq_unmask()
45 mm_gc = &altera_gc->mmchip; in altera_gpio_irq_unmask()
47 raw_spin_lock_irqsave(&altera_gc->gpio_lock, flags); in altera_gpio_irq_unmask()
52 raw_spin_unlock_irqrestore(&altera_gc->gpio_lock, flags); in altera_gpio_irq_unmask()
57 struct altera_gpio_chip *altera_gc; in altera_gpio_irq_mask() local
62 altera_gc = gpiochip_get_data(irq_data_get_irq_chip_data(d)); in altera_gpio_irq_mask()
63 mm_gc = &altera_gc->mmchip; in altera_gpio_irq_mask()
65 raw_spin_lock_irqsave(&altera_gc->gpio_lock, flags); in altera_gpio_irq_mask()
70 raw_spin_unlock_irqrestore(&altera_gc->gpio_lock, flags); in altera_gpio_irq_mask()
80 struct altera_gpio_chip *altera_gc; in altera_gpio_irq_set_type() local
82 altera_gc = gpiochip_get_data(irq_data_get_irq_chip_data(d)); in altera_gpio_irq_set_type()
88 if (type == altera_gc->interrupt_trigger) { in altera_gpio_irq_set_type()
186 struct altera_gpio_chip *altera_gc; in altera_gpio_irq_edge_handler() local
193 altera_gc = gpiochip_get_data(irq_desc_get_handler_data(desc)); in altera_gpio_irq_edge_handler()
195 mm_gc = &altera_gc->mmchip; in altera_gpio_irq_edge_handler()
196 irqdomain = altera_gc->mmchip.gc.irq.domain; in altera_gpio_irq_edge_handler()
214 struct altera_gpio_chip *altera_gc; in altera_gpio_irq_leveL_high_handler() local
221 altera_gc = gpiochip_get_data(irq_desc_get_handler_data(desc)); in altera_gpio_irq_leveL_high_handler()
223 mm_gc = &altera_gc->mmchip; in altera_gpio_irq_leveL_high_handler()
224 irqdomain = altera_gc->mmchip.gc.irq.domain; in altera_gpio_irq_leveL_high_handler()
241 struct altera_gpio_chip *altera_gc; in altera_gpio_probe() local
244 altera_gc = devm_kzalloc(&pdev->dev, sizeof(*altera_gc), GFP_KERNEL); in altera_gpio_probe()
245 if (!altera_gc) in altera_gpio_probe()
248 raw_spin_lock_init(&altera_gc->gpio_lock); in altera_gpio_probe()
252 altera_gc->mmchip.gc.ngpio = ALTERA_GPIO_MAX_NGPIO; in altera_gpio_probe()
254 altera_gc->mmchip.gc.ngpio = reg; in altera_gpio_probe()
256 if (altera_gc->mmchip.gc.ngpio > ALTERA_GPIO_MAX_NGPIO) { in altera_gpio_probe()
260 altera_gc->mmchip.gc.ngpio = ALTERA_GPIO_MAX_NGPIO; in altera_gpio_probe()
263 altera_gc->mmchip.gc.direction_input = altera_gpio_direction_input; in altera_gpio_probe()
264 altera_gc->mmchip.gc.direction_output = altera_gpio_direction_output; in altera_gpio_probe()
265 altera_gc->mmchip.gc.get = altera_gpio_get; in altera_gpio_probe()
266 altera_gc->mmchip.gc.set = altera_gpio_set; in altera_gpio_probe()
267 altera_gc->mmchip.gc.owner = THIS_MODULE; in altera_gpio_probe()
268 altera_gc->mmchip.gc.parent = &pdev->dev; in altera_gpio_probe()
270 altera_gc->mapped_irq = platform_get_irq_optional(pdev, 0); in altera_gpio_probe()
272 if (altera_gc->mapped_irq < 0) in altera_gpio_probe()
280 altera_gc->interrupt_trigger = reg; in altera_gpio_probe()
282 altera_gc->irq_chip.name = "altera-gpio"; in altera_gpio_probe()
283 altera_gc->irq_chip.irq_mask = altera_gpio_irq_mask; in altera_gpio_probe()
284 altera_gc->irq_chip.irq_unmask = altera_gpio_irq_unmask; in altera_gpio_probe()
285 altera_gc->irq_chip.irq_set_type = altera_gpio_irq_set_type; in altera_gpio_probe()
286 altera_gc->irq_chip.irq_startup = altera_gpio_irq_startup; in altera_gpio_probe()
287 altera_gc->irq_chip.irq_shutdown = altera_gpio_irq_mask; in altera_gpio_probe()
289 girq = &altera_gc->mmchip.gc.irq; in altera_gpio_probe()
290 girq->chip = &altera_gc->irq_chip; in altera_gpio_probe()
291 if (altera_gc->interrupt_trigger == IRQ_TYPE_LEVEL_HIGH) in altera_gpio_probe()
302 girq->parents[0] = altera_gc->mapped_irq; in altera_gpio_probe()
305 ret = of_mm_gpiochip_add_data(node, &altera_gc->mmchip, altera_gc); in altera_gpio_probe()
311 platform_set_drvdata(pdev, altera_gc); in altera_gpio_probe()
318 struct altera_gpio_chip *altera_gc = platform_get_drvdata(pdev); in altera_gpio_remove() local
320 of_mm_gpiochip_remove(&altera_gc->mmchip); in altera_gpio_remove()