|
@@ -58,15 +58,20 @@ static unsigned long minors[N_SPI_MINORS / BITS_PER_LONG];
|
|
|
|
|
|
|
|
|
/* Bit masks for spi_device.mode management. Note that incorrect
|
|
|
- * settings for CS_HIGH and 3WIRE can cause *lots* of trouble for other
|
|
|
- * devices on a shared bus: CS_HIGH, because this device will be
|
|
|
- * active when it shouldn't be; 3WIRE, because when active it won't
|
|
|
- * behave as it should.
|
|
|
+ * settings for some settings can cause *lots* of trouble for other
|
|
|
+ * devices on a shared bus:
|
|
|
*
|
|
|
- * REVISIT should changing those two modes be privileged?
|
|
|
+ * - CS_HIGH ... this device will be active when it shouldn't be
|
|
|
+ * - 3WIRE ... when active, it won't behave as it should
|
|
|
+ * - NO_CS ... there will be no explicit message boundaries; this
|
|
|
+ * is completely incompatible with the shared bus model
|
|
|
+ * - READY ... transfers may proceed when they shouldn't.
|
|
|
+ *
|
|
|
+ * REVISIT should changing those flags be privileged?
|
|
|
*/
|
|
|
#define SPI_MODE_MASK (SPI_CPHA | SPI_CPOL | SPI_CS_HIGH \
|
|
|
- | SPI_LSB_FIRST | SPI_3WIRE | SPI_LOOP)
|
|
|
+ | SPI_LSB_FIRST | SPI_3WIRE | SPI_LOOP \
|
|
|
+ | SPI_NO_CS | SPI_READY)
|
|
|
|
|
|
struct spidev_data {
|
|
|
dev_t devt;
|