Lines Matching refs:sprd_pctl

157 static int sprd_pinctrl_get_id_by_name(struct sprd_pinctrl *sprd_pctl,  in sprd_pinctrl_get_id_by_name()  argument
160 struct sprd_pinctrl_soc_info *info = sprd_pctl->info; in sprd_pinctrl_get_id_by_name()
172 sprd_pinctrl_get_pin_by_id(struct sprd_pinctrl *sprd_pctl, unsigned int id) in sprd_pinctrl_get_pin_by_id() argument
174 struct sprd_pinctrl_soc_info *info = sprd_pctl->info; in sprd_pinctrl_get_pin_by_id()
189 sprd_pinctrl_find_group_by_name(struct sprd_pinctrl *sprd_pctl, in sprd_pinctrl_find_group_by_name() argument
192 struct sprd_pinctrl_soc_info *info = sprd_pctl->info; in sprd_pinctrl_find_group_by_name()
844 struct sprd_pinctrl *sprd_pctl, in sprd_pinctrl_parse_groups() argument
857 grp->pins = devm_kcalloc(sprd_pctl->dev, in sprd_pinctrl_parse_groups()
864 ret = sprd_pinctrl_get_id_by_name(sprd_pctl, pin_name); in sprd_pinctrl_parse_groups()
870 dev_dbg(sprd_pctl->dev, in sprd_pinctrl_parse_groups()
894 static int sprd_pinctrl_parse_dt(struct sprd_pinctrl *sprd_pctl) in sprd_pinctrl_parse_dt() argument
896 struct sprd_pinctrl_soc_info *info = sprd_pctl->info; in sprd_pinctrl_parse_dt()
897 struct device_node *np = sprd_pctl->dev->of_node; in sprd_pinctrl_parse_dt()
910 info->groups = devm_kcalloc(sprd_pctl->dev, in sprd_pinctrl_parse_dt()
917 info->grp_names = devm_kcalloc(sprd_pctl->dev, in sprd_pinctrl_parse_dt()
927 ret = sprd_pinctrl_parse_groups(child, sprd_pctl, grp); in sprd_pinctrl_parse_dt()
939 sprd_pctl, grp); in sprd_pinctrl_parse_dt()
955 static int sprd_pinctrl_add_pins(struct sprd_pinctrl *sprd_pctl, in sprd_pinctrl_add_pins() argument
959 struct sprd_pinctrl_soc_info *info = sprd_pctl->info; in sprd_pinctrl_add_pins()
965 info->pins = devm_kcalloc(sprd_pctl->dev, in sprd_pinctrl_add_pins()
979 pin->reg = (unsigned long)sprd_pctl->base + in sprd_pinctrl_add_pins()
985 pin->reg = (unsigned long)sprd_pctl->base + in sprd_pinctrl_add_pins()
990 pin->reg = (unsigned long)sprd_pctl->base + in sprd_pinctrl_add_pins()
997 dev_dbg(sprd_pctl->dev, "pin name[%s-%d], type = %d, " in sprd_pinctrl_add_pins()
1010 struct sprd_pinctrl *sprd_pctl; in sprd_pinctrl_core_probe() local
1015 sprd_pctl = devm_kzalloc(&pdev->dev, sizeof(struct sprd_pinctrl), in sprd_pinctrl_core_probe()
1017 if (!sprd_pctl) in sprd_pinctrl_core_probe()
1020 sprd_pctl->base = devm_platform_ioremap_resource(pdev, 0); in sprd_pinctrl_core_probe()
1021 if (IS_ERR(sprd_pctl->base)) in sprd_pinctrl_core_probe()
1022 return PTR_ERR(sprd_pctl->base); in sprd_pinctrl_core_probe()
1030 sprd_pctl->info = pinctrl_info; in sprd_pinctrl_core_probe()
1031 sprd_pctl->dev = &pdev->dev; in sprd_pinctrl_core_probe()
1032 platform_set_drvdata(pdev, sprd_pctl); in sprd_pinctrl_core_probe()
1034 ret = sprd_pinctrl_add_pins(sprd_pctl, sprd_soc_pin_info, pins_cnt); in sprd_pinctrl_core_probe()
1040 ret = sprd_pinctrl_parse_dt(sprd_pctl); in sprd_pinctrl_core_probe()
1063 sprd_pctl->pctl = pinctrl_register(&sprd_pinctrl_desc, in sprd_pinctrl_core_probe()
1064 &pdev->dev, (void *)sprd_pctl); in sprd_pinctrl_core_probe()
1065 if (IS_ERR(sprd_pctl->pctl)) { in sprd_pinctrl_core_probe()
1067 return PTR_ERR(sprd_pctl->pctl); in sprd_pinctrl_core_probe()
1075 struct sprd_pinctrl *sprd_pctl = platform_get_drvdata(pdev); in sprd_pinctrl_remove() local
1077 pinctrl_unregister(sprd_pctl->pctl); in sprd_pinctrl_remove()