Lines Matching full:sppctl
23 #include <dt-bindings/pinctrl/sppctl-sp7021.h>
28 #include "sppctl.h"
849 * 'include/dt-binging/pinctrl/sppctl.h'). in sppctl_dt_node_to_map()
993 struct sppctl_pdata *sppctl = platform_get_drvdata(pdev); in sppctl_group_groups() local
997 sppctl->unq_grps_sz = sppctl_gpio_list_sz; in sppctl_group_groups()
1000 sppctl->unq_grps_sz += sppctl_list_funcs[i].gnum; in sppctl_group_groups()
1002 sppctl->unq_grps = devm_kcalloc(&pdev->dev, sppctl->unq_grps_sz + 1, in sppctl_group_groups()
1003 sizeof(*sppctl->unq_grps), GFP_KERNEL); in sppctl_group_groups()
1004 if (!sppctl->unq_grps) in sppctl_group_groups()
1007 sppctl->g2fp_maps = devm_kcalloc(&pdev->dev, sppctl->unq_grps_sz + 1, in sppctl_group_groups()
1008 sizeof(*sppctl->g2fp_maps), GFP_KERNEL); in sppctl_group_groups()
1009 if (!sppctl->g2fp_maps) in sppctl_group_groups()
1014 sppctl->unq_grps[i] = sppctl_gpio_list_s[i]; in sppctl_group_groups()
1015 sppctl->g2fp_maps[i].f_idx = 0; in sppctl_group_groups()
1016 sppctl->g2fp_maps[i].g_idx = i; in sppctl_group_groups()
1026 sppctl->unq_grps[j] = sppctl_list_funcs[i].grps[k].name; in sppctl_group_groups()
1027 sppctl->g2fp_maps[j].f_idx = i; in sppctl_group_groups()
1028 sppctl->g2fp_maps[j].g_idx = k; in sppctl_group_groups()
1038 struct sppctl_pdata *sppctl = platform_get_drvdata(pdev); in sppctl_pinctrl_init() local
1041 sppctl->pctl_desc.owner = THIS_MODULE; in sppctl_pinctrl_init()
1042 sppctl->pctl_desc.name = dev_name(&pdev->dev); in sppctl_pinctrl_init()
1043 sppctl->pctl_desc.pins = sppctl_pins_all; in sppctl_pinctrl_init()
1044 sppctl->pctl_desc.npins = sppctl_pins_all_sz; in sppctl_pinctrl_init()
1045 sppctl->pctl_desc.pctlops = &sppctl_pctl_ops; in sppctl_pinctrl_init()
1046 sppctl->pctl_desc.confops = &sppctl_pconf_ops; in sppctl_pinctrl_init()
1047 sppctl->pctl_desc.pmxops = &sppctl_pinmux_ops; in sppctl_pinctrl_init()
1053 err = devm_pinctrl_register_and_init(&pdev->dev, &sppctl->pctl_desc, in sppctl_pinctrl_init()
1054 sppctl, &sppctl->pctl_dev); in sppctl_pinctrl_init()
1058 pinctrl_enable(sppctl->pctl_dev); in sppctl_pinctrl_init()
1062 static int sppctl_resource_map(struct platform_device *pdev, struct sppctl_pdata *sppctl) in sppctl_resource_map() argument
1064 sppctl->moon2_base = devm_platform_ioremap_resource_byname(pdev, "moon2"); in sppctl_resource_map()
1065 if (IS_ERR(sppctl->moon2_base)) in sppctl_resource_map()
1066 return PTR_ERR(sppctl->moon2_base); in sppctl_resource_map()
1068 sppctl->gpioxt_base = devm_platform_ioremap_resource_byname(pdev, "gpioxt"); in sppctl_resource_map()
1069 if (IS_ERR(sppctl->gpioxt_base)) in sppctl_resource_map()
1070 return PTR_ERR(sppctl->gpioxt_base); in sppctl_resource_map()
1072 sppctl->first_base = devm_platform_ioremap_resource_byname(pdev, "first"); in sppctl_resource_map()
1073 if (IS_ERR(sppctl->first_base)) in sppctl_resource_map()
1074 return PTR_ERR(sppctl->first_base); in sppctl_resource_map()
1076 sppctl->moon1_base = devm_platform_ioremap_resource_byname(pdev, "moon1"); in sppctl_resource_map()
1077 if (IS_ERR(sppctl->moon1_base)) in sppctl_resource_map()
1078 return PTR_ERR(sppctl->moon1_base); in sppctl_resource_map()
1085 struct sppctl_pdata *sppctl; in sppctl_probe() local
1088 sppctl = devm_kzalloc(&pdev->dev, sizeof(*sppctl), GFP_KERNEL); in sppctl_probe()
1089 if (!sppctl) in sppctl_probe()
1091 platform_set_drvdata(pdev, sppctl); in sppctl_probe()
1093 ret = sppctl_resource_map(pdev, sppctl); in sppctl_probe()
1097 ret = sppctl_gpio_new(pdev, sppctl); in sppctl_probe()
1105 pinctrl_add_gpio_range(sppctl->pctl_dev, &sppctl->pctl_grange); in sppctl_probe()