Re: [PATCH 11/17] i3c: renesas: Follow a unified pattern for transfer and command initialization
Frank Li <[email protected]>
| Newsgroups | org.infradead.lists.linux-i3c,org.kernel.vger.linux-kernel,org.kernel.vger.linux-renesas-soc |
|---|---|
| Message-ID | <ahCszHJ5_IKCf75D@lizhi-Precision-Tower-5810> |
On Fri, May 22, 2026 at 01:18:09PM +0300, Claudiu Beznea wrote: > From: Claudiu Beznea <[email protected]> > > Follow a unified pattern for transfer and command initialization across > the driver. This keeps the code cleaner and easier to follow. Also, in > some cases the I3C device was enabled before the transfer data structure > was even allocated. > > Signed-off-by: Claudiu Beznea <[email protected]> > --- Reviewed-by: Frank Li <[email protected]> > drivers/i3c/master/renesas-i3c.c | 22 +++++++++++----------- > 1 file changed, 11 insertions(+), 11 deletions(-) > > diff --git a/drivers/i3c/master/renesas-i3c.c b/drivers/i3c/master/renesas-i3c.c > index de75125eb013..12bf4797a70d 100644 > --- a/drivers/i3c/master/renesas-i3c.c > +++ b/drivers/i3c/master/renesas-i3c.c > @@ -648,6 +648,10 @@ static int renesas_i3c_daa(struct i3c_master_controller *m) > if (!xfer) > return -ENOMEM; > > + init_completion(&xfer->comp); > + cmd = xfer->cmds; > + cmd->rx_count = 0; > + > /* Enable I3C bus. */ > renesas_i3c_bus_enable(m, true); > > @@ -669,10 +673,6 @@ static int renesas_i3c_daa(struct i3c_master_controller *m) > renesas_writel(i3c->regs, DATBAS(pos), datbas_dvdyad_with_parity(ret)); > } > > - init_completion(&xfer->comp); > - cmd = xfer->cmds; > - cmd->rx_count = 0; > - > ret = renesas_i3c_get_free_pos(i3c); > if (ret < 0) > return ret; > @@ -760,13 +760,13 @@ static int renesas_i3c_send_ccc_cmd(struct i3c_master_controller *m, > if (!xfer) > return -ENOMEM; > > - renesas_i3c_bus_enable(m, true); > - > init_completion(&xfer->comp); > cmd = xfer->cmds; > cmd->rnw = ccc->rnw; > cmd->cmd0 = 0; > > + renesas_i3c_bus_enable(m, true); > + > /* Calculate the command descriptor. */ > switch (ccc->id) { > case I3C_CCC_SETDASA: > @@ -816,15 +816,15 @@ static int renesas_i3c_i3c_xfers(struct i3c_dev_desc *dev, struct i3c_xfer *i3c_ > struct renesas_i3c_i2c_dev_data *data = i3c_dev_get_master_data(dev); > int i; > > - /* Enable I3C bus. */ > - renesas_i3c_bus_enable(m, true); > - > struct renesas_i3c_xfer *xfer __free(kfree) = renesas_i3c_alloc_xfer(i3c, 1); > if (!xfer) > return -ENOMEM; > > init_completion(&xfer->comp); > > + /* Enable I3C bus. */ > + renesas_i3c_bus_enable(m, true); > + > for (i = 0; i < i3c_nxfers; i++) { > struct renesas_i3c_cmd *cmd = xfer->cmds; > > @@ -947,12 +947,12 @@ static int renesas_i3c_i2c_xfers(struct i2c_dev_desc *dev, > if (!xfer) > return -ENOMEM; > > - renesas_i3c_bus_enable(m, false); > - > init_completion(&xfer->comp); > xfer->is_i2c_xfer = true; > cmd = xfer->cmds; > > + renesas_i3c_bus_enable(m, false); > + > if (!(renesas_readl(i3c->regs, BCST) & BCST_BFREF)) { > cmd->err = -EBUSY; > return cmd->err; > -- > 2.43.0 > -- linux-i3c mailing list [email protected] http://lists.infradead.org/mailman/listinfo/linux-i3c