Lines Matching full:mux
3 * mux/driver.h - definitions for the multiplexer driver interface
13 #include <dt-bindings/mux/mux.h>
21 * struct mux_control_ops - Mux controller operations for a mux chip.
22 * @set: Set the state of the given mux controller.
25 int (*set)(struct mux_control *mux, int state);
29 * struct mux_control - Represents a mux controller.
30 * @lock: Protects the mux controller state.
31 * @chip: The mux chip that is handling this mux controller.
32 * @cached_state: The current mux controller state, or -1 if none.
33 * @states: The number of mux controller states.
34 * @idle_state: The mux controller state to use when inactive, or one
37 * Mux drivers may only change @states and @idle_state, and may only do so
38 * between allocation and registration of the mux controller. Specifically,
39 * @cached_state is internal to the mux core and should never be written by
40 * mux drivers.
43 struct semaphore lock; /* protects the state of the mux */
53 * struct mux_chip - Represents a chip holding mux controllers.
54 * @controllers: Number of mux controllers handled by the chip.
55 * @mux: Array of mux controllers that are handled.
58 * @ops: Mux controller operations.
62 struct mux_control *mux; member
73 * @mux_chip: The mux-chip to get the private memory from.
79 return &mux_chip->mux[mux_chip->controllers]; in mux_chip_priv()
94 * mux_control_get_index() - Get the index of the given mux controller
95 * @mux: The mux-control to get the index for.
97 * Return: The index of the mux controller within the mux chip the mux
100 static inline unsigned int mux_control_get_index(struct mux_control *mux) in mux_control_get_index() argument
102 return mux - mux->chip->mux; in mux_control_get_index()