On Thu, Feb 06, 2020 at 04:44:42PM +0800, Chuanhong Guo wrote: This looks good, just a couple of comments below: > --- /dev/null > +++ b/drivers/spi/spi-ar934x.c > @@ -0,0 +1,230 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * SPI controller driver for Qualcomm Atheros AR934x/QCA95xx SoCs Please make the entire comment block a C++ one so things look more intentional. > +static int ar934x_spi_transfer_one(struct spi_controller *master, > + struct spi_message *m) > +{ > + struct ar934x_spi *sp = spi_controller_get_devdata(master); > + struct spi_transfer *t = NULL; ... > + > + m->actual_length = 0; > + list_for_each_entry(t, &m->transfers, transfer_list) { It looks like this could just be a transfer_one() operation instead of transfer_one_message() (which is what this is in spite of the name)? There's nothing custom outside this loop that I can see.