@@ -689,10 +689,12 @@ static int __spi_add_device(struct spi_device *spi)
689689 * Make sure that multiple logical CS doesn't map to the same physical CS.
690690 * For example, spi->chip_select[0] != spi->chip_select[1] and so on.
691691 */
692- for (idx = 0 ; idx < SPI_CS_CNT_MAX ; idx ++ ) {
693- status = spi_dev_check_cs (dev , spi , idx , spi , idx + 1 );
694- if (status )
695- return status ;
692+ if (!spi_controller_is_target (ctlr )) {
693+ for (idx = 0 ; idx < SPI_CS_CNT_MAX ; idx ++ ) {
694+ status = spi_dev_check_cs (dev , spi , idx , spi , idx + 1 );
695+ if (status )
696+ return status ;
697+ }
696698 }
697699
698700 /* Set the bus ID string */
@@ -4132,7 +4134,8 @@ static int __spi_validate(struct spi_device *spi, struct spi_message *message)
41324134 return - EINVAL ;
41334135 if (xfer -> tx_nbits != SPI_NBITS_SINGLE &&
41344136 xfer -> tx_nbits != SPI_NBITS_DUAL &&
4135- xfer -> tx_nbits != SPI_NBITS_QUAD )
4137+ xfer -> tx_nbits != SPI_NBITS_QUAD &&
4138+ xfer -> tx_nbits != SPI_NBITS_OCTAL )
41364139 return - EINVAL ;
41374140 if ((xfer -> tx_nbits == SPI_NBITS_DUAL ) &&
41384141 !(spi -> mode & (SPI_TX_DUAL | SPI_TX_QUAD )))
@@ -4147,7 +4150,8 @@ static int __spi_validate(struct spi_device *spi, struct spi_message *message)
41474150 return - EINVAL ;
41484151 if (xfer -> rx_nbits != SPI_NBITS_SINGLE &&
41494152 xfer -> rx_nbits != SPI_NBITS_DUAL &&
4150- xfer -> rx_nbits != SPI_NBITS_QUAD )
4153+ xfer -> rx_nbits != SPI_NBITS_QUAD &&
4154+ xfer -> rx_nbits != SPI_NBITS_OCTAL )
41514155 return - EINVAL ;
41524156 if ((xfer -> rx_nbits == SPI_NBITS_DUAL ) &&
41534157 !(spi -> mode & (SPI_RX_DUAL | SPI_RX_QUAD )))
0 commit comments