Lines Matching refs:chips
172 struct davinci_gpio_controller *chips; in davinci_gpio_probe() local
211 chips = devm_kcalloc(dev, in davinci_gpio_probe()
214 if (!chips) in davinci_gpio_probe()
223 chips->irqs[i] = platform_get_irq(pdev, i); in davinci_gpio_probe()
224 if (chips->irqs[i] < 0) { in davinci_gpio_probe()
226 chips->irqs[i]); in davinci_gpio_probe()
227 return chips->irqs[i]; in davinci_gpio_probe()
232 chips->chip.label = devm_kstrdup(dev, label, GFP_KERNEL); in davinci_gpio_probe()
233 if (!chips->chip.label) in davinci_gpio_probe()
236 chips->chip.direction_input = davinci_direction_in; in davinci_gpio_probe()
237 chips->chip.get = davinci_gpio_get; in davinci_gpio_probe()
238 chips->chip.direction_output = davinci_direction_out; in davinci_gpio_probe()
239 chips->chip.set = davinci_gpio_set; in davinci_gpio_probe()
241 chips->chip.ngpio = ngpio; in davinci_gpio_probe()
242 chips->chip.base = bank_base; in davinci_gpio_probe()
245 chips->chip.of_gpio_n_cells = 2; in davinci_gpio_probe()
246 chips->chip.parent = dev; in davinci_gpio_probe()
247 chips->chip.of_node = dev->of_node; in davinci_gpio_probe()
250 chips->chip.request = gpiochip_generic_request; in davinci_gpio_probe()
251 chips->chip.free = gpiochip_generic_free; in davinci_gpio_probe()
254 spin_lock_init(&chips->lock); in davinci_gpio_probe()
258 chips->regs[bank] = gpio_base + offset_array[bank]; in davinci_gpio_probe()
260 ret = devm_gpiochip_add_data(dev, &chips->chip, chips); in davinci_gpio_probe()
264 platform_set_drvdata(pdev, chips); in davinci_gpio_probe()
436 struct davinci_gpio_controller *chips = in davinci_gpio_irq_map() local
438 struct davinci_gpio_regs __iomem *g = chips->regs[hw / 32]; in davinci_gpio_irq_map()
490 struct davinci_gpio_controller *chips = platform_get_drvdata(pdev); in davinci_gpio_irq_setup() local
530 chips); in davinci_gpio_irq_setup()
544 chips->chip.to_irq = gpio_to_irq_banked; in davinci_gpio_irq_setup()
545 chips->irq_domain = irq_domain; in davinci_gpio_irq_setup()
554 chips->chip.to_irq = gpio_to_irq_unbanked; in davinci_gpio_irq_setup()
555 chips->gpio_unbanked = pdata->gpio_unbanked; in davinci_gpio_irq_setup()
559 irq = chips->irqs[0]; in davinci_gpio_irq_setup()
565 g = chips->regs[0]; in davinci_gpio_irq_setup()
571 irq_set_chip(chips->irqs[gpio], irq_chip); in davinci_gpio_irq_setup()
572 irq_set_handler_data(chips->irqs[gpio], chips); in davinci_gpio_irq_setup()
573 irq_set_status_flags(chips->irqs[gpio], in davinci_gpio_irq_setup()
589 g = chips->regs[bank / 2]; in davinci_gpio_irq_setup()
609 irqdata->chip = chips; in davinci_gpio_irq_setup()
611 irq_set_chained_handler_and_data(chips->irqs[bank], in davinci_gpio_irq_setup()