Lines Matching defs:sprd_pctl
161 static int sprd_pinctrl_get_id_by_name(struct sprd_pinctrl *sprd_pctl,
164 struct sprd_pinctrl_soc_info *info = sprd_pctl->info;
176 sprd_pinctrl_get_pin_by_id(struct sprd_pinctrl *sprd_pctl, unsigned int id)
178 struct sprd_pinctrl_soc_info *info = sprd_pctl->info;
193 sprd_pinctrl_find_group_by_name(struct sprd_pinctrl *sprd_pctl,
196 struct sprd_pinctrl_soc_info *info = sprd_pctl->info;
883 struct sprd_pinctrl *sprd_pctl,
896 grp->pins = devm_kcalloc(sprd_pctl->dev,
903 ret = sprd_pinctrl_get_id_by_name(sprd_pctl, pin_name);
909 dev_dbg(sprd_pctl->dev,
933 static int sprd_pinctrl_parse_dt(struct sprd_pinctrl *sprd_pctl)
935 struct sprd_pinctrl_soc_info *info = sprd_pctl->info;
936 struct device_node *np = sprd_pctl->dev->of_node;
949 info->groups = devm_kcalloc(sprd_pctl->dev,
956 info->grp_names = devm_kcalloc(sprd_pctl->dev,
966 ret = sprd_pinctrl_parse_groups(child, sprd_pctl, grp);
978 sprd_pctl, grp);
994 static int sprd_pinctrl_add_pins(struct sprd_pinctrl *sprd_pctl,
998 struct sprd_pinctrl_soc_info *info = sprd_pctl->info;
1004 info->pins = devm_kcalloc(sprd_pctl->dev,
1018 pin->reg = (unsigned long)sprd_pctl->base +
1024 pin->reg = (unsigned long)sprd_pctl->base +
1029 pin->reg = (unsigned long)sprd_pctl->base +
1036 dev_dbg(sprd_pctl->dev, "pin name[%s-%d], type = %d, "
1049 struct sprd_pinctrl *sprd_pctl;
1054 sprd_pctl = devm_kzalloc(&pdev->dev, sizeof(struct sprd_pinctrl),
1056 if (!sprd_pctl)
1059 sprd_pctl->base = devm_platform_ioremap_resource(pdev, 0);
1060 if (IS_ERR(sprd_pctl->base))
1061 return PTR_ERR(sprd_pctl->base);
1069 sprd_pctl->info = pinctrl_info;
1070 sprd_pctl->dev = &pdev->dev;
1071 platform_set_drvdata(pdev, sprd_pctl);
1073 ret = sprd_pinctrl_add_pins(sprd_pctl, sprd_soc_pin_info, pins_cnt);
1079 ret = sprd_pinctrl_parse_dt(sprd_pctl);
1102 sprd_pctl->pctl = pinctrl_register(&sprd_pinctrl_desc,
1103 &pdev->dev, (void *)sprd_pctl);
1104 if (IS_ERR(sprd_pctl->pctl)) {
1106 return PTR_ERR(sprd_pctl->pctl);
1115 struct sprd_pinctrl *sprd_pctl = platform_get_drvdata(pdev);
1117 pinctrl_unregister(sprd_pctl->pctl);