atmel_spi: allow transfer when max_speed_hz = 0
For some reason I have to slowdown clock to touchscreen device. In atmel_spi_setup() there is comment that max_speed_hz == 0 means as slow as possible and divider is set to maximum value. But in atmel_spi_transfer() function is check against not zero max_speed_hz with EINVAL returned. Probably driver should setup divider for each transfer based on transfer->speed_hz value, but I think that would be not necessary overhead as all used devices have constant clock. Below patch works fine for me. Signed-off-by: Stanislaw Gruszka <stf_xl@wp.pl> Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
1f14081d8b
commit
5b96f17290
|
@ -670,8 +670,7 @@ static int atmel_spi_transfer(struct spi_device *spi, struct spi_message *msg)
|
|||
dev_dbg(controller, "new message %p submitted for %s\n",
|
||||
msg, spi->dev.bus_id);
|
||||
|
||||
if (unlikely(list_empty(&msg->transfers)
|
||||
|| !spi->max_speed_hz))
|
||||
if (unlikely(list_empty(&msg->transfers)))
|
||||
return -EINVAL;
|
||||
|
||||
if (as->stopping)
|
||||
|
|
Loading…
Reference in New Issue