staging:iio:ad2s90: Add max frequency check at probe
authorAlexandru Ardelean <alexandru.ardelean@analog.com>
Sat, 24 Nov 2018 00:23:08 +0000 (22:23 -0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 1 Dec 2018 15:35:33 +0000 (15:35 +0000)
commit11d509adfbe04f9eff49a17eed5d686472b435f4
tree521d8596af703182f0ed0488c7963174a7b9267b
parenta996590baddca587d91d07e264d2649b84788b17
staging:iio:ad2s90: Add max frequency check at probe

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>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/staging/iio/resolver/ad2s90.c