Lines Matching full:foo*
64 const struct pinctrl_pin_desc foo_pins[] = {
74 static struct pinctrl_desc foo_desc = {
75 .name = "foo",
76 .pins = foo_pins,
77 .npins = ARRAY_SIZE(foo_pins),
81 int __init foo_probe(void)
87 error = pinctrl_register_and_init(&foo_desc, <PARENT>,
139 struct foo_group {
148 static const struct foo_group foo_groups[] = {
162 static int foo_get_groups_count(struct pinctrl_dev *pctldev)
164 return ARRAY_SIZE(foo_groups);
167 static const char *foo_get_group_name(struct pinctrl_dev *pctldev,
170 return foo_groups[selector].name;
173 static int foo_get_group_pins(struct pinctrl_dev *pctldev, unsigned selector,
177 *pins = (unsigned *) foo_groups[selector].pins;
178 *num_pins = foo_groups[selector].num_pins;
182 static struct pinctrl_ops foo_pctrl_ops = {
183 .get_groups_count = foo_get_groups_count,
184 .get_group_name = foo_get_group_name,
185 .get_group_pins = foo_get_group_pins,
189 static struct pinctrl_desc foo_desc = {
191 .pctlops = &foo_pctrl_ops,
226 static int foo_pin_config_get(struct pinctrl_dev *pctldev,
237 static int foo_pin_config_set(struct pinctrl_dev *pctldev,
250 static int foo_pin_config_group_get (struct pinctrl_dev *pctldev,
257 static int foo_pin_config_group_set (struct pinctrl_dev *pctldev,
264 static struct pinconf_ops foo_pconf_ops = {
265 .pin_config_get = foo_pin_config_get,
266 .pin_config_set = foo_pin_config_set,
267 .pin_config_group_get = foo_pin_config_group_get,
268 .pin_config_group_set = foo_pin_config_group_set,
272 static struct pinctrl_desc foo_desc = {
274 .confops = &foo_pconf_ops,
362 group "foo"::
364 pinctrl_get_group_pins(pctl, "foo", &gpio_range.pins,
582 struct foo_group {
595 static const struct foo_group foo_groups[] = {
629 static int foo_get_groups_count(struct pinctrl_dev *pctldev)
631 return ARRAY_SIZE(foo_groups);
634 static const char *foo_get_group_name(struct pinctrl_dev *pctldev,
637 return foo_groups[selector].name;
640 static int foo_get_group_pins(struct pinctrl_dev *pctldev, unsigned selector,
644 *pins = (unsigned *) foo_groups[selector].pins;
645 *num_pins = foo_groups[selector].num_pins;
649 static struct pinctrl_ops foo_pctrl_ops = {
650 .get_groups_count = foo_get_groups_count,
651 .get_group_name = foo_get_group_name,
652 .get_group_pins = foo_get_group_pins,
655 struct foo_pmx_func {
666 static const struct foo_pmx_func foo_functions[] = {
684 static int foo_get_functions_count(struct pinctrl_dev *pctldev)
686 return ARRAY_SIZE(foo_functions);
689 static const char *foo_get_fname(struct pinctrl_dev *pctldev, unsigned selector)
691 return foo_functions[selector].name;
694 static int foo_get_groups(struct pinctrl_dev *pctldev, unsigned selector,
698 *groups = foo_functions[selector].groups;
699 *num_groups = foo_functions[selector].num_groups;
703 static int foo_set_mux(struct pinctrl_dev *pctldev, unsigned selector,
712 static struct pinmux_ops foo_pmxops = {
713 .get_functions_count = foo_get_functions_count,
714 .get_function_name = foo_get_fname,
715 .get_function_groups = foo_get_groups,
716 .set_mux = foo_set_mux,
721 static struct pinctrl_desc foo_desc = {
723 .pctlops = &foo_pctrl_ops,
724 .pmxops = &foo_pmxops,
948 PIN_MAP_MUX_GROUP("uart", PINCTRL_STATE_DEFAULT, "pinctrl-foo",
950 PIN_MAP_CONFIGS_PIN("uart", PINCTRL_STATE_DEFAULT, "pinctrl-foo",
952 PIN_MAP_MUX_GROUP("uart", PINCTRL_STATE_SLEEP, "pinctrl-foo",
954 PIN_MAP_CONFIGS_PIN("uart", PINCTRL_STATE_SLEEP, "pinctrl-foo",
958 foo_init(void) {
1004 .dev_name = "foo-spi.0",
1007 .ctrl_dev_name = "pinctrl-foo",
1011 .dev_name = "foo-i2c.0",
1014 .ctrl_dev_name = "pinctrl-foo",
1018 .dev_name = "foo-mmc.0",
1021 .ctrl_dev_name = "pinctrl-foo",
1038 it even more compact which assumes you want to use pinctrl-foo and position
1042 PIN_MAP_MUX_GROUP("foo-i2c.o", PINCTRL_STATE_DEFAULT,
1043 "pinctrl-foo", NULL, "i2c0"),
1052 FOO_PIN_DRIVEN,
1053 FOO_PIN_PULLUP,
1057 FOO_OPEN_COLLECTOR,
1058 FOO_SLEW_RATE_SLOW,
1062 PIN_MAP_MUX_GROUP("foo-i2c.0", PINCTRL_STATE_DEFAULT,
1063 "pinctrl-foo", "i2c0", "i2c0"),
1064 PIN_MAP_CONFIGS_GROUP("foo-i2c.0", PINCTRL_STATE_DEFAULT,
1065 "pinctrl-foo", "i2c0", i2c_grp_configs),
1066 PIN_MAP_CONFIGS_PIN("foo-i2c.0", PINCTRL_STATE_DEFAULT,
1067 "pinctrl-foo", "i2c0scl", i2c_pin_configs),
1068 PIN_MAP_CONFIGS_PIN("foo-i2c.0", PINCTRL_STATE_DEFAULT,
1069 "pinctrl-foo", "i2c0sda", i2c_pin_configs),
1080 PIN_MAP_DUMMY_STATE("foo-i2c.0", PINCTRL_STATE_DEFAULT),
1092 .dev_name = "foo-spi.0",
1095 .ctrl_dev_name = "pinctrl-foo",
1100 .dev_name = "foo-spi.0",
1103 .ctrl_dev_name = "pinctrl-foo",
1120 .dev_name = "foo-mmc.0",
1123 .ctrl_dev_name = "pinctrl-foo",
1128 .dev_name = "foo-mmc.0",
1131 .ctrl_dev_name = "pinctrl-foo",
1136 .dev_name = "foo-mmc.0",
1139 .ctrl_dev_name = "pinctrl-foo",
1144 .dev_name = "foo-mmc.0",
1147 .ctrl_dev_name = "pinctrl-foo",
1152 .dev_name = "foo-mmc.0",
1155 .ctrl_dev_name = "pinctrl-foo",
1160 .dev_name = "foo-mmc.0",
1163 .ctrl_dev_name = "pinctrl-foo",
1218 struct foo_state {
1224 foo_probe()
1226 /* Allocate a state holder named "foo" etc */
1227 struct foo_state *foo = ...;
1229 foo->p = devm_pinctrl_get(&device);
1230 if (IS_ERR(foo->p)) {
1231 /* FIXME: clean up "foo" here */
1232 return PTR_ERR(foo->p);
1235 foo->s = pinctrl_lookup_state(foo->p, PINCTRL_STATE_DEFAULT);
1236 if (IS_ERR(foo->s)) {
1237 /* FIXME: clean up "foo" here */
1241 ret = pinctrl_select_state(foo->s);
1243 /* FIXME: clean up "foo" here */
1317 gpio = devm_gpio_request(&dev, 14, "foo");
1359 .dev_name = "pinctrl-foo",
1362 .ctrl_dev_name = "pinctrl-foo",
1370 PIN_MAP_MUX_GROUP_HOG_DEFAULT("pinctrl-foo", NULL /* group */,
1386 This snippet first initializes a state object for both groups (in foo_probe()),
1395 foo_probe()
1402 s1 = pinctrl_lookup_state(foo->p, "pos-A");
1406 s2 = pinctrl_lookup_state(foo->p, "pos-B");
1411 foo_switch()