Lines Matching refs:bank

359 			struct samsung_pin_bank **bank)  in pin_to_reg_bank()  argument
371 if (bank) in pin_to_reg_bank()
372 *bank = b; in pin_to_reg_bank()
381 struct samsung_pin_bank *bank; in samsung_pinmux_setup() local
393 &reg, &pin_offset, &bank); in samsung_pinmux_setup()
394 type = bank->type; in samsung_pinmux_setup()
403 raw_spin_lock_irqsave(&bank->slock, flags); in samsung_pinmux_setup()
410 raw_spin_unlock_irqrestore(&bank->slock, flags); in samsung_pinmux_setup()
436 struct samsung_pin_bank *bank; in samsung_pinconf_rw() local
445 &pin_offset, &bank); in samsung_pinconf_rw()
446 type = bank->type; in samsung_pinconf_rw()
454 raw_spin_lock_irqsave(&bank->slock, flags); in samsung_pinconf_rw()
471 raw_spin_unlock_irqrestore(&bank->slock, flags); in samsung_pinconf_rw()
544 struct samsung_pin_bank *bank = gpiochip_get_data(gc); in samsung_gpio_set_value() local
545 const struct samsung_pin_bank_type *type = bank->type; in samsung_gpio_set_value()
549 reg = bank->pctl_base + bank->pctl_offset; in samsung_gpio_set_value()
561 struct samsung_pin_bank *bank = gpiochip_get_data(gc); in samsung_gpio_set() local
564 raw_spin_lock_irqsave(&bank->slock, flags); in samsung_gpio_set()
566 raw_spin_unlock_irqrestore(&bank->slock, flags); in samsung_gpio_set()
574 struct samsung_pin_bank *bank = gpiochip_get_data(gc); in samsung_gpio_get() local
575 const struct samsung_pin_bank_type *type = bank->type; in samsung_gpio_get()
577 reg = bank->pctl_base + bank->pctl_offset; in samsung_gpio_get()
595 struct samsung_pin_bank *bank; in samsung_gpio_set_direction() local
599 bank = gpiochip_get_data(gc); in samsung_gpio_set_direction()
600 type = bank->type; in samsung_gpio_set_direction()
602 reg = bank->pctl_base + bank->pctl_offset in samsung_gpio_set_direction()
625 struct samsung_pin_bank *bank = gpiochip_get_data(gc); in samsung_gpio_direction_input() local
629 raw_spin_lock_irqsave(&bank->slock, flags); in samsung_gpio_direction_input()
631 raw_spin_unlock_irqrestore(&bank->slock, flags); in samsung_gpio_direction_input()
639 struct samsung_pin_bank *bank = gpiochip_get_data(gc); in samsung_gpio_direction_output() local
643 raw_spin_lock_irqsave(&bank->slock, flags); in samsung_gpio_direction_output()
646 raw_spin_unlock_irqrestore(&bank->slock, flags); in samsung_gpio_direction_output()
657 struct samsung_pin_bank *bank = gpiochip_get_data(gc); in samsung_gpio_to_irq() local
660 if (!bank->irq_domain) in samsung_gpio_to_irq()
663 virq = irq_create_mapping(bank->irq_domain, offset); in samsung_gpio_to_irq()
861 int pin, bank, ret; in samsung_pinctrl_register() local
893 for (bank = 0; bank < drvdata->nr_banks; bank++) { in samsung_pinctrl_register()
894 pin_bank = &drvdata->pin_banks[bank]; in samsung_pinctrl_register()
914 for (bank = 0; bank < drvdata->nr_banks; ++bank) { in samsung_pinctrl_register()
915 pin_bank = &drvdata->pin_banks[bank]; in samsung_pinctrl_register()
917 pin_bank->grange.id = bank; in samsung_pinctrl_register()
933 struct samsung_pin_bank *bank = drvdata->pin_banks; in samsung_pinctrl_unregister() local
936 for (i = 0; i < drvdata->nr_banks; ++i, ++bank) in samsung_pinctrl_unregister()
937 pinctrl_remove_gpio_range(drvdata->pctl_dev, &bank->grange); in samsung_pinctrl_unregister()
957 struct samsung_pin_bank *bank = drvdata->pin_banks; in samsung_gpiolib_register() local
962 for (i = 0; i < drvdata->nr_banks; ++i, ++bank) { in samsung_gpiolib_register()
963 bank->gpio_chip = samsung_gpiolib_chip; in samsung_gpiolib_register()
965 gc = &bank->gpio_chip; in samsung_gpiolib_register()
966 gc->base = bank->grange.base; in samsung_gpiolib_register()
967 gc->ngpio = bank->nr_pins; in samsung_gpiolib_register()
969 gc->fwnode = bank->fwnode; in samsung_gpiolib_register()
970 gc->label = bank->name; in samsung_gpiolib_register()
972 ret = devm_gpiochip_add_data(&pdev->dev, gc, bank); in samsung_gpiolib_register()
1007 struct samsung_pin_bank *bank; in samsung_banks_node_put() local
1010 bank = d->pin_banks; in samsung_banks_node_put()
1011 for (i = 0; i < d->nr_banks; ++i, ++bank) in samsung_banks_node_put()
1012 fwnode_handle_put(bank->fwnode); in samsung_banks_node_put()
1022 struct samsung_pin_bank *bank; in samsung_banks_node_get() local
1029 bank = d->pin_banks; in samsung_banks_node_get()
1030 for (i = 0; i < d->nr_banks; ++i, ++bank) { in samsung_banks_node_get()
1031 strscpy(node_name, bank->name, sizeof(node_name)); in samsung_banks_node_get()
1035 bank->name); in samsung_banks_node_get()
1044 if (of_node_name_eq(np, bank->name)) in samsung_banks_node_get()
1049 bank->fwnode = child; in samsung_banks_node_get()
1052 bank->name); in samsung_banks_node_get()
1064 struct samsung_pin_bank *bank; in samsung_pinctrl_get_soc_data() local
1098 bank = d->pin_banks; in samsung_pinctrl_get_soc_data()
1100 for (i = 0; i < ctrl->nr_banks; ++i, ++bdata, ++bank) { in samsung_pinctrl_get_soc_data()
1101 bank->type = bdata->type; in samsung_pinctrl_get_soc_data()
1102 bank->pctl_offset = bdata->pctl_offset; in samsung_pinctrl_get_soc_data()
1103 bank->nr_pins = bdata->nr_pins; in samsung_pinctrl_get_soc_data()
1104 bank->eint_func = bdata->eint_func; in samsung_pinctrl_get_soc_data()
1105 bank->eint_type = bdata->eint_type; in samsung_pinctrl_get_soc_data()
1106 bank->eint_mask = bdata->eint_mask; in samsung_pinctrl_get_soc_data()
1107 bank->eint_offset = bdata->eint_offset; in samsung_pinctrl_get_soc_data()
1108 bank->name = bdata->name; in samsung_pinctrl_get_soc_data()
1110 raw_spin_lock_init(&bank->slock); in samsung_pinctrl_get_soc_data()
1111 bank->drvdata = d; in samsung_pinctrl_get_soc_data()
1112 bank->pin_base = d->nr_pins; in samsung_pinctrl_get_soc_data()
1113 d->nr_pins += bank->nr_pins; in samsung_pinctrl_get_soc_data()
1115 bank->eint_base = virt_base[0]; in samsung_pinctrl_get_soc_data()
1116 bank->pctl_base = virt_base[bdata->pctl_res_idx]; in samsung_pinctrl_get_soc_data()
1201 struct samsung_pin_bank *bank = &drvdata->pin_banks[i]; in samsung_pinctrl_suspend() local
1202 void __iomem *reg = bank->pctl_base + bank->pctl_offset; in samsung_pinctrl_suspend()
1203 const u8 *offs = bank->type->reg_offset; in samsung_pinctrl_suspend()
1204 const u8 *widths = bank->type->fld_width; in samsung_pinctrl_suspend()
1213 bank->pm_save[type] = readl(reg + offs[type]); in samsung_pinctrl_suspend()
1215 if (widths[PINCFG_TYPE_FUNC] * bank->nr_pins > 32) { in samsung_pinctrl_suspend()
1217 bank->pm_save[PINCFG_TYPE_NUM] = in samsung_pinctrl_suspend()
1220 bank->name, reg, in samsung_pinctrl_suspend()
1221 bank->pm_save[PINCFG_TYPE_FUNC], in samsung_pinctrl_suspend()
1222 bank->pm_save[PINCFG_TYPE_NUM]); in samsung_pinctrl_suspend()
1224 pr_debug("Save %s @ %p (con %#010x)\n", bank->name, in samsung_pinctrl_suspend()
1225 reg, bank->pm_save[PINCFG_TYPE_FUNC]); in samsung_pinctrl_suspend()
1254 struct samsung_pin_bank *bank = &drvdata->pin_banks[i]; in samsung_pinctrl_resume() local
1255 void __iomem *reg = bank->pctl_base + bank->pctl_offset; in samsung_pinctrl_resume()
1256 const u8 *offs = bank->type->reg_offset; in samsung_pinctrl_resume()
1257 const u8 *widths = bank->type->fld_width; in samsung_pinctrl_resume()
1264 if (widths[PINCFG_TYPE_FUNC] * bank->nr_pins > 32) { in samsung_pinctrl_resume()
1267 bank->name, reg, in samsung_pinctrl_resume()
1270 bank->pm_save[PINCFG_TYPE_FUNC], in samsung_pinctrl_resume()
1271 bank->pm_save[PINCFG_TYPE_NUM]); in samsung_pinctrl_resume()
1272 writel(bank->pm_save[PINCFG_TYPE_NUM], in samsung_pinctrl_resume()
1275 pr_debug("%s @ %p (con %#010x => %#010x)\n", bank->name, in samsung_pinctrl_resume()
1277 bank->pm_save[PINCFG_TYPE_FUNC]); in samsung_pinctrl_resume()
1281 writel(bank->pm_save[type], reg + offs[type]); in samsung_pinctrl_resume()