mirror of
https://github.com/lkl/linux.git
synced 2025-12-19 16:13:19 +09:00
mux: Add support for reading mux state from consumer DT node
In some cases, we might need to provide the state of the mux to be set for the operation of a given peripheral. Therefore, pass this information using mux-states property. Link: https://lore.kernel.org/lkml/20211123081222.27979-1-a-govindraju@ti.com Signed-off-by: Aswath Govindraju <a-govindraju@ti.com> Signed-off-by: Peter Rosin <peda@axentia.se> (minor edits) Link: https://lore.kernel.org/r/aac25be8-9515-a980-f7cb-709938c84822@axentia.se Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
b2fb28dedd
commit
84564481bc
@@ -14,14 +14,19 @@
|
||||
|
||||
struct device;
|
||||
struct mux_control;
|
||||
struct mux_state;
|
||||
|
||||
unsigned int mux_control_states(struct mux_control *mux);
|
||||
int __must_check mux_control_select_delay(struct mux_control *mux,
|
||||
unsigned int state,
|
||||
unsigned int delay_us);
|
||||
int __must_check mux_state_select_delay(struct mux_state *mstate,
|
||||
unsigned int delay_us);
|
||||
int __must_check mux_control_try_select_delay(struct mux_control *mux,
|
||||
unsigned int state,
|
||||
unsigned int delay_us);
|
||||
int __must_check mux_state_try_select_delay(struct mux_state *mstate,
|
||||
unsigned int delay_us);
|
||||
|
||||
static inline int __must_check mux_control_select(struct mux_control *mux,
|
||||
unsigned int state)
|
||||
@@ -29,18 +34,31 @@ static inline int __must_check mux_control_select(struct mux_control *mux,
|
||||
return mux_control_select_delay(mux, state, 0);
|
||||
}
|
||||
|
||||
static inline int __must_check mux_state_select(struct mux_state *mstate)
|
||||
{
|
||||
return mux_state_select_delay(mstate, 0);
|
||||
}
|
||||
|
||||
static inline int __must_check mux_control_try_select(struct mux_control *mux,
|
||||
unsigned int state)
|
||||
{
|
||||
return mux_control_try_select_delay(mux, state, 0);
|
||||
}
|
||||
|
||||
static inline int __must_check mux_state_try_select(struct mux_state *mstate)
|
||||
{
|
||||
return mux_state_try_select_delay(mstate, 0);
|
||||
}
|
||||
|
||||
int mux_control_deselect(struct mux_control *mux);
|
||||
int mux_state_deselect(struct mux_state *mstate);
|
||||
|
||||
struct mux_control *mux_control_get(struct device *dev, const char *mux_name);
|
||||
void mux_control_put(struct mux_control *mux);
|
||||
|
||||
struct mux_control *devm_mux_control_get(struct device *dev,
|
||||
const char *mux_name);
|
||||
struct mux_state *devm_mux_state_get(struct device *dev,
|
||||
const char *mux_name);
|
||||
|
||||
#endif /* _LINUX_MUX_CONSUMER_H */
|
||||
|
||||
Reference in New Issue
Block a user