summaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl/pinctrl.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pinctrl/pinctrl.c')
-rw-r--r--drivers/pinctrl/pinctrl.c24
1 files changed, 18 insertions, 6 deletions
diff --git a/drivers/pinctrl/pinctrl.c b/drivers/pinctrl/pinctrl.c
index 7c797d35bc..de8361d15f 100644
--- a/drivers/pinctrl/pinctrl.c
+++ b/drivers/pinctrl/pinctrl.c
@@ -49,7 +49,7 @@ static int pinctrl_config_one(struct device_node *np)
return pdev->ops->set_state(pdev, np);
}
-int pinctrl_select_state(struct device_d *dev, const char *name)
+int of_pinctrl_select_state(struct device_node *np, const char *name)
{
int state, ret;
char *propname;
@@ -57,13 +57,9 @@ int pinctrl_select_state(struct device_d *dev, const char *name)
const __be32 *list;
int size, config;
phandle phandle;
- struct device_node *np_config, *np;
+ struct device_node *np_config;
const char *statename;
- np = dev->device_node;
- if (!np)
- return 0;
-
if (!of_find_property(np, "pinctrl-0", NULL))
return 0;
@@ -125,6 +121,22 @@ err:
return ret;
}
+int of_pinctrl_select_state_default(struct device_node *np)
+{
+ return of_pinctrl_select_state(np, "default");
+}
+
+int pinctrl_select_state(struct device_d *dev, const char *name)
+{
+ struct device_node *np;
+
+ np = dev->device_node;
+ if (!np)
+ return 0;
+
+ return of_pinctrl_select_state(np, name);
+}
+
int pinctrl_select_state_default(struct device_d *dev)
{
return pinctrl_select_state(dev, "default");