Re: [PATCH v3 2/2] spi: Add generic SPI multiplexer
From: Andy Shevchenko
Date: Thu Jan 30 2020 - 11:44:02 EST
On Mon, Jan 27, 2020 at 11:04 PM Chris Packham
<chris.packham@xxxxxxxxxxxxxxxxxxx> wrote:
>
> Add a SPI device driver that sits in-band and provides a SPI controller
> which supports chip selects via a mux-control. This enables extra SPI
> devices to be connected with limited native chip selects.
...
> obj-$(CONFIG_SPI_MEM) += spi-mem.o
> obj-$(CONFIG_SPI_SPIDEV) += spidev.o
> obj-$(CONFIG_SPI_LOOPBACK_TEST) += spi-loopback-test.o
> +obj-$(CONFIG_SPI_MUX) += spi-mux.o
Maybe after SPI_MEM ?
...
> +struct spi_mux_priv {
> + struct spi_device *spi;
> + unsigned int current_cs;
> +
> + void (*child_mesg_complete)(void *context);
> + void *child_mesg_context;
> + struct spi_device *child_mesg_dev;
mesg -> msg ?
> + struct mux_control *mux;
> +};
...
> +static int spi_mux_select(struct spi_device *spi)
> +{
> + struct spi_mux_priv *priv = spi_controller_get_devdata(spi->controller);
> + int ret = 0;
Drop this assignment...
> + if (priv->current_cs != spi->chip_select) {
...convert this to
if (cs == chip_select)
return 0;
> + dev_dbg(&priv->spi->dev,
> + "setting up the mux for cs %d\n",
> + spi->chip_select);
After above changes this perhaps fits one line (now it fits two, by
the way, not three).
> +}
--
With Best Regards,
Andy Shevchenko