Merge branch 'ib-pinctrl-default-state' into devel

This commit is contained in:
Linus Walleij 2019-12-16 09:02:13 +01:00
commit c1ca05c23e
2 changed files with 26 additions and 15 deletions

View File

@ -1535,15 +1535,8 @@ int pinctrl_init_done(struct device *dev)
return ret;
}
#ifdef CONFIG_PM
/**
* pinctrl_pm_select_state() - select pinctrl state for PM
* @dev: device to select default state for
* @state: state to set
*/
static int pinctrl_pm_select_state(struct device *dev,
struct pinctrl_state *state)
static int pinctrl_select_bound_state(struct device *dev,
struct pinctrl_state *state)
{
struct dev_pin_info *pins = dev->pins;
int ret;
@ -1557,16 +1550,28 @@ static int pinctrl_pm_select_state(struct device *dev,
return ret;
}
/**
* pinctrl_select_default_state() - select default pinctrl state
* @dev: device to select default state for
*/
int pinctrl_select_default_state(struct device *dev)
{
if (!dev->pins)
return 0;
return pinctrl_select_bound_state(dev, dev->pins->default_state);
}
EXPORT_SYMBOL_GPL(pinctrl_select_default_state);
#ifdef CONFIG_PM
/**
* pinctrl_pm_select_default_state() - select default pinctrl state for PM
* @dev: device to select default state for
*/
int pinctrl_pm_select_default_state(struct device *dev)
{
if (!dev->pins)
return 0;
return pinctrl_pm_select_state(dev, dev->pins->default_state);
return pinctrl_select_default_state(dev);
}
EXPORT_SYMBOL_GPL(pinctrl_pm_select_default_state);
@ -1579,7 +1584,7 @@ int pinctrl_pm_select_sleep_state(struct device *dev)
if (!dev->pins)
return 0;
return pinctrl_pm_select_state(dev, dev->pins->sleep_state);
return pinctrl_select_bound_state(dev, dev->pins->sleep_state);
}
EXPORT_SYMBOL_GPL(pinctrl_pm_select_sleep_state);
@ -1592,7 +1597,7 @@ int pinctrl_pm_select_idle_state(struct device *dev)
if (!dev->pins)
return 0;
return pinctrl_pm_select_state(dev, dev->pins->idle_state);
return pinctrl_select_bound_state(dev, dev->pins->idle_state);
}
EXPORT_SYMBOL_GPL(pinctrl_pm_select_idle_state);
#endif

View File

@ -40,6 +40,7 @@ extern int pinctrl_select_state(struct pinctrl *p, struct pinctrl_state *s);
extern struct pinctrl * __must_check devm_pinctrl_get(struct device *dev);
extern void devm_pinctrl_put(struct pinctrl *p);
extern int pinctrl_select_default_state(struct device *dev);
#ifdef CONFIG_PM
extern int pinctrl_pm_select_default_state(struct device *dev);
@ -122,6 +123,11 @@ static inline void devm_pinctrl_put(struct pinctrl *p)
{
}
static inline int pinctrl_select_default_state(struct device *dev)
{
return 0;
}
static inline int pinctrl_pm_select_default_state(struct device *dev)
{
return 0;