Lines Matching refs:sprd_pctl

159 static int sprd_pinctrl_get_id_by_name(struct sprd_pinctrl *sprd_pctl,  in sprd_pinctrl_get_id_by_name()  argument
162 struct sprd_pinctrl_soc_info *info = sprd_pctl->info; in sprd_pinctrl_get_id_by_name()
174 sprd_pinctrl_get_pin_by_id(struct sprd_pinctrl *sprd_pctl, unsigned int id) in sprd_pinctrl_get_pin_by_id() argument
176 struct sprd_pinctrl_soc_info *info = sprd_pctl->info; in sprd_pinctrl_get_pin_by_id()
191 sprd_pinctrl_find_group_by_name(struct sprd_pinctrl *sprd_pctl, in sprd_pinctrl_find_group_by_name() argument
194 struct sprd_pinctrl_soc_info *info = sprd_pctl->info; in sprd_pinctrl_find_group_by_name()
881 struct sprd_pinctrl *sprd_pctl, in sprd_pinctrl_parse_groups() argument
894 grp->pins = devm_kcalloc(sprd_pctl->dev, in sprd_pinctrl_parse_groups()
901 ret = sprd_pinctrl_get_id_by_name(sprd_pctl, pin_name); in sprd_pinctrl_parse_groups()
907 dev_dbg(sprd_pctl->dev, in sprd_pinctrl_parse_groups()
931 static int sprd_pinctrl_parse_dt(struct sprd_pinctrl *sprd_pctl) in sprd_pinctrl_parse_dt() argument
933 struct sprd_pinctrl_soc_info *info = sprd_pctl->info; in sprd_pinctrl_parse_dt()
934 struct device_node *np = sprd_pctl->dev->of_node; in sprd_pinctrl_parse_dt()
947 info->groups = devm_kcalloc(sprd_pctl->dev, in sprd_pinctrl_parse_dt()
954 info->grp_names = devm_kcalloc(sprd_pctl->dev, in sprd_pinctrl_parse_dt()
964 ret = sprd_pinctrl_parse_groups(child, sprd_pctl, grp); in sprd_pinctrl_parse_dt()
976 sprd_pctl, grp); in sprd_pinctrl_parse_dt()
992 static int sprd_pinctrl_add_pins(struct sprd_pinctrl *sprd_pctl, in sprd_pinctrl_add_pins() argument
996 struct sprd_pinctrl_soc_info *info = sprd_pctl->info; in sprd_pinctrl_add_pins()
1002 info->pins = devm_kcalloc(sprd_pctl->dev, in sprd_pinctrl_add_pins()
1016 pin->reg = (unsigned long)sprd_pctl->base + in sprd_pinctrl_add_pins()
1022 pin->reg = (unsigned long)sprd_pctl->base + in sprd_pinctrl_add_pins()
1027 pin->reg = (unsigned long)sprd_pctl->base + in sprd_pinctrl_add_pins()
1034 dev_dbg(sprd_pctl->dev, "pin name[%s-%d], type = %d, " in sprd_pinctrl_add_pins()
1047 struct sprd_pinctrl *sprd_pctl; in sprd_pinctrl_core_probe() local
1052 sprd_pctl = devm_kzalloc(&pdev->dev, sizeof(struct sprd_pinctrl), in sprd_pinctrl_core_probe()
1054 if (!sprd_pctl) in sprd_pinctrl_core_probe()
1057 sprd_pctl->base = devm_platform_ioremap_resource(pdev, 0); in sprd_pinctrl_core_probe()
1058 if (IS_ERR(sprd_pctl->base)) in sprd_pinctrl_core_probe()
1059 return PTR_ERR(sprd_pctl->base); in sprd_pinctrl_core_probe()
1067 sprd_pctl->info = pinctrl_info; in sprd_pinctrl_core_probe()
1068 sprd_pctl->dev = &pdev->dev; in sprd_pinctrl_core_probe()
1069 platform_set_drvdata(pdev, sprd_pctl); in sprd_pinctrl_core_probe()
1071 ret = sprd_pinctrl_add_pins(sprd_pctl, sprd_soc_pin_info, pins_cnt); in sprd_pinctrl_core_probe()
1077 ret = sprd_pinctrl_parse_dt(sprd_pctl); in sprd_pinctrl_core_probe()
1100 sprd_pctl->pctl = pinctrl_register(&sprd_pinctrl_desc, in sprd_pinctrl_core_probe()
1101 &pdev->dev, (void *)sprd_pctl); in sprd_pinctrl_core_probe()
1102 if (IS_ERR(sprd_pctl->pctl)) { in sprd_pinctrl_core_probe()
1104 return PTR_ERR(sprd_pctl->pctl); in sprd_pinctrl_core_probe()
1113 struct sprd_pinctrl *sprd_pctl = platform_get_drvdata(pdev); in sprd_pinctrl_remove() local
1115 pinctrl_unregister(sprd_pctl->pctl); in sprd_pinctrl_remove()