From: Barry Song Date: Tue, 6 Apr 2010 03:36:24 +0000 (+0000) Subject: spi/bfin_spi: warn when CS is driven by hardware (CPHA=0) X-Git-Tag: firefly_0821_release~7613^2~3710^2~2^2~3 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=4190f6a51f3f9c7c8298202d31b3ead9381c33f1;p=firefly-linux-kernel-4.4.55.git spi/bfin_spi: warn when CS is driven by hardware (CPHA=0) When the hardware is controlling the CS, there are some SPI options we are unable to support. So issue a warning in the hopes that the user will change to a SPI mode where we can support things sanely. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger --- diff --git a/drivers/spi/spi_bfin5xx.c b/drivers/spi/spi_bfin5xx.c index 7882afcd580f..21de8605dbce 100644 --- a/drivers/spi/spi_bfin5xx.c +++ b/drivers/spi/spi_bfin5xx.c @@ -1040,9 +1040,14 @@ static int bfin_spi_setup(struct spi_device *spi) */ chip->baud = hz_to_spi_baud(spi->max_speed_hz); chip->chip_select_num = spi->chip_select; - if (chip->chip_select_num < MAX_CTRL_CS) + if (chip->chip_select_num < MAX_CTRL_CS) { + if (!(spi->mode & SPI_CPHA)) + dev_warn(&spi->dev, "Warning: SPI CPHA not set:" + " Slave Select not under software control!\n" + " See Documentation/blackfin/bfin-spi-notes.txt"); + chip->flag = (1 << spi->chip_select) << 8; - else + } else chip->cs_gpio = chip->chip_select_num - MAX_CTRL_CS; if (chip->enable_dma && chip->pio_interrupt) {