Commit c1ca05c2 authored by Linus Walleij's avatar Linus Walleij
Browse files

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

parents 15711ba6 55d54d1e
Loading
Loading
Loading
Loading
+19 −14
Original line number Original line Diff line number Diff line
@@ -1535,14 +1535,7 @@ int pinctrl_init_done(struct device *dev)
	return ret;
	return ret;
}
}


#ifdef CONFIG_PM
static int pinctrl_select_bound_state(struct device *dev,

/**
 * 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)
				      struct pinctrl_state *state)
{
{
	struct dev_pin_info *pins = dev->pins;
	struct dev_pin_info *pins = dev->pins;
@@ -1558,15 +1551,27 @@ static int pinctrl_pm_select_state(struct device *dev,
}
}


/**
/**
 * pinctrl_pm_select_default_state() - select default pinctrl state for PM
 * pinctrl_select_default_state() - select default pinctrl state
 * @dev: device to select default state for
 * @dev: device to select default state for
 */
 */
int pinctrl_pm_select_default_state(struct device *dev)
int pinctrl_select_default_state(struct device *dev)
{
{
	if (!dev->pins)
	if (!dev->pins)
		return 0;
		return 0;


	return pinctrl_pm_select_state(dev, dev->pins->default_state);
	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)
{
	return pinctrl_select_default_state(dev);
}
}
EXPORT_SYMBOL_GPL(pinctrl_pm_select_default_state);
EXPORT_SYMBOL_GPL(pinctrl_pm_select_default_state);


@@ -1579,7 +1584,7 @@ int pinctrl_pm_select_sleep_state(struct device *dev)
	if (!dev->pins)
	if (!dev->pins)
		return 0;
		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);
EXPORT_SYMBOL_GPL(pinctrl_pm_select_sleep_state);


@@ -1592,7 +1597,7 @@ int pinctrl_pm_select_idle_state(struct device *dev)
	if (!dev->pins)
	if (!dev->pins)
		return 0;
		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);
EXPORT_SYMBOL_GPL(pinctrl_pm_select_idle_state);
#endif
#endif
+6 −0
Original line number Original line Diff line number Diff line
@@ -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 struct pinctrl * __must_check devm_pinctrl_get(struct device *dev);
extern void devm_pinctrl_put(struct pinctrl *p);
extern void devm_pinctrl_put(struct pinctrl *p);
extern int pinctrl_select_default_state(struct device *dev);


#ifdef CONFIG_PM
#ifdef CONFIG_PM
extern int pinctrl_pm_select_default_state(struct device *dev);
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)
static inline int pinctrl_pm_select_default_state(struct device *dev)
{
{
	return 0;
	return 0;