Lines Matching refs:state
62 * pinctrl_provide_dummies() - indicate if pinctrl provides dummy state support
67 * with creating a dummy state for the driver to keep going smoothly.
917 struct pinctrl_state *state;
919 list_for_each_entry(state, &p->states, node)
920 if (!strcmp(state->name, name))
921 return state;
929 struct pinctrl_state *state;
931 state = kzalloc(sizeof(*state), GFP_KERNEL);
932 if (!state)
935 state->name = name;
936 INIT_LIST_HEAD(&state->settings);
938 list_add_tail(&state->node, &p->states);
940 return state;
946 struct pinctrl_state *state;
950 state = find_state(p, map->name);
951 if (!state)
952 state = create_state(p, map->name);
953 if (IS_ERR(state))
954 return PTR_ERR(state);
1003 list_add_tail(&setting->node, &state->settings);
1036 * create the state cookie holder struct pinctrl for each
1157 struct pinctrl_state *state, *n1;
1161 list_for_each_entry_safe(state, n1, &p->states, node) {
1162 list_for_each_entry_safe(setting, n2, &state->settings, node) {
1163 pinctrl_free_setting(state == p->state, setting);
1167 list_del(&state->node);
1168 kfree(state);
1201 * pinctrl_lookup_state() - retrieves a state handle from a pinctrl handle
1202 * @p: the pinctrl handle to retrieve the state from
1203 * @name: the state name to retrieve
1208 struct pinctrl_state *state;
1210 state = find_state(p, name);
1211 if (!state) {
1213 /* create dummy state */
1214 dev_dbg(p->dev, "using pinctrl dummy state (%s)\n",
1216 state = create_state(p, name);
1218 state = ERR_PTR(-ENODEV);
1221 return state;
1235 * pinctrl_commit_state() - select/activate/program a pinctrl state to HW
1237 * @state: the state handle to select/activate/program
1239 static int pinctrl_commit_state(struct pinctrl *p, struct pinctrl_state *state)
1242 struct pinctrl_state *old_state = READ_ONCE(p->state);
1247 * For each pinmux setting in the old state, forget SW's record
1249 * still owned by the new state will be re-acquired by the call
1259 p->state = NULL;
1261 /* Apply all the settings for the new state */
1262 list_for_each_entry(setting, &state->settings, node) {
1285 p->state = state;
1292 list_for_each_entry(setting2, &state->settings, node) {
1306 /* There's no infinite recursive loop here because p->state is NULL */
1314 * pinctrl_select_state() - select/activate/program a pinctrl state to HW
1316 * @state: the state handle to select/activate/program
1318 int pinctrl_select_state(struct pinctrl *p, struct pinctrl_state *state)
1320 if (p->state == state)
1323 return pinctrl_commit_state(p, state);
1476 * pinctrl_force_sleep() - turn a given controller device into sleep state
1488 * pinctrl_force_default() - turn a given controller device into default state
1503 * driver selected some other state.
1516 return 0; /* No such state */
1518 if (pins->p->state != pins->init_state)
1522 return 0; /* No default state */
1526 dev_err(dev, "failed to activate default pinctrl state\n");
1532 struct pinctrl_state *state)
1537 if (IS_ERR(state))
1538 return 0; /* No such state */
1539 ret = pinctrl_select_state(pins->p, state);
1541 dev_err(dev, "failed to activate pinctrl state %s\n",
1542 state->name);
1547 * pinctrl_select_default_state() - select default pinctrl state
1548 * @dev: device to select default state for
1562 * pinctrl_pm_select_default_state() - select default pinctrl state for PM
1563 * @dev: device to select default state for
1572 * pinctrl_pm_select_sleep_state() - select sleep pinctrl state for PM
1573 * @dev: device to select sleep state for
1585 * pinctrl_pm_select_idle_state() - select idle pinctrl state for PM
1586 * @dev: device to select idle state for
1823 struct pinctrl_state *state;
1831 seq_printf(s, "device: %s current state: %s\n",
1833 p->state ? p->state->name : "none");
1835 list_for_each_entry(state, &p->states, node) {
1836 seq_printf(s, " state: %s\n", state->name);
1838 list_for_each_entry(setting, &state->settings, node) {
2054 "failed to lookup the default state\n");
2059 "failed to select default state\n");
2067 "failed to lookup the sleep state\n");