From: Jonathan Cameron <jic23@kernel.org>
To: Matheus Tavares <matheus.bernardino@usp.br>
Cc: Lars-Peter Clausen <lars@metafoo.de>,
Michael Hennerich <Michael.Hennerich@analog.com>,
Hartmut Knaack <knaack.h@gmx.de>,
Peter Meerwald-Stadler <pmeerw@pmeerw.net>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
linux-iio@vger.kernel.org, devel@driverdev.osuosl.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
Alexandru Ardelean <alexandru.ardelean@analog.com>,
kernel-usp@googlegroups.com, victorcolombo@gmail.com
Subject: Re: [PATCH v3 3/7] staging:iio:ad2s90: Add max frequency check at probe
Date: Sat, 1 Dec 2018 15:37:28 +0000 [thread overview]
Message-ID: <20181201153728.387f4695@archlinux> (raw)
In-Reply-To: <20181124002312.6923-4-matheus.bernardino@usp.br>
On Fri, 23 Nov 2018 22:23:08 -0200
Matheus Tavares <matheus.bernardino@usp.br> wrote:
> From: Alexandru Ardelean <alexandru.ardelean@analog.com>
>
> This patch adds a max frequency check at the beginning of ad2s90_probe
> function so that when it is set to a value above 0.83Mhz, dev_err is
> called with an appropriate message and -EINVAL is returned.
>
> The defined limit is 0.83Mhz instead of 2Mhz, which is the chip's max
> frequency as specified in the datasheet, because, as also specified in
> the datasheet, a 600ns delay is expected between the application of a
> logic LO to CS and the application of SCLK. Since the delay is not
> implemented in the spi code, to satisfy it, SCLK's period should be at
> most 2 * 600ns, so the max frequency should be 1 / (2 * 6e-7), which
> gives roughly 830000Hz.
>
> Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
> Signed-off-by: Matheus Tavares <matheus.bernardino@usp.br>
Applied,
Thanks,
> ---
> Changes in v3:
> - none
>
> Changes in v2:
> - Correctly credit Alexandru as the patch's author
>
> drivers/staging/iio/resolver/ad2s90.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/drivers/staging/iio/resolver/ad2s90.c b/drivers/staging/iio/resolver/ad2s90.c
> index abb9b9147ee6..4721e9bbb8b0 100644
> --- a/drivers/staging/iio/resolver/ad2s90.c
> +++ b/drivers/staging/iio/resolver/ad2s90.c
> @@ -19,6 +19,12 @@
> #include <linux/iio/iio.h>
> #include <linux/iio/sysfs.h>
>
> +/*
> + * Although chip's max frequency is 2Mhz, it needs 600ns between CS and the
> + * first falling edge of SCLK, so frequency should be at most 1 / (2 * 6e-7)
> + */
> +#define AD2S90_MAX_SPI_FREQ_HZ 830000
> +
> struct ad2s90_state {
> struct mutex lock;
> struct spi_device *sdev;
> @@ -78,6 +84,12 @@ static int ad2s90_probe(struct spi_device *spi)
> struct iio_dev *indio_dev;
> struct ad2s90_state *st;
>
> + if (spi->max_speed_hz > AD2S90_MAX_SPI_FREQ_HZ) {
> + dev_err(&spi->dev, "SPI CLK, %d Hz exceeds %d Hz\n",
> + spi->max_speed_hz, AD2S90_MAX_SPI_FREQ_HZ);
> + return -EINVAL;
> + }
> +
> indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
> if (!indio_dev)
> return -ENOMEM;
next prev parent reply other threads:[~2018-12-02 2:50 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-24 0:23 [PATCH v3 0/7] staging:iio:ad2s90: Add dt support and move out of staging Matheus Tavares
2018-11-24 0:23 ` Matheus Tavares
2018-11-24 0:23 ` [PATCH v3 1/7] staging:iio:ad2s90: Add device tree support Matheus Tavares
2018-12-01 15:34 ` Jonathan Cameron
2018-12-01 15:34 ` Jonathan Cameron
2018-11-24 0:23 ` [PATCH v3 2/7] staging:iio:ad2s90: Remove spi setup that should be done via dt Matheus Tavares
2018-11-24 0:23 ` Matheus Tavares
2018-12-01 15:34 ` Jonathan Cameron
2018-12-01 15:34 ` Jonathan Cameron
2018-11-24 0:23 ` [PATCH v3 3/7] staging:iio:ad2s90: Add max frequency check at probe Matheus Tavares
2018-12-01 15:37 ` Jonathan Cameron [this message]
2018-11-24 0:23 ` [PATCH v3 4/7] dt-bindings:iio:resolver: Add docs for ad2s90 Matheus Tavares
2018-11-27 1:52 ` Rob Herring
2018-12-01 15:37 ` Jonathan Cameron
2018-11-24 0:23 ` [PATCH v3 5/7] staging:iio:ad2s90: Replace license text w/ SPDX identifier Matheus Tavares
2018-12-01 15:38 ` Jonathan Cameron
2018-12-01 15:38 ` Jonathan Cameron
2018-11-24 0:23 ` [PATCH v3 6/7] staging:iio:ad2s90: Add comment to device state mutex Matheus Tavares
2018-11-24 0:23 ` Matheus Tavares
2018-12-01 15:39 ` Jonathan Cameron
2018-12-01 15:39 ` Jonathan Cameron
2018-11-24 0:23 ` [PATCH v3 7/7] staging:iio:ad2s90: Move out of staging Matheus Tavares
2018-11-25 9:56 ` Jonathan Cameron
2018-11-25 9:56 ` Jonathan Cameron
2018-11-26 7:34 ` Ardelean, Alexandru
2018-11-26 7:34 ` Ardelean, Alexandru
2018-11-26 7:34 ` Ardelean, Alexandru
2018-12-01 15:41 ` Jonathan Cameron
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181201153728.387f4695@archlinux \
--to=jic23@kernel.org \
--cc=Michael.Hennerich@analog.com \
--cc=alexandru.ardelean@analog.com \
--cc=devel@driverdev.osuosl.org \
--cc=devicetree@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=kernel-usp@googlegroups.com \
--cc=knaack.h@gmx.de \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=matheus.bernardino@usp.br \
--cc=pmeerw@pmeerw.net \
--cc=robh+dt@kernel.org \
--cc=victorcolombo@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.