Lines Matching full:bank

213  * @bank: pin bank related to the domain
217 struct samsung_pin_bank *bank; member
281 struct samsung_pin_bank *bank, int pin) in s3c64xx_irq_set_function() argument
283 const struct samsung_pin_bank_type *bank_type = bank->type; in s3c64xx_irq_set_function()
291 reg = d->virt_base + bank->pctl_offset; in s3c64xx_irq_set_function()
294 /* 4-bit bank type with 2 con regs */ in s3c64xx_irq_set_function()
302 raw_spin_lock_irqsave(&bank->slock, flags); in s3c64xx_irq_set_function()
306 val |= bank->eint_func << shift; in s3c64xx_irq_set_function()
309 raw_spin_unlock_irqrestore(&bank->slock, flags); in s3c64xx_irq_set_function()
318 struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd); in s3c64xx_gpio_irq_set_mask() local
319 struct samsung_pinctrl_drv_data *d = bank->drvdata; in s3c64xx_gpio_irq_set_mask()
320 unsigned char index = EINT_OFFS(bank->eint_offset) + irqd->hwirq; in s3c64xx_gpio_irq_set_mask()
321 void __iomem *reg = d->virt_base + EINTMASK_REG(bank->eint_offset); in s3c64xx_gpio_irq_set_mask()
344 struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd); in s3c64xx_gpio_irq_ack() local
345 struct samsung_pinctrl_drv_data *d = bank->drvdata; in s3c64xx_gpio_irq_ack()
346 unsigned char index = EINT_OFFS(bank->eint_offset) + irqd->hwirq; in s3c64xx_gpio_irq_ack()
347 void __iomem *reg = d->virt_base + EINTPEND_REG(bank->eint_offset); in s3c64xx_gpio_irq_ack()
354 struct samsung_pin_bank *bank = irq_data_get_irq_chip_data(irqd); in s3c64xx_gpio_irq_set_type() local
355 struct samsung_pinctrl_drv_data *d = bank->drvdata; in s3c64xx_gpio_irq_set_type()
370 reg = d->virt_base + EINTCON_REG(bank->eint_offset); in s3c64xx_gpio_irq_set_type()
371 shift = EINT_OFFS(bank->eint_offset) + irqd->hwirq; in s3c64xx_gpio_irq_set_type()
379 s3c64xx_irq_set_function(d, bank, irqd->hwirq); in s3c64xx_gpio_irq_set_type()
398 struct samsung_pin_bank *bank = h->host_data; in s3c64xx_gpio_irq_map() local
400 if (!(bank->eint_mask & (1 << hw))) in s3c64xx_gpio_irq_map()
405 irq_set_chip_data(virq, bank); in s3c64xx_gpio_irq_map()
465 struct samsung_pin_bank *bank; in s3c64xx_eint_gpio_init() local
476 bank = d->pin_banks; in s3c64xx_eint_gpio_init()
477 for (i = 0; i < d->nr_banks; ++i, ++bank) { in s3c64xx_eint_gpio_init()
481 if (bank->eint_type != EINT_TYPE_GPIO) in s3c64xx_eint_gpio_init()
484 mask = bank->eint_mask; in s3c64xx_eint_gpio_init()
487 bank->irq_domain = irq_domain_create_linear(bank->fwnode, in s3c64xx_eint_gpio_init()
488 nr_eints, &s3c64xx_gpio_irqd_ops, bank); in s3c64xx_eint_gpio_init()
489 if (!bank->irq_domain) { in s3c64xx_eint_gpio_init()
503 bank = d->pin_banks; in s3c64xx_eint_gpio_init()
505 for (i = 0; i < d->nr_banks; ++i, ++bank) { in s3c64xx_eint_gpio_init()
506 if (bank->eint_type != EINT_TYPE_GPIO) in s3c64xx_eint_gpio_init()
509 data->domains[nr_domains++] = bank->irq_domain; in s3c64xx_eint_gpio_init()
525 struct samsung_pinctrl_drv_data *d = ddata->bank->drvdata; in s3c64xx_eint0_irq_set_mask()
550 struct samsung_pinctrl_drv_data *d = ddata->bank->drvdata; in s3c64xx_eint0_irq_ack()
560 struct samsung_pin_bank *bank = ddata->bank; in s3c64xx_eint0_irq_set_type() local
561 struct samsung_pinctrl_drv_data *d = bank->drvdata; in s3c64xx_eint0_irq_set_type()
589 s3c64xx_irq_set_function(d, bank, irqd->hwirq); in s3c64xx_eint0_irq_set_type()
668 struct samsung_pin_bank *bank = ddata->bank; in s3c64xx_eint0_irq_map() local
670 if (!(bank->eint_mask & (1 << hw))) in s3c64xx_eint0_irq_map()
703 struct samsung_pin_bank *bank; in s3c64xx_eint_eint0_init() local
739 bank = d->pin_banks; in s3c64xx_eint_eint0_init()
740 for (i = 0; i < d->nr_banks; ++i, ++bank) { in s3c64xx_eint_eint0_init()
747 if (bank->eint_type != EINT_TYPE_WKUP) in s3c64xx_eint_eint0_init()
750 mask = bank->eint_mask; in s3c64xx_eint_eint0_init()
757 ddata->bank = bank; in s3c64xx_eint_eint0_init()
759 bank->irq_domain = irq_domain_create_linear(bank->fwnode, in s3c64xx_eint_eint0_init()
761 if (!bank->irq_domain) { in s3c64xx_eint_eint0_init()
766 irq = bank->eint_offset; in s3c64xx_eint_eint0_init()
767 mask = bank->eint_mask; in s3c64xx_eint_eint0_init()
771 data->domains[irq] = bank->irq_domain; in s3c64xx_eint_eint0_init()