Re: [PATCH v2 2/2] i2c-mux-gpmux: Support settle-time-us property
From: Peter Rosin <hidden>
Date: 2021-10-30 22:31:46
Also in:
linux-i2c, lkml
On 2021-10-28 14:53, Horatiu Vultur wrote:
quoted hunk ↗ jump to hunk
Add support for settle-time-us property. If this is defined in device tree then add this delay to mux APIs. Signed-off-by: Lars Povlsen <redacted> Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com> --- drivers/i2c/muxes/i2c-mux-gpmux.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)diff --git a/drivers/i2c/muxes/i2c-mux-gpmux.c b/drivers/i2c/muxes/i2c-mux-gpmux.c index d3acd8d66c32..569de1d8fdc1 100644 --- a/drivers/i2c/muxes/i2c-mux-gpmux.c +++ b/drivers/i2c/muxes/i2c-mux-gpmux.c@@ -16,6 +16,7 @@ struct mux { struct mux_control *control; + u32 delay_us; bool do_not_deselect; };@@ -25,7 +26,7 @@ static int i2c_mux_select(struct i2c_mux_core *muxc, u32 chan) struct mux *mux = i2c_mux_priv(muxc); int ret; - ret = mux_control_select(mux->control, chan); + ret = mux_control_select_delay(mux->control, chan, mux->delay_us); mux->do_not_deselect = ret < 0; return ret;@@ -89,6 +90,9 @@ static int i2c_mux_probe(struct platform_device *pdev) return dev_err_probe(dev, PTR_ERR(mux->control), "failed to get control-mux\n"); + mux->delay_us = 0; + of_property_read_u32(np, "settle-time-us", &mux->delay_us);
Some nitpicks, zeroing out the variable is not needed (the memory has been cleared already) and I would like this a bit further down next to digging out the mux-locked property. Cheers, Peter
+ parent = mux_parent_adapter(dev); if (IS_ERR(parent)) return dev_err_probe(dev, PTR_ERR(parent),