|
@@ -1189,19 +1189,16 @@ struct pinctrl_state *pinctrl_lookup_state(struct pinctrl *p,
|
|
EXPORT_SYMBOL_GPL(pinctrl_lookup_state);
|
|
EXPORT_SYMBOL_GPL(pinctrl_lookup_state);
|
|
|
|
|
|
/**
|
|
/**
|
|
- * pinctrl_select_state() - select/activate/program a pinctrl state to HW
|
|
|
|
|
|
+ * pinctrl_commit_state() - select/activate/program a pinctrl state to HW
|
|
* @p: the pinctrl handle for the device that requests configuration
|
|
* @p: the pinctrl handle for the device that requests configuration
|
|
* @state: the state handle to select/activate/program
|
|
* @state: the state handle to select/activate/program
|
|
*/
|
|
*/
|
|
-int pinctrl_select_state(struct pinctrl *p, struct pinctrl_state *state)
|
|
|
|
|
|
+static int pinctrl_commit_state(struct pinctrl *p, struct pinctrl_state *state)
|
|
{
|
|
{
|
|
struct pinctrl_setting *setting, *setting2;
|
|
struct pinctrl_setting *setting, *setting2;
|
|
struct pinctrl_state *old_state = p->state;
|
|
struct pinctrl_state *old_state = p->state;
|
|
int ret;
|
|
int ret;
|
|
|
|
|
|
- if (p->state == state)
|
|
|
|
- return 0;
|
|
|
|
-
|
|
|
|
if (p->state) {
|
|
if (p->state) {
|
|
/*
|
|
/*
|
|
* For each pinmux setting in the old state, forget SW's record
|
|
* For each pinmux setting in the old state, forget SW's record
|
|
@@ -1265,6 +1262,19 @@ unapply_new_state:
|
|
|
|
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * pinctrl_select_state() - select/activate/program a pinctrl state to HW
|
|
|
|
+ * @p: the pinctrl handle for the device that requests configuration
|
|
|
|
+ * @state: the state handle to select/activate/program
|
|
|
|
+ */
|
|
|
|
+int pinctrl_select_state(struct pinctrl *p, struct pinctrl_state *state)
|
|
|
|
+{
|
|
|
|
+ if (p->state == state)
|
|
|
|
+ return 0;
|
|
|
|
+
|
|
|
|
+ return pinctrl_commit_state(p, state);
|
|
|
|
+}
|
|
EXPORT_SYMBOL_GPL(pinctrl_select_state);
|
|
EXPORT_SYMBOL_GPL(pinctrl_select_state);
|
|
|
|
|
|
static void devm_pinctrl_release(struct device *dev, void *res)
|
|
static void devm_pinctrl_release(struct device *dev, void *res)
|
|
@@ -1430,7 +1440,7 @@ void pinctrl_unregister_map(const struct pinctrl_map *map)
|
|
int pinctrl_force_sleep(struct pinctrl_dev *pctldev)
|
|
int pinctrl_force_sleep(struct pinctrl_dev *pctldev)
|
|
{
|
|
{
|
|
if (!IS_ERR(pctldev->p) && !IS_ERR(pctldev->hog_sleep))
|
|
if (!IS_ERR(pctldev->p) && !IS_ERR(pctldev->hog_sleep))
|
|
- return pinctrl_select_state(pctldev->p, pctldev->hog_sleep);
|
|
|
|
|
|
+ return pinctrl_commit_state(pctldev->p, pctldev->hog_sleep);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
EXPORT_SYMBOL_GPL(pinctrl_force_sleep);
|
|
EXPORT_SYMBOL_GPL(pinctrl_force_sleep);
|
|
@@ -1442,7 +1452,7 @@ EXPORT_SYMBOL_GPL(pinctrl_force_sleep);
|
|
int pinctrl_force_default(struct pinctrl_dev *pctldev)
|
|
int pinctrl_force_default(struct pinctrl_dev *pctldev)
|
|
{
|
|
{
|
|
if (!IS_ERR(pctldev->p) && !IS_ERR(pctldev->hog_default))
|
|
if (!IS_ERR(pctldev->p) && !IS_ERR(pctldev->hog_default))
|
|
- return pinctrl_select_state(pctldev->p, pctldev->hog_default);
|
|
|
|
|
|
+ return pinctrl_commit_state(pctldev->p, pctldev->hog_default);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
EXPORT_SYMBOL_GPL(pinctrl_force_default);
|
|
EXPORT_SYMBOL_GPL(pinctrl_force_default);
|