[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2e62b4fa3ee93909bfcdc4d9b60015e7c22d510c.camel@analog.com>
Date: Mon, 25 Nov 2019 07:55:39 +0000
From: "Ardelean, Alexandru" <alexandru.Ardelean@...log.com>
To: "Popa, Stefan Serban" <StefanSerban.Popa@...log.com>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"jic23@...nel.org" <jic23@...nel.org>,
"knaack.h@....de" <knaack.h@....de>,
"Hennerich, Michael" <Michael.Hennerich@...log.com>,
"lars@...afoo.de" <lars@...afoo.de>,
"rodrigorsdc@...il.com" <rodrigorsdc@...il.com>,
"pmeerw@...erw.net" <pmeerw@...erw.net>
CC: "kernel-usp@...glegroups.com" <kernel-usp@...glegroups.com>,
"devel@...verdev.osuosl.org" <devel@...verdev.osuosl.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-iio@...r.kernel.org" <linux-iio@...r.kernel.org>
Subject: Re: [PATCH v5 1/2] staging: iio: accel: adis16240: enforce SPI mode
on probe function
On Sat, 2019-11-23 at 20:35 -0300, Rodrigo Carvalho wrote:
> [External]
>
> According to the datasheet, this driver supports only SPI mode 3,
> so we should enforce it and call spi_setup() on probe function.
>
> Signed-off-by: Rodrigo Ribeiro Carvalho <rodrigorsdc@...il.com>
> ---
> V5:
> - Add this patch to the patchset
>
> drivers/staging/iio/accel/adis16240.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/staging/iio/accel/adis16240.c
> b/drivers/staging/iio/accel/adis16240.c
> index 82099db4bf0c..77b6b81767b9 100644
> --- a/drivers/staging/iio/accel/adis16240.c
> +++ b/drivers/staging/iio/accel/adis16240.c
> @@ -400,6 +400,13 @@ static int adis16240_probe(struct spi_device *spi)
> indio_dev->num_channels = ARRAY_SIZE(adis16240_channels);
> indio_dev->modes = INDIO_DIRECT_MODE;
>
> + spi->mode = SPI_MODE_3;
A generic question from me here, since I am not sure.
Would this limit the configurations of this chip on the board?
In case there is some level-inverter [for various weird reasons] on the
board, this may not work, because the SPI controller would need CPOL to be
0.
Not sure if this question is valid, or whether we need to care about such
configurations.
Thanks
Alex
> + ret = spi_setup(spi);
> + if (ret) {
> + dev_err(&spi->dev, "spi_setup failed!\n");
> + return ret;
> + }
> +
> ret = adis_init(st, indio_dev, spi, &adis16240_data);
> if (ret)
> return ret;
Powered by blists - more mailing lists