All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] spi: spidev: Introduce SPI_IOC_WR_DEFAULT_MAX_SPEED_HZ command
@ 2017-05-09 12:23 ` Seraphime Kirkovski
  0 siblings, 0 replies; 15+ messages in thread
From: Seraphime Kirkovski @ 2017-05-09 12:23 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux-spi, broonie, Seraphime Kirkovski

Historically SPI_IOC_WR_MAX_SPEED_HZ was changing the ->max_speed_hz field
of the underlying struct spi_dev, which made the effects last way after
releasing one particular /dev/spidev* fd.

This changed in 9169051617df7 ("spi: spidev: Don't mangle max_speed_hz
in underlying spi device") or 7 years after the introduction of
SPI_IOC_WR_MAX_SPEED_HZ ! In the mean time there were userspace tools
developped with the assumptions that the effects of this particular
command are system-wide. [1] is a suite of two small programs for
reading, writing and configuring SPI interfaces. The `spi-config -s`
part was working good in our setup with old 3.x kernels. We discovered
this "regression" when we tried to port our workflow to newer kernels.

I think, this change is necessary, on the one hand, because there are still
a lot of longterm[2] supported kernels out there, whose users may be relying on
SPI_IOC_WR_MAX_SPEED being system-wide and, on the other hand, this
same command has been exhibiting a different behaviour for 3 years now,
so its users may break, if 9169051617df7 is reverted in one way or
another.

The semantics of the proposed command are the same as the old
SPI_IOC_WR_MAX_SPEED_HZ.

[1] https://github.com/cpb-/spi-tools
[2] A quick check on kernel.org shows that all 3.x with longterm support
    have not applied 9169051617df7

Seraphime Kirkovski (2):
  spi: spidev: introduce SPI_IOC_WR_DEFAULT_MAX_SPEED_HZ command
  spi: spidev: document SPI_IOC_WR_DEFAULT_MAX_SPEED_HZ

 Documentation/spi/spidev        | 7 +++++++
 drivers/spi/spidev.c            | 8 ++++++--
 include/uapi/linux/spi/spidev.h | 4 +++-
 3 files changed, 16 insertions(+), 3 deletions(-)

-- 
2.13.0.rc1

^ permalink raw reply	[flat|nested] 15+ messages in thread
* [PATCH 1/2] spi: spidev: introduce SPI_IOC_WR_DEFAULT_MAX_SPEED_HZ command
@ 2017-05-15  8:17 Seraphime Kirkovski
  2017-05-17  9:04   ` Mark Brown
  0 siblings, 1 reply; 15+ messages in thread
From: Seraphime Kirkovski @ 2017-05-15  8:17 UTC (permalink / raw)
  To: Mark Brown; +Cc: linux-kernel, linux-spi

christophe.blaess@gmail.com, fred@haapie.com
Bcc: Subject: Re: [PATCH 1/2] spi: spidev: introduce
 SPI_IOC_WR_DEFAULT_MAX_SPEED_HZ command
Reply-To: 
In-Reply-To: <20170514092716.kqx634djffgj32r6@sirena.org.uk>

On Sun, May 14, 2017 at 06:27:16PM +0900, Mark Brown wrote:
> On Tue, May 09, 2017 at 02:24:00PM +0200, Seraphime Kirkovski wrote:
> 
> > I think, this change is necessary, on the one hand, because there are still
> > a lot of longterm[2] supported kernels out there, whose users may be relying on
> > SPI_IOC_WR_MAX_SPEED being system-wide and, on the other hand, this
> > same command has been exhibiting a different behaviour for 3 years now,
> > so its users may break, if 9169051617df7 is reverted in one way or
> > another.
> 
> Do we have any evidence that such users exist?  

I can't guarantee for other such users, but this change did disturb our 
workflow. We were using this feature to prototype and test 
hardware/firmware at different speeds.

I was thinking this morning that maybe a sysfs interface will be better 
for setting global settings. Do you prefer ?

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2017-05-17  9:04 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-09 12:23 [PATCH 0/2] spi: spidev: Introduce SPI_IOC_WR_DEFAULT_MAX_SPEED_HZ command Seraphime Kirkovski
2017-05-09 12:23 ` Seraphime Kirkovski
2017-05-09 12:24 ` [PATCH 1/2] spi: spidev: introduce " Seraphime Kirkovski
2017-05-14  9:27   ` Mark Brown
2017-05-14  9:27     ` Mark Brown
2017-05-09 12:24 ` [PATCH 2/2] spi: spidev: document SPI_IOC_WR_DEFAULT_MAX_SPEED_HZ Seraphime Kirkovski
2017-05-14  9:27   ` Mark Brown
2017-05-15  8:17     ` Seraphime Kirkovski
2017-05-15  7:34 ` [PATCH 0/2] spi: spidev: Introduce SPI_IOC_WR_DEFAULT_MAX_SPEED_HZ command Seraphime Kirkovski
2017-05-15  7:34   ` Seraphime Kirkovski
2017-05-15 10:35   ` Mark Brown
2017-05-15 10:35     ` Mark Brown
2017-05-15  8:17 [PATCH 1/2] spi: spidev: introduce " Seraphime Kirkovski
2017-05-17  9:04 ` Mark Brown
2017-05-17  9:04   ` Mark Brown

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.