mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* SPI chip select problem
@ 2012-06-25  7:45 Antony Pavlov
  2012-06-25  8:53 ` Johannes Stezenbach
  0 siblings, 1 reply; 4+ messages in thread
From: Antony Pavlov @ 2012-06-25  7:45 UTC (permalink / raw)
  To: barebox

Hi!

I have added spi controller driver for one of my MIPS boards and
found, that there is a problem with chip select.

During initialisation we call *_spi_setup() method. It switch chip
select and frequency for every probing spi slave chip.
But after initialisation __we never__ call this method. So if I have
more than 1 spi slave chip, I can use only last of them.

There is the 'cs_change' flag for *_spi_transfer() method, but this
flag does not used at all!

I have made quick-and-dirty patch:

--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -196,6 +196,8 @@ EXPORT_SYMBOL(spi_register_master);

 int spi_sync(struct spi_device *spi, struct spi_message *message)
 {
+       spi->master->setup(spi);
+
        return spi->master->transfer(spi, message);
 }

-- 
Best regards,
  Antony Pavlov

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

end of thread, other threads:[~2012-06-25 10:49 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-25  7:45 SPI chip select problem Antony Pavlov
2012-06-25  8:53 ` Johannes Stezenbach
2012-06-25 10:07   ` Antony Pavlov
2012-06-25 10:48     ` Johannes Stezenbach

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox