aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@ingics.com>2016-04-25 19:31:15 -0400
committerMark Brown <broonie@kernel.org>2016-04-26 06:14:35 -0400
commit2452ee25255af95d122ff66ea390facb67a61fc3 (patch)
treee9e883355365be9bc176b4949b689503dfe3117d
parent1bcb9f8ceb67803960871ecf4ed2d365a2a919c8 (diff)
spi: pic32: Set proper bits_per_word_mask
This driver only supports 8/16/32 bits_per_word, so set master->bits_per_word_mask accordingly. With this change, we can remove the spi->bits_per_word checking in pic32_spi_setup as it's done by spi core. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--drivers/spi/spi-pic32.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/drivers/spi/spi-pic32.c b/drivers/spi/spi-pic32.c
index f8313ea11a34..4eeb8a85b030 100644
--- a/drivers/spi/spi-pic32.c
+++ b/drivers/spi/spi-pic32.c
@@ -592,16 +592,6 @@ static int pic32_spi_setup(struct spi_device *spi)
592 return -EINVAL; 592 return -EINVAL;
593 } 593 }
594 594
595 switch (spi->bits_per_word) {
596 case 8:
597 case 16:
598 case 32:
599 break;
600 default:
601 dev_err(&spi->dev, "Invalid bits_per_word defined\n");
602 return -EINVAL;
603 }
604
605 /* PIC32 spi controller can drive /CS during transfer depending 595 /* PIC32 spi controller can drive /CS during transfer depending
606 * on tx fifo fill-level. /CS will stay asserted as long as TX 596 * on tx fifo fill-level. /CS will stay asserted as long as TX
607 * fifo is non-empty, else will be deasserted indicating 597 * fifo is non-empty, else will be deasserted indicating
@@ -791,7 +781,8 @@ static int pic32_spi_probe(struct platform_device *pdev)
791 master->setup = pic32_spi_setup; 781 master->setup = pic32_spi_setup;
792 master->cleanup = pic32_spi_cleanup; 782 master->cleanup = pic32_spi_cleanup;
793 master->flags = SPI_MASTER_MUST_TX | SPI_MASTER_MUST_RX; 783 master->flags = SPI_MASTER_MUST_TX | SPI_MASTER_MUST_RX;
794 master->bits_per_word_mask = SPI_BPW_RANGE_MASK(8, 32); 784 master->bits_per_word_mask = SPI_BPW_MASK(8) | SPI_BPW_MASK(16) |
785 SPI_BPW_MASK(32);
795 master->transfer_one = pic32_spi_one_transfer; 786 master->transfer_one = pic32_spi_one_transfer;
796 master->prepare_message = pic32_spi_prepare_message; 787 master->prepare_message = pic32_spi_prepare_message;
797 master->unprepare_message = pic32_spi_unprepare_message; 788 master->unprepare_message = pic32_spi_unprepare_message;