Lines Matching full:bank
209 * @bank: pin bank related to the domain
213 struct samsung_pin_bank *bank; member
268 struct samsung_pin_bank *bank, int pin) in s3c64xx_irq_set_function() argument
270 const struct samsung_pin_bank_type *bank_type = bank->type; in s3c64xx_irq_set_function()
278 reg = d->virt_base + bank->pctl_offset; in s3c64xx_irq_set_function()
281 /* 4-bit bank type with 2 con regs */ in s3c64xx_irq_set_function()
289 spin_lock_irqsave(&bank->slock, flags); in s3c64xx_irq_set_function()
293 val |= bank->eint_func << shift; in s3c64xx_irq_set_function()
296 spin_unlock_irqrestore(&bank->slock, flags); in s3c64xx_irq_set_function()
305 struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd); in s3c64xx_gpio_irq_set_mask() local
306 struct samsung_pinctrl_drv_data *d = bank->drvdata; in s3c64xx_gpio_irq_set_mask()
307 unsigned char index = EINT_OFFS(bank->eint_offset) + irqd->hwirq; in s3c64xx_gpio_irq_set_mask()
308 void __iomem *reg = d->virt_base + EINTMASK_REG(bank->eint_offset); in s3c64xx_gpio_irq_set_mask()
331 struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd); in s3c64xx_gpio_irq_ack() local
332 struct samsung_pinctrl_drv_data *d = bank->drvdata; in s3c64xx_gpio_irq_ack()
333 unsigned char index = EINT_OFFS(bank->eint_offset) + irqd->hwirq; in s3c64xx_gpio_irq_ack()
334 void __iomem *reg = d->virt_base + EINTPEND_REG(bank->eint_offset); in s3c64xx_gpio_irq_ack()
341 struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd); in s3c64xx_gpio_irq_set_type() local
342 struct samsung_pinctrl_drv_data *d = bank->drvdata; in s3c64xx_gpio_irq_set_type()
357 reg = d->virt_base + EINTCON_REG(bank->eint_offset); in s3c64xx_gpio_irq_set_type()
358 shift = EINT_OFFS(bank->eint_offset) + irqd->hwirq; in s3c64xx_gpio_irq_set_type()
366 s3c64xx_irq_set_function(d, bank, irqd->hwirq); in s3c64xx_gpio_irq_set_type()
385 struct samsung_pin_bank *bank = h->host_data; in s3c64xx_gpio_irq_map() local
387 if (!(bank->eint_mask & (1 << hw))) in s3c64xx_gpio_irq_map()
392 irq_set_chip_data(virq, bank); in s3c64xx_gpio_irq_map()
454 struct samsung_pin_bank *bank; in s3c64xx_eint_gpio_init() local
465 bank = d->pin_banks; in s3c64xx_eint_gpio_init()
466 for (i = 0; i < d->nr_banks; ++i, ++bank) { in s3c64xx_eint_gpio_init()
470 if (bank->eint_type != EINT_TYPE_GPIO) in s3c64xx_eint_gpio_init()
473 mask = bank->eint_mask; in s3c64xx_eint_gpio_init()
476 bank->irq_domain = irq_domain_add_linear(bank->of_node, in s3c64xx_eint_gpio_init()
477 nr_eints, &s3c64xx_gpio_irqd_ops, bank); in s3c64xx_eint_gpio_init()
478 if (!bank->irq_domain) { in s3c64xx_eint_gpio_init()
492 bank = d->pin_banks; in s3c64xx_eint_gpio_init()
494 for (i = 0; i < d->nr_banks; ++i, ++bank) { in s3c64xx_eint_gpio_init()
495 if (bank->eint_type != EINT_TYPE_GPIO) in s3c64xx_eint_gpio_init()
498 data->domains[nr_domains++] = bank->irq_domain; in s3c64xx_eint_gpio_init()
514 struct samsung_pinctrl_drv_data *d = ddata->bank->drvdata; in s3c64xx_eint0_irq_set_mask()
539 struct samsung_pinctrl_drv_data *d = ddata->bank->drvdata; in s3c64xx_eint0_irq_ack()
549 struct samsung_pin_bank *bank = ddata->bank; in s3c64xx_eint0_irq_set_type() local
550 struct samsung_pinctrl_drv_data *d = bank->drvdata; in s3c64xx_eint0_irq_set_type()
578 s3c64xx_irq_set_function(d, bank, irqd->hwirq); in s3c64xx_eint0_irq_set_type()
658 struct samsung_pin_bank *bank = ddata->bank; in s3c64xx_eint0_irq_map() local
660 if (!(bank->eint_mask & (1 << hw))) in s3c64xx_eint0_irq_map()
693 struct samsung_pin_bank *bank; in s3c64xx_eint_eint0_init() local
729 bank = d->pin_banks; in s3c64xx_eint_eint0_init()
730 for (i = 0; i < d->nr_banks; ++i, ++bank) { in s3c64xx_eint_eint0_init()
737 if (bank->eint_type != EINT_TYPE_WKUP) in s3c64xx_eint_eint0_init()
740 mask = bank->eint_mask; in s3c64xx_eint_eint0_init()
747 ddata->bank = bank; in s3c64xx_eint_eint0_init()
749 bank->irq_domain = irq_domain_add_linear(bank->of_node, in s3c64xx_eint_eint0_init()
751 if (!bank->irq_domain) { in s3c64xx_eint_eint0_init()
756 irq = bank->eint_offset; in s3c64xx_eint_eint0_init()
757 mask = bank->eint_mask; in s3c64xx_eint_eint0_init()
761 data->domains[irq] = bank->irq_domain; in s3c64xx_eint_eint0_init()