[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5c7c584cd02f9960600b321a4561406440175873.camel@analog.com>
Date: Wed, 4 Dec 2019 07:25:29 +0000
From: "Ardelean, Alexandru" <alexandru.Ardelean@...log.com>
To: "jic23@...nel.org" <jic23@...nel.org>
CC: "kernel-usp@...glegroups.com" <kernel-usp@...glegroups.com>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"devel@...verdev.osuosl.org" <devel@...verdev.osuosl.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"pmeerw@...erw.net" <pmeerw@...erw.net>,
"knaack.h@....de" <knaack.h@....de>,
"Hennerich, Michael" <Michael.Hennerich@...log.com>,
"lars@...afoo.de" <lars@...afoo.de>,
"Popa, Stefan Serban" <StefanSerban.Popa@...log.com>,
"rodrigorsdc@...il.com" <rodrigorsdc@...il.com>,
"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 Sun, 2019-12-01 at 11:42 +0000, Jonathan Cameron wrote:
> [External]
>
> On Mon, 25 Nov 2019 07:55:39 +0000
> "Ardelean, Alexandru" <alexandru.Ardelean@...log.com> wrote:
>
> > 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.
>
> It's a good question as this sort of trick is used sometimes. Let's see
> what responses we get to the other branch of this thread before moving
> forwards
> with this.
>
Coming back here.
Apologies to Rodrigo. I do realize that I delayed this a bit too much.
Let's have this series as-is here, and then we can see about a more generic
SPI Mode Converter driver that rounds-up all these weird boards.
Or, if we don't do any SPI mode converter drivers, then we can handle this
on a case-by-case basis/driver.
> Jonathan
>
>
> > 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