Lines Matching refs:bank

343 			struct samsung_pin_bank **bank)  in pin_to_reg_bank()  argument
355 if (bank) in pin_to_reg_bank()
356 *bank = b; in pin_to_reg_bank()
365 struct samsung_pin_bank *bank; in samsung_pinmux_setup() local
377 &reg, &pin_offset, &bank); in samsung_pinmux_setup()
378 type = bank->type; in samsung_pinmux_setup()
387 spin_lock_irqsave(&bank->slock, flags); in samsung_pinmux_setup()
395 spin_unlock_irqrestore(&bank->slock, flags); in samsung_pinmux_setup()
421 struct samsung_pin_bank *bank; in samsung_pinconf_rw() local
430 &pin_offset, &bank); in samsung_pinconf_rw()
431 type = bank->type; in samsung_pinconf_rw()
439 spin_lock_irqsave(&bank->slock, flags); in samsung_pinconf_rw()
456 spin_unlock_irqrestore(&bank->slock, flags); in samsung_pinconf_rw()
525 struct samsung_pin_bank *bank = gc_to_pin_bank(gc); in samsung_gpio_set() local
526 const struct samsung_pin_bank_type *type = bank->type; in samsung_gpio_set()
531 reg = bank->drvdata->virt_base + bank->pctl_offset; in samsung_gpio_set()
533 spin_lock_irqsave(&bank->slock, flags); in samsung_gpio_set()
541 spin_unlock_irqrestore(&bank->slock, flags); in samsung_gpio_set()
549 struct samsung_pin_bank *bank = gc_to_pin_bank(gc); in samsung_gpio_get() local
550 const struct samsung_pin_bank_type *type = bank->type; in samsung_gpio_get()
552 reg = bank->drvdata->virt_base + bank->pctl_offset; in samsung_gpio_get()
568 struct samsung_pin_bank *bank; in samsung_gpio_set_direction() local
574 bank = gc_to_pin_bank(gc); in samsung_gpio_set_direction()
575 type = bank->type; in samsung_gpio_set_direction()
576 drvdata = bank->drvdata; in samsung_gpio_set_direction()
578 reg = drvdata->virt_base + bank->pctl_offset + in samsung_gpio_set_direction()
589 spin_lock_irqsave(&bank->slock, flags); in samsung_gpio_set_direction()
597 spin_unlock_irqrestore(&bank->slock, flags); in samsung_gpio_set_direction()
622 struct samsung_pin_bank *bank = gc_to_pin_bank(gc); in samsung_gpio_to_irq() local
625 if (!bank->irq_domain) in samsung_gpio_to_irq()
628 virq = irq_create_mapping(bank->irq_domain, offset); in samsung_gpio_to_irq()
823 int pin, bank, ret; in samsung_pinctrl_register() local
856 for (bank = 0; bank < drvdata->nr_banks; bank++) { in samsung_pinctrl_register()
857 pin_bank = &drvdata->pin_banks[bank]; in samsung_pinctrl_register()
876 for (bank = 0; bank < drvdata->nr_banks; ++bank) { in samsung_pinctrl_register()
877 pin_bank = &drvdata->pin_banks[bank]; in samsung_pinctrl_register()
879 pin_bank->grange.id = bank; in samsung_pinctrl_register()
906 struct samsung_pin_bank *bank = drvdata->pin_banks; in samsung_gpiolib_register() local
911 for (i = 0; i < drvdata->nr_banks; ++i, ++bank) { in samsung_gpiolib_register()
912 bank->gpio_chip = samsung_gpiolib_chip; in samsung_gpiolib_register()
914 gc = &bank->gpio_chip; in samsung_gpiolib_register()
915 gc->base = drvdata->pin_base + bank->pin_base; in samsung_gpiolib_register()
916 gc->ngpio = bank->nr_pins; in samsung_gpiolib_register()
918 gc->of_node = bank->of_node; in samsung_gpiolib_register()
919 gc->label = bank->name; in samsung_gpiolib_register()
932 for (--i, --bank; i >= 0; --i, --bank) in samsung_gpiolib_register()
933 gpiochip_remove(&bank->gpio_chip); in samsung_gpiolib_register()
941 struct samsung_pin_bank *bank = drvdata->pin_banks; in samsung_gpiolib_unregister() local
944 for (i = 0; i < drvdata->nr_banks; ++i, ++bank) in samsung_gpiolib_unregister()
945 gpiochip_remove(&bank->gpio_chip); in samsung_gpiolib_unregister()
963 struct samsung_pin_bank *bank; in samsung_pinctrl_get_soc_data() local
982 bank = d->pin_banks; in samsung_pinctrl_get_soc_data()
984 for (i = 0; i < ctrl->nr_banks; ++i, ++bdata, ++bank) { in samsung_pinctrl_get_soc_data()
985 bank->type = bdata->type; in samsung_pinctrl_get_soc_data()
986 bank->pctl_offset = bdata->pctl_offset; in samsung_pinctrl_get_soc_data()
987 bank->nr_pins = bdata->nr_pins; in samsung_pinctrl_get_soc_data()
988 bank->eint_func = bdata->eint_func; in samsung_pinctrl_get_soc_data()
989 bank->eint_type = bdata->eint_type; in samsung_pinctrl_get_soc_data()
990 bank->eint_mask = bdata->eint_mask; in samsung_pinctrl_get_soc_data()
991 bank->eint_offset = bdata->eint_offset; in samsung_pinctrl_get_soc_data()
992 bank->name = bdata->name; in samsung_pinctrl_get_soc_data()
994 spin_lock_init(&bank->slock); in samsung_pinctrl_get_soc_data()
995 bank->drvdata = d; in samsung_pinctrl_get_soc_data()
996 bank->pin_base = d->nr_pins; in samsung_pinctrl_get_soc_data()
997 d->nr_pins += bank->nr_pins; in samsung_pinctrl_get_soc_data()
1003 bank = d->pin_banks; in samsung_pinctrl_get_soc_data()
1004 for (i = 0; i < d->nr_banks; ++i, ++bank) { in samsung_pinctrl_get_soc_data()
1005 if (!strcmp(bank->name, np->name)) { in samsung_pinctrl_get_soc_data()
1006 bank->of_node = np; in samsung_pinctrl_get_soc_data()
1091 struct samsung_pin_bank *bank = &drvdata->pin_banks[i]; in samsung_pinctrl_suspend_dev() local
1092 void __iomem *reg = virt_base + bank->pctl_offset; in samsung_pinctrl_suspend_dev()
1093 const u8 *offs = bank->type->reg_offset; in samsung_pinctrl_suspend_dev()
1094 const u8 *widths = bank->type->fld_width; in samsung_pinctrl_suspend_dev()
1103 bank->pm_save[type] = readl(reg + offs[type]); in samsung_pinctrl_suspend_dev()
1105 if (widths[PINCFG_TYPE_FUNC] * bank->nr_pins > 32) { in samsung_pinctrl_suspend_dev()
1107 bank->pm_save[PINCFG_TYPE_NUM] = in samsung_pinctrl_suspend_dev()
1110 bank->name, reg, in samsung_pinctrl_suspend_dev()
1111 bank->pm_save[PINCFG_TYPE_FUNC], in samsung_pinctrl_suspend_dev()
1112 bank->pm_save[PINCFG_TYPE_NUM]); in samsung_pinctrl_suspend_dev()
1114 pr_debug("Save %s @ %p (con %#010x)\n", bank->name, in samsung_pinctrl_suspend_dev()
1115 reg, bank->pm_save[PINCFG_TYPE_FUNC]); in samsung_pinctrl_suspend_dev()
1140 struct samsung_pin_bank *bank = &drvdata->pin_banks[i]; in samsung_pinctrl_resume_dev() local
1141 void __iomem *reg = virt_base + bank->pctl_offset; in samsung_pinctrl_resume_dev()
1142 const u8 *offs = bank->type->reg_offset; in samsung_pinctrl_resume_dev()
1143 const u8 *widths = bank->type->fld_width; in samsung_pinctrl_resume_dev()
1150 if (widths[PINCFG_TYPE_FUNC] * bank->nr_pins > 32) { in samsung_pinctrl_resume_dev()
1153 bank->name, reg, in samsung_pinctrl_resume_dev()
1156 bank->pm_save[PINCFG_TYPE_FUNC], in samsung_pinctrl_resume_dev()
1157 bank->pm_save[PINCFG_TYPE_NUM]); in samsung_pinctrl_resume_dev()
1158 writel(bank->pm_save[PINCFG_TYPE_NUM], in samsung_pinctrl_resume_dev()
1161 pr_debug("%s @ %p (con %#010x => %#010x)\n", bank->name, in samsung_pinctrl_resume_dev()
1163 bank->pm_save[PINCFG_TYPE_FUNC]); in samsung_pinctrl_resume_dev()
1167 writel(bank->pm_save[type], reg + offs[type]); in samsung_pinctrl_resume_dev()