int mux_control_try_select_delay()

in core.c [389:405]


int mux_control_try_select_delay(struct mux_control *mux, unsigned int state,
				 unsigned int delay_us)
{
	int ret;

	if (down_trylock(&mux->lock))
		return -EBUSY;

	ret = __mux_control_select(mux, state);
	if (ret >= 0)
		mux_control_delay(mux, delay_us);

	if (ret < 0)
		up(&mux->lock);

	return ret;
}