|
@@ -101,10 +101,11 @@ struct pinctrl_dev *of_pinctrl_get(struct device_node *np)
|
|
|
}
|
|
|
|
|
|
static int dt_to_map_one_config(struct pinctrl *p,
|
|
|
- struct pinctrl_dev *pctldev,
|
|
|
+ struct pinctrl_dev *hog_pctldev,
|
|
|
const char *statename,
|
|
|
struct device_node *np_config)
|
|
|
{
|
|
|
+ struct pinctrl_dev *pctldev = NULL;
|
|
|
struct device_node *np_pctldev;
|
|
|
const struct pinctrl_ops *ops;
|
|
|
int ret;
|
|
@@ -123,8 +124,10 @@ static int dt_to_map_one_config(struct pinctrl *p,
|
|
|
return -EPROBE_DEFER;
|
|
|
}
|
|
|
/* If we're creating a hog we can use the passed pctldev */
|
|
|
- if (pctldev && (np_pctldev == p->dev->of_node))
|
|
|
+ if (hog_pctldev && (np_pctldev == p->dev->of_node)) {
|
|
|
+ pctldev = hog_pctldev;
|
|
|
break;
|
|
|
+ }
|
|
|
pctldev = get_pinctrl_dev_from_of_node(np_pctldev);
|
|
|
if (pctldev)
|
|
|
break;
|