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